Add automatic database initialization on container startup
Previously, database migrations and seeding had to be run manually after deployment, causing 500 errors on fresh deployments. This commit automates the entire database setup process. Changes to docker-entrypoint.sh: - Wait for PostgreSQL to be ready before proceeding - Run 'flask db upgrade' automatically on startup - Check if database is already seeded (admin user exists) - Run 'flask seed' only if needed (idempotent) - Provides clear console output for each step Changes to docker-compose.prod.yml: - Bind to 0.0.0.0:5000 instead of 127.0.0.1:5000 - Allows access from reverse proxy on different machines - Necessary for production deployments with external proxies Benefits: - Zero manual intervention required after 'docker-compose up' - Idempotent: Safe to restart containers without data loss - Works on fresh clones and existing deployments - Clear logging for troubleshooting Fixes: - "relation users does not exist" error on login - Manual migration/seeding requirement - Network accessibility from external proxies 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -32,7 +32,7 @@ services:
|
||||
- .env
|
||||
# Expose only to host for your existing nginx to proxy to
|
||||
ports:
|
||||
- "127.0.0.1:5000:5000" # Only accessible from localhost
|
||||
- "0.0.0.0:5000:5000" # Only accessible from localhost
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
@ -51,4 +51,4 @@ volumes:
|
||||
|
||||
networks:
|
||||
oidc_network:
|
||||
driver: bridge
|
||||
driver: bridge
|
||||
|
||||
Reference in New Issue
Block a user