From 60f9ddc0be4fc05d161e8fb7e6cbeea819c10296 Mon Sep 17 00:00:00 2001
From: Elian Loraux <elian.loraux@tetras-libre.fr>
Date: Wed, 27 Nov 2024 16:28:54 +0100
Subject: [PATCH] =?UTF-8?q?=C3=A7a=20marche=20en=20local=20Je=20clean=20et?=
 =?UTF-8?q?=20repush?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .env.sample        | 52 ++++++++++++++++++----------------------------
 docker-compose.yml | 37 +++++++++++++++++++++++++++++++--
 ports.yml          |  2 +-
 3 files changed, 56 insertions(+), 35 deletions(-)

diff --git a/.env.sample b/.env.sample
index fbe3327..5890d4c 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 2ef0c02..bf9c083 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 7edfb9a..99a44b8 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
-- 
GitLab