# No Hype AI Django 5.2 + Wagtail 7 blog engine for No Hype AI. ## Environment Variables Required: - `SECRET_KEY` - `DATABASE_URL` - `ALLOWED_HOSTS` - `DEBUG` - `WAGTAIL_SITE_NAME` Also used: - `WAGTAILADMIN_BASE_URL` - `CONSENT_POLICY_VERSION` - `EMAIL_BACKEND` - `EMAIL_HOST` - `EMAIL_PORT` - `EMAIL_USE_TLS` - `EMAIL_HOST_USER` - `EMAIL_HOST_PASSWORD` - `DEFAULT_FROM_EMAIL` - `NEWSLETTER_PROVIDER` ## Containerized Development ```bash docker compose build docker compose run --rm web python manage.py migrate docker compose up ``` App is exposed on `http://localhost:8035`. ## Test/Lint/Typecheck (Docker) ```bash docker compose run --rm web pytest docker compose run --rm web ruff check . docker compose run --rm web mypy apps config ``` ## Deploy Runbook ```bash git pull origin main pip install -r requirements/production.txt python manage.py migrate --run-syncdb python manage.py collectstatic --noinput sudo systemctl reload gunicorn ``` ## Backups - PostgreSQL dump daily: `pg_dump | gzip > backup-$(date +%Y%m%d).sql.gz` - `MEDIA_ROOT` rsynced offsite daily