mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-10-30 08:36:55 +09:00
The panel is now fully off Docker: the React SPA is served as static files directly by host nginx from frontend/dist, eliminating the serverkit-frontend container and the double nginx hop (host nginx -> container nginx -> dist). Docker is now used ONLY for managed app workloads. - nginx sites (serverkit.conf + serverkit-insecure.conf): `location /` now roots at /opt/serverkit/frontend/dist with a try_files SPA fallback and a long-cache /assets/ block, instead of proxying 127.0.0.1:3847. Root tracks the /opt/serverkit symlink so blue/green updates swap assets atomically. - install.sh: launch_services no longer builds/starts a frontend container; adds apply_frontend_root (rewrites the dist root for a custom SERVERKIT_DIR) and selinux_label_frontend_dist (httpd_sys_- content_t so SELinux hosts can read the bundle from /opt). - update.sh: refresh_config carries the same root rewrite across upgrades; selinux_label_dist relabels the switched-in slot; dropped the `docker compose up -d --force-recreate frontend` from both the forward and rollback paths. - docker-compose.yml: frontend service moved behind a `legacy-frontend` profile (opt-in escape hatch); default `up -d` starts nothing. - docs/DEPLOYMENT.md: documents the off-Docker panel model. Tests: T14 (refresh_config rewrites dist root for custom install dir), T15 (shipped nginx configs serve static, never proxy :3847). 16 passed. Note: live nginx -t / SELinux file-serving not validated on a RHEL box from this dev host; logic is best-effort guarded. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>