Files
VideoDetect/docker-compose.yml
T
2026-09-09 12:35:18 -04:00

93 lines
2.1 KiB
YAML

services:
mariadb:
image: mariadb:10.11
container_name: videodetect-mariadb
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootpass}
MYSQL_DATABASE: ${DB_NAME:-videodetect}
MYSQL_USER: ${DB_USER:-videodetect}
MYSQL_PASSWORD: ${DB_PASSWORD:-changeme_videodetect}
ports:
- "3306:3306"
volumes:
- mariadb_data:/var/lib/mysql
- ./db/schema.sql:/docker-entrypoint-initdb.d/01-schema.sql:ro
networks:
- videodetect-network
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 5
deploy:
resources:
limits:
memory: 2G
ui:
build:
context: ./ui
dockerfile: Dockerfile
container_name: videodetect-ui
restart: unless-stopped
ports:
- "5000:5000"
environment:
- DB_HOST=mariadb
- DB_PORT=3306
- DB_NAME=videodetect
- DB_USER=videodetect
- DB_PASSWORD=${DB_PASSWORD:-changeme_videodetect}
- FLASK_ENV=production
volumes:
- ./ui:/app
- nas_input:/data/input:ro
- ${NAS_OUTPUT_PATH:-/mnt/nas/output}:/data/output
networks:
- videodetect-network
depends_on:
mariadb:
condition: service_healthy
deploy:
resources:
limits:
memory: 512M
api:
build:
context: ./api
dockerfile: Dockerfile
container_name: videodetect-api
restart: no
ports:
- "3000:3000"
environment:
- DB_HOST=mariadb
- DB_PORT=3306
- DB_NAME=videodetect
- DB_USER=videodetect
- DB_PASSWORD=${DB_PASSWORD:-changeme_videodetect}
- DANCER_ENVIRONMENT=production
volumes:
- ./api:/app
networks:
- videodetect-network
depends_on:
mariadb:
condition: service_healthy
volumes:
mariadb_data:
driver: local
nas_input:
driver: local
driver_opts:
type: nfs
o: addr=10.0.0.2,ro,nfsvers=4,hard,intr
device: ":/mnt/Bulk/Homes/ryan/Prawns"
networks:
videodetect-network:
driver: bridge