A production-ready setup for running Metabase with PostgreSQL using Docker.
- Clone this repository
- Configure your environment:
cp .env.example .env
# Edit .env with secure credentials- Launch the stack:
docker compose up -dπ Access Metabase at localhost:3000
# Monitor logs
docker compose logs -f
# Service operations
docker compose restart # Restart all services
docker compose down # Stop all services
docker compose down -v # β οΈ Stop and erase all data
# Backup database
./backup.shWarning
Upgrading involves data risks. Please read the official upgrade guide and backup your data first!
To upgrade Metabase:
- Choose a version tag from DockerHub
- Update the version in
docker-compose.yml:services: metabase: image: metabase/metabase:v0.x.y
- Apply the upgrade (on startup, Metabase will perform the upgrade automatically.):
docker compose pull metabase_app # Download new version docker compose up -d # Deploy update
- Verify the upgrade:
docker compose ps # Check container status docker compose logs metabase_app # Monitor for errors
- Security: Deploy behind a reverse proxy (nginx, traefik) with SSL
- Backups: Implement off-site backup strategy
- Monitoring: Set up container health monitoring
- Updates: Enable automated security updates
Run these commands if you encounter issues:
docker compose ps # Check container status
docker compose logs metabase # View Metabase logs