Add CMS features with admin interface and OAuth authentication integration

- Introduced Caddy server for serving frontend and API backend.
- Implemented admin dashboard for creating, editing, and managing events.
- Replaced session-based authentication with token-based OAuth using Gitea.
- Added support for drag-and-drop event reordering in the admin interface.
- Standardized Fastify route validation with JSON schemas.
- Enhanced authentication flow with cookie-based state and secure token storage.
- Reworked backend routes to handle publishing, event management, and content updates.
- Updated `Dockerfile.caddy` and `fly.toml` for deployment configuration.
This commit is contained in:
2025-12-08 16:00:40 +01:00
parent 3b6cb0a3fb
commit daccc43677
16 changed files with 603 additions and 186 deletions

View File

@ -4,11 +4,14 @@ kill_signal = "SIGINT"
kill_timeout = 5
[build]
dockerfile = "Dockerfile"
dockerfile = "Dockerfile.fly"
[env]
PORT = "3000"
PORT = "3000" # Caddy (serves frontend + proxies /api/*)
NODE_ENV = "production"
BACKEND_PORT = "8080" # Fastify backend will listen here
DATABASE_PATH = "/app/data/gallus_cms.db"
GIT_WORKSPACE_DIR = "/app/workspace"
[http_service]
internal_port = 3000
@ -39,4 +42,12 @@ kill_timeout = 5
[[vm]]
memory = "512MB"
cpu_kind = "shared"
cpus = 1
cpus = 1
[[mounts]]
source = "gallus_data"
destination = "/app/data"
[[mounts]]
source = "gallus_workspace"
destination = "/app/workspace"