I recently switch the retool self-hosted from localhost to a static IP. When I tried to login with the static IP one, it shows:
User is part of multiple organizations
What should I do now? I want to login with the same user name (well I only have one work email tho) and reserve the data / app I created on localhost one.
Hey @zelterNN - Which Retool version are you on? There was a bug that allowed incorrectly creating multiple organizations by going through the sign up flow more than once, but it was patched at some point.
In any case once you're in this state, you'll just need to manually delete the user with the duplicate email from the users table in the Postgres database your Retool instance is running on. This is likely going to be the user with organizationId that isn't 1.
Assuming you're running the Postgres DB as a container, you'll need to exec into it and connect to the same DB/user set in your deployment with psql. Once connected to the database, you can query and delete from the users table as needed.
What's the database set in your deployment configuration? Can check existing dbs on the host with \l and switch with \c DB_NAME (which is hammerhead_production if you're using our template's defaults).
Can you send your full list of containers and configuration to get some context? At first glance that looks to be a Retool DB container (not the actual Postgres database the instance uses).
The -h flag specifies a server, both of which you're going to the retool-db host, so you're going there in both cases. You should just need to run psql without it to connect to the local container after exec'ing in.
I'd run docker exec -it YOUR_POSTGRES_CONTAINER /bin/bash and then psql -U YOUR_USER YOUR_DB, swapping in the all caps bits (user/db should be in docker.env).
## For a complete list of all environment variables, see docs.retool.com/docs/environment-variables
## Set node environment to production
NODE_ENV=production
## Set the JWT secret for the API server
JWT_SECRET=""
## Set and generate postgres credentials
POSTGRES_DB=hammerhead_production
POSTGRES_USER=retool_internal_user
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_PASSWORD=""
## Set and generate retooldb postgres credentials
RETOOLDB_POSTGRES_DB=postgres
RETOOLDB_POSTGRES_USER=root
RETOOLDB_POSTGRES_HOST=retooldb-postgres
RETOOLDB_POSTGRES_PORT=5432
RETOOLDB_POSTGRES_PASSWORD=""
# Change '' to retool.yourcompany.com to set up SSL properly
DOMAINS= -> http://api:3000
## Used to create links for your users, like new user invitations and forgotten password resets
## The backend tries to guess this, but it can be incorrect if there’s a proxy in front of the website
# BASE_DOMAIN=https://retool.yourwebsite.com
## Set key to encrypt and decrypt database passwords, etc.
## This random string value should be stored privately, and should not be changed over the liftetime of the deployment
ENCRYPTION_KEY=""
## Google SSO configuration
# CLIENT_ID={YOUR GOOGLE CLIENT ID}
## License key
LICENSE_KEY=""
## Uncomment this line if HTTPS is not set up
# COOKIE_INSECURE=true