LLARS PROJECT_STATE Guide¶
Overview¶
PROJECT_STATE controls whether LLARS runs in development or production mode. All services (Flask, Vue/Vite, Authentik, Yjs, nginx) receive this variable.
Configuration¶
Set in .env:
Effects by Mode¶
Development (development)¶
- Hot reload for frontend (Vite) and backend
- Entry via nginx (default:
http://localhost:55080) - MkDocs via nginx:
/mkdocs/(dev) - Optional direct access to Authentik/DB/MkDocs via external ports (defaults: 55095/55306/55800)
- Verbose logging
- Extended demo data (20-30 samples per scenario) is seeded automatically
- Debug ports only when needed (default compose keeps exposures minimal)
Production (production)¶
- Optimized builds, no hot reload
- Less logging
- Access exclusively through nginx (80/443)
- Authentik expected behind nginx (HTTPS recommended)
- MkDocs via nginx:
/mkdocs/(prod)
Usage¶
Start (Default: Development)¶
Switch to Production¶
- Update
.env: - Restart:
Verify¶
- Development: nginx (55080) and Authentik (55095) are reachable; frontend/backend run internally behind nginx.
- Production: only nginx port is exposed; all internal services run behind nginx (80/443).
Troubleshooting¶
-
Wrong mode active?
Check.env(grep PROJECT_STATE .env) and restart. -
Authentik only reachable via HTTPS?
In production, place Authentik behind nginx; for local tests usedevelopment. -
Frontend without hot reload?
EnsurePROJECT_STATE=developmentis active and the stack has been restarted (./start_llars.sh).
Best Practices¶
- Development:
PROJECT_STATE=development, use debug ports. - Production:
PROJECT_STATE=production, HTTPS in front of nginx, change default passwords. -
After changing the mode, always run
./start_llars.shagain. -
Authentik Setup - OIDC login with Authentik
- Authentik Documentation
- Docker Compose Documentation