services: api: build: context: . dockerfile: apps/api/Dockerfile environment: VIDBEE_API_HOST: 0.0.0.0 VIDBEE_API_PORT: ${VIDBEE_API_PORT:-3100} VIDBEE_DOWNLOAD_DIR: /data/downloads VIDBEE_DATA_DIR: /data/vidbee VIDBEE_HISTORY_STORE_PATH: /data/vidbee/vidbee.db ports: - "${VIDBEE_API_PORT:-3100}:${VIDBEE_API_PORT:-3100}" volumes: # Set VIDBEE_DOWNLOAD_DIR_HOST=/path/on/your/NAS to use a bind mount. - ${VIDBEE_DOWNLOAD_DIR_HOST:-vidbee-downloads}:/data/downloads - vidbee-data:/data/vidbee healthcheck: test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:${VIDBEE_API_PORT:-3100}/health > /dev/null || exit 1"] interval: 10s timeout: 5s retries: 5 start_period: 10s restart: unless-stopped web: build: context: . dockerfile: apps/web/Dockerfile environment: VIDBEE_API_URL_INTERNAL: http://api:${VIDBEE_API_PORT:-3100} VIDBEE_WEB_HOST: 0.0.0.0 VIDBEE_WEB_PORT: 3000 # Self-hosting behind a reverse proxy? Allow your domain through Vite's # host check (GitHub issue #404): set "*" to allow any host, or a # comma-separated list like "vidbee.example.com". VIDBEE_ALLOWED_HOSTS: ${VIDBEE_ALLOWED_HOSTS:-} depends_on: api: condition: service_healthy ports: - "${VIDBEE_WEB_PORT:-3000}:3000" restart: unless-stopped volumes: vidbee-downloads: vidbee-data: