Title:
Self-Hosted (Easypanel): password authentication failed for user "supabase_admin" after changing default passwords and wiping volumes
Message:
Hi everyone! I'm trying to secure my self-hosted Supabase instance before moving to production, but I am stuck in a password authentication crash loop.
What I am trying to achieve:
I am running Supabase via Easypanel on an Ubuntu VPS. I updated the environment variables (POSTGRES_PASSWORD, JWT_SECRET, ANON_KEY, SERVICE_ROLE_KEY, DASHBOARD_PASSWORD) to custom, secure values to replace the defaults.
What is going wrong:
After saving the new environment variables and deploying, my dashboard freezes and containers (like analytics and rest) get stuck in a restart loop. The logs show this repeating error from the database container:
FATAL: password authentication failed for user "supabase_admin"
What I have tried so far:
To make sure the database wasn't remembering the old default password, I did a complete hard reset:
Force-killed all Supabase Docker containers.
Deleted the leftover Docker volumes (docker volume rm).
Wiped the physical bind mount folders on the host (rm -rf /etc/easypanel/projects/supabase/supabase/volumes/*).
Triggered a fresh deploy from Easypanel with the new environment variables already saved.
Even with a 100% blank slate, the fresh deployment immediately throws the exact same supabase_admin password error. It seems like the supabase_admin user isn't syncing with the new POSTGRES_PASSWORD during initialization.
Environment Details:
OS: Ubuntu 24.04.3 LTS (Hostinger VPS)
Platform: Easypanel (Docker Compose under the hood)
Supabase Version: Latest Easypanel template
Has anyone run into this specific supabase_admin sync issue when doing a fresh setup on Easypanel or standard Docker? Any help is hugely appreciated!