PeerTube/support/doc/docker.md

2.6 KiB

Docker guide

You can quickly get a server running using Docker. You need to have docker and docker-compose installed.

Production

Install

PeerTube does not support webserver host change. Keep in mind your domain name is definitive after your first PeerTube start.

PeerTube needs a PostgreSQL and a Redis instance to work correctly. If you want to quickly set up a full environment, either for trying the service or in production, you can use a docker-compose setup.

$ cd /your/peertube/directory
$ mkdir ./docker-volume && mkdir ./docker-volume/traefik
$ curl "https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/config/traefik.toml" > ./docker-volume/traefik/traefik.toml
$ touch ./docker-volume/traefik/acme.json && chmod 600 ./docker-volume/traefik/acme.json
$ curl -s "https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml" -o docker-compose.yml "https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/.env" -o .env

Update the reverse proxy configuration:

$ vim ./docker-volume/traefik/traefik.toml

Tweak the docker-compose.yml file there according to your needs:

$ vim ./docker-compose.yml

Then tweak the .env file to change the enviromnent variables:

$ vim ./.env

Other environment variables are used in support/docker/production/config/custom-environment-variables.yaml and can be intuited from usage.

You can use the regular up command to set it up:

$ docker-compose up

Important: note that you'll get the initial root user password from the program output, so check out your logs to find them.

What now?

See the production guide "What now" section.

Upgrade

Important: Before upgrading, check you have all the storage fields in your production.yaml file.

Pull the latest images and rerun PeerTube:

$ cd /your/peertube/directory
$ docker-compose pull
$ docker-compose up -d

Build your own Docker image

$ git clone https://github.com/chocobozzz/PeerTube /tmp/peertube
$ cd /tmp/peertube
$ docker build . -f ./support/docker/production/Dockerfile.stretch

Development

We don't have a Docker image for development. See the CONTRIBUTING guide for more information on how you can hack PeerTube!