Django app packaged for Docker and DigitalOcean App Platform.
- Django 6 + Gunicorn
- PostgreSQL (Docker locally / managed DB on DigitalOcean)
- WhiteNoise for static files
- Health check at
/health/
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python manage.py migrate
python manage.py runserverHealth: http://127.0.0.1:8000/health/
Day-to-day use:
- Quick reference: USAGE.md
- Full user guide: docs/user-guide.md
Bootstrap roles and seed the WCAG checklist template (sample CSV written to fixtures/wcag_sample.csv):
python manage.py bootstrap_roles
python manage.py seed_wcag_template --write-sampleOr import your own CSV (columns: criterion_ref,title,level,principle,guideline,wcag_link,sort_order). Criterion 4.1.1 is always omitted.
python manage.py seed_wcag_template path/to/criteria.csv --name "WCAG 2.2 AA"Then create staff users in admin (or createsuperuser), assign them to Groups Developer, Specialist, and/or PM, and sign in at /accounts/login/.
cp .env.example .env
docker compose up --buildApp: http://localhost:8080/health/
- Push this repo to GitHub and update
.do/app.yaml:github.repo→ yourorg/repoSECRET_KEY→ a strong random value
- Deploy with doctl:
doctl apps create --spec .do/app.yamlOr create an app in the DigitalOcean UI and point it at this repo / Dockerfile. After the first deploy, set ALLOWED_HOSTS and CSRF_TRUSTED_ORIGINS to your App Platform hostname (for example your-app.ondigitalocean.app and https://your-app.ondigitalocean.app).
Update an existing app:
doctl apps update <APP_ID> --spec .do/app.yaml| Variable | Description |
|---|---|
SECRET_KEY |
Django secret key (required in production) |
DEBUG |
True / False |
ALLOWED_HOSTS |
Comma-separated hostnames |
CSRF_TRUSTED_ORIGINS |
Comma-separated origins with scheme |
DATABASE_URL |
Postgres URL (postgres://...) |
SECURE_SSL_REDIRECT |
Redirect HTTP→HTTPS (on in production) |