panel icon indicating copy to clipboard operation
panel copied to clipboard

[Feature Request] Add groups management

Open jffz opened this issue 7 years ago • 20 comments

Would be really nice if we could do servers or users group to easily assign servers administration.

jffz avatar Feb 28 '17 07:02 jffz

Could you expand/explain this a little more?

DaneEveritt avatar Feb 28 '17 16:02 DaneEveritt

This would allow easy management of multiple servers / users, this would be really useful for community with multiple servers.

We could create a user group and then associate servers to it or even servers group to easily manage team access

jffz avatar Mar 01 '17 06:03 jffz

Really needed for real users / servers / management. I don't know how someone can handle 50 servers and a 10 man staff without groups :/

jffz avatar Oct 10 '17 06:10 jffz

it would be also a great idea to have ability to sort servers in a given order

sorbanbela avatar Oct 10 '17 06:10 sorbanbela

@Raideerke how is that related to Groups management?

schrej avatar Oct 10 '17 12:10 schrej

Example database migration:

<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddTeams extends Migration
{
    /**
     * Run the migrations.
     */
    public function up()
    {
        Schema::create('teams', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            // $table->tinyInteger('use_totp')->unsigned(); // optional, require all users on team to have 2FA
            $table->timestamps();
        });

        // Many to Many Relationship Table
        Schema::create('team_user', function (Blueprint $table) {
            // Optional PK both team_id and user_id but maybe not because of poor Laravel support
            $table->integer('team_id')->unsigned()->nullable();
            $table->foreign('team_id')->references('id')->on('teams')->onDelete('cascade');
            $table->integer('user_id')->unsigned()->nullable();
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->timestamps();
        });
    }
    /**
     * Reverse the migrations.
     */
    public function down()
    {
        Schema::dropIfExists('teams');
        Schema::dropIfExists('team_user');
    }
}

lancepioch avatar Oct 10 '17 17:10 lancepioch

So would teams be similar to organizations on Github where one user is the owner, and then you go from there.

So in this case you have a server, and Bob is the owner. Bob can create a team on that server, and then any other servers he is a member of now have that team applied to them? We should probably think this one through a bit more to make it work in the best fashion.

Regardless I don't think its a good fir for 0.7 given the deadlines I've set for it already, and the changes that we probably need to make. Would be best to save it for another release cycle.

DaneEveritt avatar Oct 10 '17 19:10 DaneEveritt

I think it should need to be implemented at all levels. The idea is to implement group for all 'objects' in ptero:

  • Users groups
  • Nodes Groups
  • Servers Groups

And from there link any usergroup to any nodegroup/servegroup or even a single node/server.

jffz avatar Oct 27 '17 16:10 jffz

Hello, is possible to make this ? Because i have one panel for manage a multiple serv

ex : I have two people from FDJ Esport, he need to manage just the node with FDJ server but in side, i have my own serv with one other admin.

so, node groups with the node fdj serv with admin fdj and node with my own server and admin with this

Iwhite67 avatar Dec 19 '17 11:12 Iwhite67

I'd love to bring this up again.

A basic group feature that would allow assigning server permissions to a group instead of a user. So then you could have several users in that group and assign that group the server specific permissions instead of a per user basis. This should also apply correctly to new users added to the group. And the user should lose permissions if they are removed from the group.

Next level would be server groups, so you can assign the permissions to users/groups of multiple servers at once.

Of course individual permissions would override the group permissions.

BrainStone avatar Sep 10 '18 08:09 BrainStone

I need this.

0xC1A551C avatar Apr 22 '19 04:04 0xC1A551C

someone asked what LDAP has to do with groups: the answer is simple LDAP is a lookup directory of linux users on a system. users have groups. groups are able to be looked up by LDAP as well. any kind of LDAP login system say for your website or anywhere else can then be translated to pterodactyl... making everything a lot smoother for server owners and people who use them. groups in pterodactyl would be assigned via LDAP as linux usergroups.

i use puffer panel right now for my needs, hosting a "game server, server farm" and tbh id LDAP was put into pterodactyl, i would switch in a heartbeat. i really honestly would donate to see this happen. i have a SSO running on my website.. i've got kanboard and wordpress and a tonne of other stuff running lime survey.. they all have LDAP. so i only have to make a staff member a single account to give them the keys to where they need to go to do their work.

and being that we're a game server server farm... the staff need to interact with the servers they're assgined to.. making me have to create multiple accounts for each staff just for the servers. while everything else is just one account via LDAP.

Mrs-Feathers avatar Nov 25 '19 02:11 Mrs-Feathers

This is super low on my priority list, and likely will not happen in any meaningful amount of time.

DaneEveritt avatar Nov 25 '19 05:11 DaneEveritt

For at-scale uses, this is definitely a necessary requirement for usage of Pterodactyl.

Currently, adding a user to a server takes around 2 minutes per server. This would be significantly reduced if this were implemented.

redstonedesigner avatar Aug 29 '20 14:08 redstonedesigner

image

Honestly, in my opinion a feature we really honestly need first is to be able to JUST ORGANIZE servers, with the form of something like a tag, etc. As you can see on my panel, there is no organization though I have ordered everything nicely so I just get this huge bundle of servers to look at. If it was possible for each user to be able to tag their servers to organize them it would be so much nicer. [I have modified the panel as you can see clearly, and I also mean tags being stored per user, not per server. If someone gets added to a server, they should be able to tag it how they like on THEIR account. Tag should have subusers in the future, so I can add my friend to the Databases tag for example, and he'll be added to every server in the tag, along with having them tagged on his account with the same name (though that tag is owned by him on his side, so can be modified by him without affecting me)

Here's an example of what I would like the panel to eventually look like:

image

Mechite avatar Feb 04 '21 12:02 Mechite

This would be an amazing feature if it was added. Being able to organise servers and users into groups would help with the way people use the panel alot. Making it much easier and quicker to add users to servers and find servers in the list of servers which can sometimes be quite long.

DrWackyBob avatar Nov 10 '21 19:11 DrWackyBob

bump

Proximity77 avatar May 18 '22 22:05 Proximity77

This feature for server grouping is a must! :D

baticag avatar Jun 02 '22 12:06 baticag

would have liked to see this feature added

timecraftno avatar Aug 13 '22 18:08 timecraftno

when

Johandrex avatar Oct 03 '22 18:10 Johandrex