# 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 log_level: Info # 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/comments/jNQXAC9IVRw || exit 1 interval: 30s timeout: 5s retries: 2 depends_on: - invidious-db invidious-db: image: docker.io/library/postgres:13 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"] invidious-pgadmin: image: docker.io/dpage/pgadmin4:latest restart: unless-stopped environment: - PGADMIN_DEFAULT_EMAIL=******* - PGADMIN_DEFAULT_PASSWORD=******* - PGADMIN_DISABLE_POSTFIX=1 - GUNICORN_ACCESS_LOGFILE=/dev/null - GUNICORN_THREADS=1 ports: - "127.0.0.1:5050:80" depends_on: invidious-db: condition: service_healthy volumes: postgresdata: