- Add external volume mounting for database, uploads, and media files - Update Dockerfile to conditionally initialize database only if it doesn't exist - Move database to external /data volume for persistence across rebuilds - Configure production environment with proper FLASK_CONFIG - Add volume mappings for complete data persistence: * ./data:/data - Database persistence * ./uploads:/opt/moto_site/uploads - File uploads persistence * ./static/media:/opt/moto_site/static/media - Media files persistence - Create init script that skips database creation if DB already exists - Enable safe app updates without losing users, posts, or tracks This ensures all user data persists across Docker container rebuilds and app updates.
20 lines
553 B
YAML
20 lines
553 B
YAML
version: '3.8'
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8100:5000"
|
|
environment:
|
|
- FLASK_CONFIG=production
|
|
- DATABASE_URL=sqlite:////data/moto_adventure.db
|
|
- SECRET_KEY=ana_are_mere_si-si-pere_cat-cuprinde_in_cos
|
|
working_dir: /opt/moto_site
|
|
volumes:
|
|
- ./data:/data # Database persistence
|
|
- ./uploads:/opt/moto_site/uploads # File uploads persistence
|
|
- ./static/media:/opt/moto_site/static/media # Media files persistence
|
|
restart: unless-stopped
|