first working version
This commit is contained in:
35
docs/deploy-minimal.md
Normal file
35
docs/deploy-minimal.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Minimal Deployment (Nginx + Django + Angular)
|
||||
|
||||
## Overview
|
||||
Serve Angular as static assets via Nginx and proxy `/api/` to Django. Use file system storage on a single host.
|
||||
|
||||
## Build Outputs
|
||||
- Angular build → `/var/www/app` (or similar)
|
||||
- Django app → `/srv/api` (Gunicorn/Uvicorn on 127.0.0.1:8000)
|
||||
- Data folders: `/srv/data/input`, `/srv/data/attempts`, `/srv/data/output`, `/srv/data/progress`, `/srv/data/manifest.json`
|
||||
|
||||
## Nginx (concept)
|
||||
- `/` → Angular index.html + assets
|
||||
- `/api/` → proxy to Django (127.0.0.1:8000)
|
||||
- Cache static; no caching for `/api/`
|
||||
|
||||
## Django Configuration
|
||||
- Env vars for folder paths (INPUT_DIR, ATTEMPTS_DIR, OUTPUT_DIR, PROGRESS_DIR, MANIFEST_FILE)
|
||||
- CORS/CSRF: allow Angular origin
|
||||
- Logging to files under `/var/log/app`
|
||||
|
||||
## Health
|
||||
- `/api/health` endpoint returns `{ ok: true }`
|
||||
- Nginx upstream failover not required (single host)
|
||||
|
||||
## Backups
|
||||
- Periodic tar of `/srv/data` (retain N days)
|
||||
|
||||
## TLS
|
||||
- Terminate HTTPS at Nginx (e.g., with Let's Encrypt)
|
||||
|
||||
## Rollout Steps (high level)
|
||||
1. Build Angular → copy to web root
|
||||
2. Run Django server → behind Nginx
|
||||
3. Create data folders and set permissions
|
||||
4. Verify `/api/exams` and basic start/submit flows
|
||||
Reference in New Issue
Block a user