diff --git a/.env.sample b/.env.sample index fbe3327543d24707e8bd0624b986c6e26cb20bc1..5890d4c0d40dcd6f4bf197d2f9573b8f260cda6e 100644 --- a/.env.sample +++ b/.env.sample @@ -1,61 +1,49 @@ -COMPOSE_FILE=docker-compose.yml:ports.yml:postfix.yml +# For aquila style deployement +# COMPOSE_FILE=docker-compose.yml:traefik.yml + +# For local deployement +COMPOSE_FILE=docker-compose.yml:ports.yml # Host and Name for traefik + HOST=localhost NAME=peertube + + SUBNET=172.10.0.0/16 # Must be within SUBNET IP=172.10.0.10 # Database / Postgres service configuration -POSTGRES_USER=<MY POSTGRES USERNAME> -POSTGRES_PASSWORD=<MY POSTGRES PASSWORD> -# Postgres database name "peertube" +POSTGRES_USER=peertube +POSTGRES_PASSWORD=peertube POSTGRES_DB=peertube # Editable only with a suffix : #POSTGRES_DB=peertube_prod #PEERTUBE_DB_SUFFIX=_prod # MUST be the same as POSTGRE USER and PASSWORD -PEERTUBE_DB_USERNAME=<MY POSTGRES USERNAME> -PEERTUBE_DB_PASSWORD=<MY POSTGRES PASSWORD> +PEERTUBE_DB_USERNAME=peertube +PEERTUBE_DB_PASSWORD=peertube PEERTUBE_DB_SSL=false # Default to Postgres service name "postgres" in docker-compose.yml PEERTUBE_DB_HOSTNAME=postgres # PeerTube server configuration # If you test PeerTube in local: use "peertube.localhost" and add this domain to your host file resolving on 127.0.0.1 -PEERTUBE_WEBSERVER_HOSTNAME=<MY DOMAIN> +PEERTUBE_WEBSERVER_HOSTNAME=localhost # If you just want to test PeerTube on local -#PEERTUBE_WEBSERVER_PORT=9000 -#PEERTUBE_WEBSERVER_HTTPS=false +PEERTUBE_WEBSERVER_PORT=80 +PEERTUBE_WEBSERVER_HTTPS=false # If you need more than one IP as trust_proxy # pass them as a comma separated array: # Must include Subnet -PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.18.0.0/16"] +# PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.18.0.0/16"] # Generate one using `openssl rand -hex 32` -PEERTUBE_SECRET=<MY PEERTUBE SECRET> +PEERTUBE_SECRET=peertubesecret # E-mail configuration -# If you use a Custom SMTP server -#PEERTUBE_SMTP_USERNAME= -#PEERTUBE_SMTP_PASSWORD= -# Default to Postfix service name "postfix" in docker-compose.yml -# May be the hostname of your Custom SMTP server -PEERTUBE_SMTP_HOSTNAME=postfix +PEERTUBE_SMTP_HOSTNAME=mail.gandi.net PEERTUBE_SMTP_PORT=25 -PEERTUBE_SMTP_FROM=noreply@<MY DOMAIN> +PEERTUBE_SMTP_FROM=peertube@tetras-libre.fr PEERTUBE_SMTP_TLS=false PEERTUBE_SMTP_DISABLE_STARTTLS=false -PEERTUBE_ADMIN_EMAIL=<MY EMAIL ADDRESS> - -# Postfix service configuration -POSTFIX_myhostname=<MY DOMAIN> -# If you need to generate a list of sub/DOMAIN keys -# pass them as a whitespace separated string <DOMAIN>=<selector> -OPENDKIM_DOMAINS=<MY DOMAIN>=peertube -# see https://github.com/wader/postfix-relay/pull/18 -OPENDKIM_RequireSafeKeys=no - -# /!\ Prefer to use the PeerTube admin interface to set the following configurations /!\ -#PEERTUBE_SIGNUP_ENABLED=true -#PEERTUBE_TRANSCODING_ENABLED=true -#PEERTUBE_CONTACT_FORM_ENABLED=true +PEERTUBE_ADMIN_EMAIL=elian.loraux@tetras-libre.fr diff --git a/docker-compose.yml b/docker-compose.yml index 2ef0c026c64e01c7bce408f4fd8f057b71cdf038..bf9c083c05a9b087b945f99a38172838fd67011a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,6 +4,26 @@ services: peertube: image: chocobozzz/peertube:production-bookworm + # environment: + # # General configuration + # - PEERTUBE_SECRET=${PEERTUBE_SECRET} + # - PEERTUBE_WEBSERVER_HOSTNAME=${PEERTUBE_WEBSERVER_HOSTNAME} + # - PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.18.0.0/16"] + # - PEERTUBE_WEBSERVER_PORT=80 + # - PEERTUBE_WEBSERVER_HTTPS=false + # # Data base configuration + # - PEERTUBE_DB_USERNAME=${POSTGRES_USER} + # - PEERTUBE_DB_PASSWORD=${POSTGRES_PASSWORD} + # - PEERTUBE_DB_HOSTNAME=${PEERTUBE_DB_HOSTNAME} + # - PEERTUBE_DB_SSL=false + # # Email configuration + # - PEERTUBE_SMTP_HOSTNAME=${PEERTUBE_SMTP_HOSTNAME} + # - PEERTUBE_SMTP_PORT=${PEERTUBE_SMTP_PORT} + # - PEERTUBE_SMTP_FROM=${PEERTUBE_SMTP_FROM} + # - PEERTUBE_SMTP_TLS=${PEERTUBE_SMTP_TLS} + # - PEERTUBE_SMTP_DISABLE_STARTTLS=${PEERTUBE_SMTP_DISABLE_STARTTLS} + # - PEERTUBE_ADMIN_EMAIL=${PEERTUBE_ADMIN_EMAIL} + env_file: - .env volumes: @@ -11,17 +31,30 @@ services: - ./docker-volume/data:/data - ./docker-volume/config:/config depends_on: - - postgres - - redis + postgres: + condition: service_healthy + redis: + condition: service_started restart: "always" postgres: image: postgres:13-alpine + # environment: + # - POSTGRES_USER=${POSTGRES_USER} + # - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + # - POSTGRES_DB=${POSTGRES_DB} env_file: - .env volumes: - ./docker-volume/db:/var/lib/postgresql/data restart: "always" + healthcheck: + test: ["CMD-SHELL", "pg_isready", "-d", "${POSTGRES_DB}"] + interval: 30s + timeout: 60s + retries: 5 + start_period: 80s + redis: image: redis:6-alpine diff --git a/ports.yml b/ports.yml index 7edfb9a280515f4383e78237b3ede8a71aad275b..99a44b8cc732b3950411df37b2ce540224cde2e2 100644 --- a/ports.yml +++ b/ports.yml @@ -3,4 +3,4 @@ version: "3.3" services: peertube: ports: - - "9000:9000" # Uncomment if you use another webserver/proxy or test PeerTube in local, otherwise not suitable for production + - "80:9000" # Uncomment if you use another webserver/proxy or test PeerTube in local, otherwise not suitable for production