# This docker-compose file is made for development purpose and build an image from source, if you want to use Invidious in production, see the documentation.
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 : |
check_tables : true
db :
dbname : invidious
user : kemal
password : kemal
host : invidious-postgres
port : 5432
# https_only: false
# domain:
# external_port:
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-postgres
invidious-postgres :
image : postgres:14-alpine
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" ]
volumes :
postgresdata :