Docker funniness regarding SIGNUPS_ALLOWED

I currently have my Vaultwarden server setup to not allow Signups & everything appears to be working fine for the users on it.

I am having trouble toggling SIGNUPS_ALLOWED to be able to register a user without all the e-mailing.

I have it setup now with SIGNUPS_ALLOWED=false in my docker-compose.yml, which is below:

version: '3'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      - DOMAIN=https://vaultwarden.mydomain.com
      - ADMIN_TOKEN=<my-admin-token>
      - SIGNUPS_ALLOWED=false
      - INVITATIONS_ALLOWED=false
    ports:
      - 8080:80
    volumes:
      - ./srv/vw-data:/data
  • I believe I have been using this same docker config since v1.30.3, so perhaps something in it needs to be changed.
  • My .env only contains the VAULTWARDEN_ADMIN_TOKEN='<my-token>'

When I change SIGNUPS_ALLOWED=true and restart the container, I navigate to https://vaultwarden.mydomain.com/#/register and attempt to create a new account. It does not work & I get the following error message in the top right-hand corner

Error
An error has occurred.
Registration not allowed or user already exists
  • I know this user does not already exist as it does not appear in the Users tab in the Admin Panel.

I then try adding the following to my .env file:

SIGNUPS_ALLOWED=true
  • Then I restart the VW docker, but I get the same error message when trying to create a user account. I then removed this from my .env.

Currently I’m running this version:

* Vaultwarden version: v1.33.2
* Web-vault version: v2025.1.1

I was able to get sign-ups to work by manually editing my data/config.json and changing "signups_allowed": false, to true & then restarting the docker container. I then reverted it back to false when I was done creating that user account.

Is this the method to change this or is there something else I should have changed in my docker-compose.yml or .env files?

This sounds like the problem that the majority of users who post in this forum experience… Have you by any chance saved your settings using the Admin panel? Doing that creates a config.json file which will override any and all env variables set with another method.

So, either delete the config.json and ONLY configure using env variables or switch to the Admin panel (config.json) instead. Doing both will most definitely lead to unexplained conflicts.

1 Like