# Copy to docker-compose.yml at the repo root (or reference this path # directly with `docker compose -f docker/docker-compose.example.yml`), # adjust the volumes, and fill in a real env_file with your tokens/api keys. services: watchable: build: context: .. dockerfile: docker/Dockerfile image: watchable:latest container_name: watchable restart: unless-stopped env_file: - ../.env # PLEX_TOKEN=..., JELLYFIN_API_KEY=..., etc. -- see config.example.yaml environment: # The container starts as root and drops to the `watchable` user # remapped to these ids (default 1000:1000) -- set them to match # whoever owns the volumes below on the host (id -u / id -g). PUID: 1000 PGID: 1000 volumes: - ../config.yaml:/config/config.yaml:ro - ./data:/data # `run` (the image's default command) loops on sync.schedule.interval_minutes. # Swap to `["sync", "/config/config.yaml"]` if you'd rather trigger runs # yourself, e.g. with `docker compose run --rm watchable sync /config/config.yaml` # from a host cron job.