* feat: add Caddy reverse proxy with auto HTTPS for LAN access and auto-derive WebSocket URL
Add a Caddy service to docker-compose.standalone.yml that provides automatic
HTTPS with local certificates, enabling secure access to both the frontend
and API from the local network through a single entrypoint.
Backend changes:
- Add ROOT_PATH setting to FastAPI so the API can be served under /api prefix
- Route frontend and API (/server-api) through Caddy reverse proxy
Frontend changes:
- Support WEBSOCKET_URL=auto to derive the WebSocket URL from API_URL
automatically, using the page protocol (http→ws, https→wss) and host
- Make WEBSOCKET_URL env var optional instead of required
* style: pre-commit
* fix: make standalone compose self-contained (drop !reset dependency)
docker-compose.standalone.yml used !reset YAML tags to clear
network_mode and volumes from the base compose. !reset requires
Compose v2.24+ and breaks on Colima + brew-installed compose.
Rewrite as a fully self-contained file with all services defined
directly (server, worker, beat, redis, postgres, web, garage, cpu,
gpu-nvidia, ollama, ollama-cpu). No longer overlays docker-compose.yml.
Update setup-standalone.sh compose_cmd() to use only the standalone
file instead of both files.
* fix: update standalone docs to match self-contained compose usage
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com>
* docker-compose for production frontend
* fix: Remove external Redis port mapping for Coolify compatibility
Redis should only be accessible within the internal Docker network in Coolify deployments to avoid port conflicts with other applications.
* fix: Remove external port mapping for web service in Coolify
Coolify handles port exposure through its proxy (Traefik), so services should not expose ports directly in the docker-compose file.
* server side client envs
* missing vars
* nextjs experimental
* fix claude 'fix'
* remove build env vars compose
* docker
* remove ports for coolify
* review
* cleanup
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com>