Files
kithara-studio/docker-compose.yml
T
rin.kagamine c571e28725 feat: Phase 1 frontend - auth UI with KITHARA_MODE switch
- Auth API client (src/api/auth.ts): login, register, me, api-key endpoints
- AuthContext: React context managing auth state, mode detection, JWT tokens
- LoginPage: clean dark-themed login form with error handling
- RegisterPage: invite code + registration with password validation
- App.tsx: BrowserRouter + AuthProvider wrapper, mode-conditional routing
  - Single mode: straight to app, no auth required
  - Multi mode: redirect to /login, auth-gated access
- main.tsx: BrowserRouter + AuthProvider initialization
- react-router-dom added as dependency
- docker-compose.yml: KITHARA_MODE, KITHARA_ADMIN_USER, KITHARA_ADMIN_PASS env vars
- requirements.txt: pinned bcrypt==4.0.1 for passlib compatibility
- Tested: multi-mode admin bootstrap, JWT login, auth/me round-trip all confirmed
2026-05-31 12:15:13 -04:00

27 lines
673 B
YAML

services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
ports:
- "8100:8000"
volumes:
- ./data:/app/data
environment:
- LYRIA_API_KEY=${LYRIA_API_KEY}
- LYRIA_DEFAULT_MODEL=${LYRIA_DEFAULT_MODEL:-lyria-3-clip-preview}
- KITHARA_MODE=${KITHARA_MODE:-single}
- KITHARA_ADMIN_USER=${KITHARA_ADMIN_USER:-admin}
- KITHARA_ADMIN_PASS=${KITHARA_ADMIN_PASS:-admin}
- TZ=${TZ:-America/New_York}
restart: unless-stopped
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
ports:
- "3100:3000"
depends_on:
- backend
restart: unless-stopped