Files
CoRE.Vision/docker-compose.yml
T
2026-05-30 00:15:16 +05:00

43 lines
2.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
services:
nvr-backend:
build:
context: .
dockerfile: backend/Dockerfile
container_name: nvr-backend
restart: unless-stopped
# HTTPS обязателен: SharedArrayBuffer (для WASM-декодера H.265) работает
# только в защищённом контексте (https/localhost).
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8090",
"--ssl-keyfile", "/app/certs/key.pem", "--ssl-certfile", "/app/certs/cert.pem"]
ports:
- "443:8090" # дашборд на https://<сервер>
volumes:
- ./certs:/app/certs # self-signed TLS-сертификат (rw: entrypoint генерирует при отсутствии)
- ./VERSION:/app/VERSION:ro # номер версии (показывается в UI)
- ./cameras.yaml:/app/cameras.yaml # rw: редактирование камер из UI
- ./go2rtc.yaml:/app/go2rtc.yaml # rw: бэкенд регенерирует live-потоки
- ./.env.json:/app/.env.json # логин/пароль + ui-настройки (JSON; имя .env.json, чтобы не путать с .env docker compose)
- ./backend/app:/app/app # код бэкенда (правка без пересборки образа)
- ./frontend:/app/frontend # фронтенд (правка без пересборки)
- ./data:/data # SQLite-индекс архива
# Запись. Локальная папка ./records ИЛИ смонтированный на хост NAS (SMB/NFS).
# Для NAS: смонтируйте на хосте (например /mnt/nas/cctv) и замените левую часть:
# - /mnt/nas/cctv:/records
- ./records:/records
environment:
TZ: Europe/Moscow
NVR_CONFIG: /app/cameras.yaml
NVR_SETTINGS: /app/.env.json
GO2RTC_CONFIG: /app/go2rtc.yaml
NVR_DB: /data/nvr.db
go2rtc:
image: alexxit/go2rtc:latest
container_name: nvr-go2rtc
restart: unless-stopped
network_mode: host # WebRTC проще всего в host-сети (порт 8555 udp/tcp)
volumes:
- ./go2rtc.yaml:/config/go2rtc.yaml:ro
environment:
TZ: Asia/Tashkent