1
0
Fork 0

consistent documentation and configuration in compose file

This commit is contained in:
Rigel Kent 2020-11-11 12:55:13 +01:00
parent b8f3e6b00b
commit a30995fc27
No known key found for this signature in database
GPG key ID: 5E53E96A494E452F
4 changed files with 15 additions and 12 deletions

View file

@ -40,5 +40,5 @@ More at: https://docs.traefik.io/v1.7
#### Run with traefik #### Run with traefik
```shell ```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
``` ```

View file

@ -1,7 +1,7 @@
# Docker guide # Docker guide
This guide requires [docker](https://www.docker.com/community-edition) and 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 ## 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 **PeerTube does not support webserver host change**. Keep in mind your domain
name is definitive after your first PeerTube start. 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 ```shell
cd /your/peertube/directory 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 $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 ```shell
$EDITOR ./.env $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. 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 ```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.082 info: Username: root
peertube_1 | [example.com:443] 2019-11-16 04:26:06.083 info: User password: abcdefghijklmnop 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 : Run `cat ./docker-volume/opendkim/keys/*/*.txt` to display your DKIM DNS TXT Record containing the public key to configure to your domain :
```bash ```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; " peertube._domainkey.mydomain.tld. IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Dx7wLGPFVaxVQ4TGym/eF89aQ8oMxS9v5BCc26Hij91t2Ci8Fl12DHNVqZoIPGm+9tTIoDVDFEFrlPhMOZl8i4jU9pcFjjaIISaV2+qTa8uV1j3MyByogG8pu4o5Ill7zaySYFsYB++cHJ9pjbFSC42dddCYMfuVgrBsLNrvEi3dLDMjJF5l92Uu8YeswFe26PuHX3Avr261n" "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Dx7wLGPFVaxVQ4TGym/eF89aQ8oMxS9v5BCc26Hij91t2Ci8Fl12DHNVqZoIPGm+9tTIoDVDFEFrlPhMOZl8i4jU9pcFjjaIISaV2+qTa8uV1j3MyByogG8pu4o5Ill7zaySYFsYB++cHJ9pjbFSC42dddCYMfuVgrBsLNrvEi3dLDMjJF5l92Uu8YeswFe26PuHX3Avr261n"

View file

@ -6,6 +6,7 @@ services:
# nginx configuration file. It runs the default nginx configuration without HTTPS nor SSL, # 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. # so use it in production in tandem with an SSL-terminating reverse-proxy.
webserver: webserver:
image: chocobozzz/peertube:webserver
build: build:
context: . context: .
dockerfile: Dockerfile.nginx dockerfile: Dockerfile.nginx
@ -16,9 +17,9 @@ services:
# - "9000:80" # serving HTTP # - "9000:80" # serving HTTP
volumes: volumes:
- type: bind - type: bind
# Switch sources if you downloaded the nginx configuration without the whole repository # Switch sources if you downloaded the whole repository
#source: ./peertube #source: ../../nginx/peertube
source: ../../nginx/peertube source: ./docker-volume/nginx/peertube
target: /etc/nginx/conf.d/peertube.template target: /etc/nginx/conf.d/peertube.template
- assets:/var/www/peertube/peertube-latest/client/dist:ro - assets:/var/www/peertube/peertube-latest/client/dist:ro
- ./docker-volume/data:/var/www/peertube/storage - ./docker-volume/data:/var/www/peertube/storage
@ -48,7 +49,7 @@ services:
restart: "always" restart: "always"
postgres: postgres:
image: postgres:10-alpine image: postgres:13-alpine
env_file: env_file:
- .env - .env
volumes: volumes:
@ -56,7 +57,7 @@ services:
restart: "always" restart: "always"
redis: redis:
image: redis:5-alpine image: redis:6-alpine
volumes: volumes:
- ./docker-volume/redis:/data - ./docker-volume/redis:/data
restart: "always" restart: "always"

View file

@ -9,7 +9,7 @@ export PEERTUBE_HOST="peertube:9000"
envsubst '${WEBSERVER_HOST} ${PEERTUBE_HOST}' < $SOURCE_FILE > $TARGET_FILE 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 sed -i 's/443 ssl http2/80/g;/ssl_/d' $TARGET_FILE
nginx -g "daemon off;" nginx -g "daemon off;"