The configuration for
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Felix 6d36e1a498 comment out "add peertube config" task 1 month ago
templates Upgrade to Peertube 2.1.0 1 month ago
.gitignore Use example file for inventory, instead of committing own file 11 months ago
LICENSE Add AGPL license 10 months ago Update readme 8 months ago
ansible.cfg Convert project to ansible 11 months ago
inventory.example Use variable for letsencrypt contact email 9 months ago Add comment to 10 months ago
peertube-centos.yml Add become to playbooks 3 months ago
peertube-ubuntu.yml comment out "add peertube config" task 1 month ago

Peertube setup with Ansible and Docker-Compose

This repo lets you easily setup a Peertube server based on docker-compose.

There is also a migration script to migrate from the default Peertube setup to this setup. Use it at your own risk, and make sure to test and backup before doing this migration.

This project is based on the Peertube docker-compose example.

You can contact me on the Fediverse about this project:


  • easy, automatic setup
  • integrated Let's Encrypt certificate handling
  • file caching with nginx (to limit backend access and Peertube CPU usage)
  • email sending works out of the box


Clone the repo onto your local machine.

Copy inventory.example to inventory, and configure the hosts you want to work with.

Install Python and Ansible on your local machine:

apt install python2-pip
pip2 install ansible

Run the playbook:

ansible-playbook --become peertube.yml

The first time you run it, Ansible will output the root password.

Note: If you use this for an existing Peertube instance, make sure the file passwords/*your-server*/postgres exists and contains the correct password. Otherwise Ansible will change the password in Peertube, and it won't be able to connect to the database.