Pular para conteúdo

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 — roda migrate + collectstatic antes do gunicorn
  • worker — celery -A config worker -Q default
  • beat — celery -A config beat com django_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.

Referências