mirror of
https://github.com/myronblair/kino-app
synced 2026-07-27 21:18:43 -05:00
e27bb37f7b
- Remove .emergent/ state dir, tracked .gitconfig, @emergentbase/visual-edits dep + craco wiring, emergent.sh script/meta tags, PostHog telemetry snippet - Rename UI/docs branding Kino -> StreamHoard (README, DEPLOY.md, Navbar, Login, Register, AdminShowEpisodes, FastAPI title, health check response) - Rename docker-compose container/network names to streamhoard-* - Default admin email domain -> admin@streamhoard.local
72 lines
2.0 KiB
YAML
72 lines
2.0 KiB
YAML
# StreamHoard — Docker Compose deployment
|
|
#
|
|
# Runs alongside existing LAMP stacks without conflicts:
|
|
# - Apache keeps port 80/443
|
|
# - MySQL is untouched (StreamHoard uses its own MongoDB in a container)
|
|
# - StreamHoard 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:4.4
|
|
container_name: streamhoard-mongo
|
|
restart: unless-stopped
|
|
volumes:
|
|
- mongo-data:/data/db
|
|
networks:
|
|
- streamhoard
|
|
# No ports exposed to host — only reachable inside streamhoard network
|
|
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
container_name: streamhoard-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@streamhoard.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:
|
|
- streamhoard
|
|
# No direct host port — frontend container reverse-proxies /api → backend:8001
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
container_name: streamhoard-frontend
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- backend
|
|
ports:
|
|
# Only StreamHoard's external port. Change KINO_HTTP_PORT to avoid clashes with Apache.
|
|
- "${KINO_HTTP_PORT:-8080}:80"
|
|
networks:
|
|
- streamhoard
|
|
|
|
networks:
|
|
streamhoard:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
mongo-data:
|
|
driver: local
|