auto-commit for 28f1e986-c2af-4742-ad64-e0661980843c

This commit is contained in:
emergent-agent-e1
2026-07-23 22:01:21 +00:00
parent 21cdd24116
commit 1471d58385
9 changed files with 365 additions and 47 deletions
+71
View File
@@ -0,0 +1,71 @@
# Kino — Docker Compose deployment
#
# Runs alongside existing LAMP stacks without conflicts:
# - Apache keeps port 80/443
# - MySQL is untouched (Kino uses its own MongoDB in a container)
# - Kino exposes a single configurable port (default 8080)
#
# Usage:
# cp .env.compose.example .env
# # edit .env — set JWT_SECRET, ADMIN_PASSWORD, KINO_HTTP_PORT, MEDIA_ROOT_HOST
# docker compose up -d
# # visit http://<proxmox-ip>:8080 (or whatever KINO_HTTP_PORT you set)
services:
mongo:
image: mongo:7
container_name: kino-mongo
restart: unless-stopped
volumes:
- mongo-data:/data/db
networks:
- kino
# No ports exposed to host — only reachable inside kino network
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: kino-backend
restart: unless-stopped
depends_on:
- mongo
environment:
MONGO_URL: mongodb://mongo:27017
DB_NAME: ${DB_NAME:-kino}
CORS_ORIGINS: "*"
JWT_SECRET: ${JWT_SECRET:?set JWT_SECRET in .env}
JWT_ALG: HS256
JWT_EXPIRE_HOURS: ${JWT_EXPIRE_HOURS:-720}
ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@kino.local}
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?set ADMIN_PASSWORD in .env}
ADMIN_NAME: ${ADMIN_NAME:-Admin}
MEDIA_ROOT: /media
volumes:
# Host media directory (movies, HLS, subtitles) — point at your NAS/ZFS mount
- ${MEDIA_ROOT_HOST:-./media}:/media
networks:
- kino
# No direct host port — frontend container reverse-proxies /api → backend:8001
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: kino-frontend
restart: unless-stopped
depends_on:
- backend
ports:
# Only Kino's external port. Change KINO_HTTP_PORT to avoid clashes with Apache.
- "${KINO_HTTP_PORT:-8080}:80"
networks:
- kino
networks:
kino:
driver: bridge
volumes:
mongo-data:
driver: local