# Warning: This docker-compose file is made for development purposes. # Using it will build an image from the locally cloned repository. # # If you want to use Invidious in production, see the docker-compose.yml file provided # in the installation documentation: https://docs.invidious.io/installation/ version: "3" services: invidious: build: context: . dockerfile: docker/Dockerfile restart: unless-stopped ports: - "127.0.0.1:3000:3000" environment: # Please read the following file for a comprehensive list of all available # configuration options and their associated syntax: # https://github.com/iv-org/invidious/blob/master/config/config.example.yml INVIDIOUS_CONFIG: | db: dbname: invidious user: kemal password: kemal host: invidious-db port: 5432 check_tables: true signature_server: inv_sig_helper:12999 visitor_data: "CHANGE_ME!!" po_token: "CHANGE_ME!!" # force_resolve: ipv6 # external_port: # domain: # https_only: false # statistics_enabled: false hmac_key: "CHANGE_ME!!" healthcheck: test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending || exit 1 interval: 30s timeout: 5s retries: 2 depends_on: - invidious-db - inv_sig_helper invidious-db: image: docker.io/library/postgres:14 restart: unless-stopped volumes: - postgresdata:/var/lib/postgresql/data - ./config/sql:/config/sql - ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh environment: POSTGRES_DB: invidious POSTGRES_USER: kemal POSTGRES_PASSWORD: kemal healthcheck: test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] inv_sig_helper: image: quay.io/invidious/inv-sig-helper:latest init: true command: ["--tcp", "0.0.0.0:12999"] environment: - RUST_LOG=info restart: unless-stopped cap_drop: - ALL read_only: true security_opt: - no-new-privileges:true volumes: postgresdata: