plane icon indicating copy to clipboard operation
plane copied to clipboard

[feature]: Allow disabling registration for self-hosted instances

Open frereit opened this issue 1 year ago • 14 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Summary

When self-hosting, I do not want to allow anyone to register and create a workspace. Only invited users should be able to register, or it should be possible to completely disable registration so that once all users are onboarded registration can be disabled.

Why should this be worked on?

Without this feature, anyone hosting an instance must potentially maintain workspaces for other teams, or allows other people to store data on their server, which is not desirable. Additionally, when processing other users data in the EU, GDPR compliance is required so the hoster would have to deal with potential legal issues.

frereit avatar Apr 11 '23 10:04 frereit

Any update on this issue, currently have to run plane behind http basic auth which is pretty annoying and half broken

Quadrubo avatar May 19 '23 07:05 Quadrubo

Hey @Quadrubo, we are still actively working on this task as it requires significant changes to the current onboarding workflow. Due to the complexity involved, it is taking some time to complete. Rest assured, we will keep the community updated on the progress. Sorry for the inconvenience caused.

pablohashescobar avatar May 19 '23 07:05 pablohashescobar

Hi there! I'd like to update you on the current version of Plane (0.8). We have introduced a new feature that allows you to toggle signups using the ENABLE_SIGNUP environment variable. This feature provides you with control over enabling or disabling signups based on your requirements.

I'm happy to inform you that the reported issue has already been addressed and resolved in the latest version. Therefore, we are closing this issue. However, if you encounter any difficulties or have any further concerns, please don't hesitate to reopen the issue.

pablohashescobar avatar Jul 02 '23 10:07 pablohashescobar

That's issue is solved. But there is a problem that's users who are invited can create new workspaces. How can i lock this? @pablohashescobar

tranminhnhanchinh avatar Feb 22 '24 16:02 tranminhnhanchinh

I have the same issue as @tranminhnhanchinh. @pablohashescobar any updated on this issue? Invited users shouldn't be able to create their own workspaces freely.

andrey-castro-outburst avatar Mar 08 '24 17:03 andrey-castro-outburst

Hello, we are yet to prioritise this issue. Can you let me know what are the concerns here which makes you suggest we should block invited users from creating workspaces of their own?

srinivaspendem avatar Mar 10 '24 04:03 srinivaspendem

@srinivaspendem How I see it, if I invite someone to my plane instance, it can be just a regular user I want to be able to create/follow tickets on a project, but I don't want everyone I invite in my instance to be able to freely create their own workspaces. That can consume resources on my instance easily, and also it can be a way for the tool to be utilized in a way I didn't want it to be used, like tracking personal project items for users.

andrey-castro-outburst avatar Mar 11 '24 16:03 andrey-castro-outburst

I am noticing that if you created an instance with the option enabled originally. Changing it after initialization does NOT disable user registrations.

Nathan13888 avatar Mar 17 '24 22:03 Nathan13888

@Nathan13888, the option only works when the registering user does not have an invite. Also which method were you using to sign up - OAuth, Magic Code, Email Password?

pablohashescobar avatar Mar 18 '24 03:03 pablohashescobar

@pablohashescobar So it's the ENABLE_SIGNUP option. Invited users are expected to be able to sign up an account; however, a user on the internet with access to the login page shouldn't have an account automatically created otherwise :)

I ended up going into Postgres and modifying the instance_config (or named smth like that) table and modified that variable, so now it works 🥲

Nathan13888 avatar Mar 18 '24 03:03 Nathan13888

@Nathan13888, you can set this value in the god mode also.

pablohashescobar avatar Mar 18 '24 04:03 pablohashescobar

Oh hmm, I checked God mode before (and just now). I don't see that option for signups.

Nathan13888 avatar Mar 18 '24 04:03 Nathan13888

@Nathan13888, You can utilize the toggle labeled Let your users log in via the methods below in the SSO and OAuth tab to deactivate sign-up functionality. Let us know in case you need any further assistance.

prateekshourya29 avatar Mar 18 '24 08:03 prateekshourya29

Its working, IMO. However there is a issue that leads to it appearing to not work, if you create/invite a user to a workspace, then delete said user and afterwards use the email of the "deleted" user to login, it will still send a code to that user and allow him to create a workspace. I think this is unexpected, and should be resolved by deleting the user if the signup was not completed and if it was invited from the workspace where its deleted on and has no links to other workspaces.

MichaelErmer avatar Apr 12 '24 14:04 MichaelErmer

:information_source: Just as a notice, don't be confused that the 'New to Plane? Create an account' option is still visible after turning manual sign up off in god-mode. When trying to create an account and sending the form you'll be informed that 'Sign up is disabled'

image

As a question, is this intended behavior or could the 'Create an account' option be hidden when it's disabled anyways?

BentHaase avatar May 24 '24 18:05 BentHaase

feature completed ( ENABLE_SIGNUP=0 in .env), imho close.

stefanux avatar May 30 '24 10:05 stefanux

is it in the master branch or other branch: i could not find the option in the god mode. I disabled Password-based login, this allow users to be not able to sign up but i cannot login my own admin account too now. the error is ?error_code=5056&error_message=EMAIL_PASSWORD_AUTHENTICATION_DISABLED, Apologies it is in Preview build

MeowSaiGithub avatar Jun 12 '24 09:06 MeowSaiGithub

When searching for ENABLE_SIGNUP in this repository I am pointed towards these resources:

Do these places help you further to learn how to set the ENABLE_SIGNUP variable to 0? It's a variable that you set in the apiserver/.env file.

You are right that it is not included in the example file. Maybe it could a good way to add it there with the default value 1, in so it is easier for people to find out how to change it.

The example in ENV_SETUP.md could also be synchronised with the apiserver/.env.example, in so all available options are explained. For now there is no single list of environmental variables in this repository and also not in the documentation that would explain how to use them.

I had also struggled to find my way around configuring the plane instance with environmental variables, due to this lack of documentation. Maybe it could be a good target for this issue to close when this kind of documentation is available?

almereyda avatar Jun 12 '24 12:06 almereyda

Hi there, we've added this feature to god-mode. Update to the latest version of plane to access it. Once updated, go to the Authentication tab and you'll see a toggle labeled Allow anyone to sign up without invite. Simply toggle it off to deactivate sign-up functionality. Check out the attached screenshot for more details.

image

prateekshourya29 avatar Jun 12 '24 13:06 prateekshourya29

I know this is closed and i also found that option but unfortunately only on preview release, not stable release as per document - https://docs.plane.so/self-hosting/methods/docker-compose ,

MeowSaiGithub avatar Jun 13 '24 05:06 MeowSaiGithub

Yes right @MeowSaiGithub!, it's in the preview release. We'll have it in the stable version soon. Thanks for your understanding!

prateekshourya29 avatar Jun 13 '24 07:06 prateekshourya29

Is the ENABLE_SIGNUP updated on the docker stable version? as I still can't enable the features. will help work on it myself if I know where to look.

HRNPH avatar Jun 26 '24 21:06 HRNPH

Use preview version from their official documentation. That's work for me currently

MeowSaiGithub avatar Jun 27 '24 01:06 MeowSaiGithub