From a30995fc27e697359d195e5c03127034d9c4e7ca Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Wed, 11 Nov 2020 12:55:13 +0100 Subject: [PATCH] consistent documentation and configuration in compose file --- support/doc/docker-traefik.md | 2 +- support/doc/docker.md | 12 +++++++----- support/docker/production/docker-compose.yml | 11 ++++++----- support/docker/production/entrypoint.nginx.sh | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/support/doc/docker-traefik.md b/support/doc/docker-traefik.md index fcd63364a..eb480ec53 100644 --- a/support/doc/docker-traefik.md +++ b/support/doc/docker-traefik.md @@ -40,5 +40,5 @@ More at: https://docs.traefik.io/v1.7 #### Run with traefik ```shell -docker-compose -f {docker-compose.yml,docker-compose.traefik.yml} up -d +docker-compose -f docker-compose.yml docker-compose.traefik.yml up -d ``` diff --git a/support/doc/docker.md b/support/doc/docker.md index e55aee9fc..cf3a0db0b 100644 --- a/support/doc/docker.md +++ b/support/doc/docker.md @@ -1,7 +1,7 @@ # Docker guide This guide requires [docker](https://www.docker.com/community-edition) and -[docker-compose](https://docs.docker.com/compose/install/) installed. +[docker-compose](https://docs.docker.com/compose/install/). ## Production @@ -10,7 +10,9 @@ This guide requires [docker](https://www.docker.com/community-edition) and **PeerTube does not support webserver host change**. Keep in mind your domain name is definitive after your first PeerTube start. -#### Go to your peertube workdir +#### Go to your workdir + +_note_: the guide that follows assumes an empty workdir, but you can also clone the repository, use the master branch and `cd support/docker/production`. ```shell cd /your/peertube/directory @@ -38,7 +40,7 @@ View the source of the file you're about to download: [.env](https://github.com/ $EDITOR ./docker-compose.yml ``` -#### Then tweak the `.env` file to change the environment variables +#### Then tweak the `.env` file to change the environment variables settings ```shell $EDITOR ./.env @@ -72,7 +74,7 @@ docker-compose up Now that you've installed your PeerTube instance you'll want to grep your peertube container's logs for the `root` password. You're going to want to run `docker-compose logs peertube | grep -A1 root` to search the log output for your new PeerTube's instance admin credentials which will look something like this. ```bash -user@s:~/peertube|master⚡ ⇒ docker-compose logs peertube | grep -A1 root +$ docker-compose logs peertube | grep -A1 root peertube_1 | [example.com:443] 2019-11-16 04:26:06.082 info: Username: root peertube_1 | [example.com:443] 2019-11-16 04:26:06.083 info: User password: abcdefghijklmnop @@ -85,7 +87,7 @@ peertube_1 | [example.com:443] 2019-11-16 04:26:06.083 info: User password: abc Run `cat ./docker-volume/opendkim/keys/*/*.txt` to display your DKIM DNS TXT Record containing the public key to configure to your domain : ```bash -user@s:~/peertube|master⚡ ⇒ cat ./docker-volume/opendkim/keys/*/*.txt +$ cat ./docker-volume/opendkim/keys/*/*.txt peertube._domainkey.mydomain.tld. IN TXT ( "v=DKIM1; h=sha256; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Dx7wLGPFVaxVQ4TGym/eF89aQ8oMxS9v5BCc26Hij91t2Ci8Fl12DHNVqZoIPGm+9tTIoDVDFEFrlPhMOZl8i4jU9pcFjjaIISaV2+qTa8uV1j3MyByogG8pu4o5Ill7zaySYFsYB++cHJ9pjbFSC42dddCYMfuVgrBsLNrvEi3dLDMjJF5l92Uu8YeswFe26PuHX3Avr261n" diff --git a/support/docker/production/docker-compose.yml b/support/docker/production/docker-compose.yml index d17dbd0df..bce9426d2 100644 --- a/support/docker/production/docker-compose.yml +++ b/support/docker/production/docker-compose.yml @@ -6,6 +6,7 @@ services: # nginx configuration file. It runs the default nginx configuration without HTTPS nor SSL, # so use it in production in tandem with an SSL-terminating reverse-proxy. webserver: + image: chocobozzz/peertube:webserver build: context: . dockerfile: Dockerfile.nginx @@ -16,9 +17,9 @@ services: # - "9000:80" # serving HTTP volumes: - type: bind - # Switch sources if you downloaded the nginx configuration without the whole repository - #source: ./peertube - source: ../../nginx/peertube + # Switch sources if you downloaded the whole repository + #source: ../../nginx/peertube + source: ./docker-volume/nginx/peertube target: /etc/nginx/conf.d/peertube.template - assets:/var/www/peertube/peertube-latest/client/dist:ro - ./docker-volume/data:/var/www/peertube/storage @@ -48,7 +49,7 @@ services: restart: "always" postgres: - image: postgres:10-alpine + image: postgres:13-alpine env_file: - .env volumes: @@ -56,7 +57,7 @@ services: restart: "always" redis: - image: redis:5-alpine + image: redis:6-alpine volumes: - ./docker-volume/redis:/data restart: "always" diff --git a/support/docker/production/entrypoint.nginx.sh b/support/docker/production/entrypoint.nginx.sh index 4d2ead966..670ce84a3 100644 --- a/support/docker/production/entrypoint.nginx.sh +++ b/support/docker/production/entrypoint.nginx.sh @@ -9,7 +9,7 @@ export PEERTUBE_HOST="peertube:9000" envsubst '${WEBSERVER_HOST} ${PEERTUBE_HOST}' < $SOURCE_FILE > $TARGET_FILE -# Remove HTTPS/SSL from nginx conf +# Remove HTTPS/SSL from nginx conf since this image is meant as a webserver _behind_ a reverse-proxy doing TLS termination itself sed -i 's/443 ssl http2/80/g;/ssl_/d' $TARGET_FILE nginx -g "daemon off;" \ No newline at end of file -- 2.41.0