# docker-compose.yml — Local development (SQLite) # # Single container: Go backend + nginx frontend. # No Postgres, no sidecar, no PVC — just a mounted data directory. # # Usage: # docker compose up --build # open http://localhost:3000 # # Data persists in ./data/ between restarts. # To reset: rm -rf ./data/ # # For Postgres / multi-replica / k8s deployment see k8s/ and server/Dockerfile + Dockerfile.frontend. services: switchboard: build: context: . dockerfile: Dockerfile container_name: chat-switchboard environment: PORT: "8080" BASE_PATH: "" DB_DRIVER: sqlite DATABASE_URL: /data/switchboard.db JWT_SECRET: ${JWT_SECRET:-change-me-for-production} ENCRYPTION_KEY: ${ENCRYPTION_KEY:-change-me-for-production} SWITCHBOARD_ADMIN_USERNAME: ${ADMIN_USERNAME:-admin} SWITCHBOARD_ADMIN_PASSWORD: ${ADMIN_PASSWORD:-admin} STORAGE_BACKEND: pvc STORAGE_PATH: /data/storage CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS:-http://localhost:3000} volumes: - ./data:/data ports: - "3000:80" restart: unless-stopped