DevOps¶
Imagem¶
Dockerfile single-stage (Debian slim + gcc/libpq-dev para build), usuário não-root (appuser), porta 8003, gunicorn config.wsgi:application --workers 2.
Compose — desenvolvimento (docker-compose.yml)¶
postgres (próprio, coreflow_time_postgres) + redis (coreflow_time_redis) — ambiente local isolado.
Compose — produção (docker-compose.prod.yml)¶
Três serviços de aplicação, sem postgres próprio (usa shared_postgres, ver Implantação):
web— rodamigrate+collectstaticantes dogunicornworker—celery -A config worker -Q defaultbeat—celery -A config beatcomdjango_celery_beat.schedulers:DatabaseScheduler
Volumes nomeados timeflow_staticfiles/timeflow_mediafiles (prefixo timeflow_, mantido por compatibilidade com os volumes já existentes na VPS desde o rename do produto em 25/07/2026).
Scripts¶
scripts/predeploy.sh, scripts/deploy_local.sh, scripts/rodar-aplicacao.sh, scripts/claude-sync-push.sh/claude-sync-pull.sh.