This commit is contained in:
2026-07-16 05:48:12 -05:00
parent c36d46c3b3
commit e9be65df8c
558 changed files with 74087 additions and 75 deletions
+6 -3
View File
@@ -16,7 +16,8 @@ data model, folder layout, deployment, and phased implementation plan.
- Django 6.0, Python 3.12
- Postgres (production), SQLite (local fallback)
- Redis + Celery/Beat for background jobs (sends, scheduled posts)
- **Django Tasks (`django.tasks`)** for background work (sends, scheduled posts) — Postgres
queue store + a single worker process; no Redis/Celery
- `uv` package manager
- Docker; deployed via the `server-infra` Ansible pipeline onto active/active hosts behind
Nginx Proxy Manager (same pattern as `company_site`)
@@ -38,9 +39,10 @@ Once scaffolded:
```bash
uv sync
docker compose up # web + postgres + redis
docker compose up # web + postgres
uv run python manage.py migrate
uv run python manage.py runserver
# Dev uses ImmediateBackend — tasks run inline. For prod-like workers, run worker-entrypoint.
```
## Deployment
@@ -48,4 +50,5 @@ uv run python manage.py runserver
CI on merge to `main` runs tests, then calls
`server-infra/scripts/deploy.sh --app monica_site --env prod --ref <sha>`.
Requires a `monica_site` entry in the `server-infra` `app_catalog`, a reserved host port pair,
a shared-Postgres database, Redis, and a control-node secret env file. Details in the design doc.
a shared-Postgres database, a singleton django.tasks worker on one host, and a control-node
secret env file. Details in the design doc.