services: vidarchive: # yt-dlp is installed when the image is built. Rebuild the image to get a # newer one: `docker compose build --pull --no-cache vidarchive`. build: context: . dockerfile: Containerfile container_name: vidarchive ports: - "8080:8080" volumes: - ./data:/data environment: - VIDARCHIVE_PORT=8080 - VIDARCHIVE_DATA_DIR=/data - VIDARCHIVE_WORKERS=2 - VIDARCHIVE_USERNAME=admin - VIDARCHIVE_PASSWORD_HASH="$2y$12$..." # How often the subscription scheduler looks for due runs, in seconds - VIDARCHIVE_SCHEDULER_INTERVAL=60 # Uncomment to run behind HTTPS proxy: # - VIDARCHIVE_BASE_URL=https://vidarchive.example.com # Uncomment to use a custom yt-dlp path: # - VIDARCHIVE_YTDLP_PATH=/usr/bin/yt-dlp restart: unless-stopped # Give in-flight downloads and the database checkpoint time to finish before # the container is killed; the default 10s can cut a shutdown short. stop_grace_period: 60s