Initial commit
commit
a0da457159
@ -0,0 +1,5 @@
|
||||
peertube_version: 8.2.0
|
||||
peertube_files_dir: "/mnt/juice/peertube/data"
|
||||
peertube_config_dir: /mnt/juice/peertube/config"
|
||||
peertube_db_dir: /mnt/juice/peertube/db"
|
||||
peertube_redis_dir: /mnt/juice/peertube/redis"
|
||||
@ -0,0 +1,17 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: kuba
|
||||
description: peertube
|
||||
license: MIT
|
||||
min_ansible_version: "2.12"
|
||||
platforms:
|
||||
- name: Debian
|
||||
versions:
|
||||
- bullseye
|
||||
- bookworm
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- focal
|
||||
- jammy
|
||||
|
||||
dependencies: []
|
||||
@ -0,0 +1,37 @@
|
||||
- name: "docker compose down"
|
||||
community.docker.docker_compose_v2:
|
||||
state: "absent"
|
||||
project_src: /var/www/peertube
|
||||
register: compose_result
|
||||
failed_when: >
|
||||
compose_result.failed and
|
||||
("is not a directory" not in compose_result.msg)
|
||||
|
||||
- name: "Create the peertube directory"
|
||||
file:
|
||||
path: /var/www/peertube
|
||||
state: "directory"
|
||||
|
||||
- name: Create docker-compose.yml file for Peertube
|
||||
template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: /var/www/peertube/docker-compose.yml
|
||||
|
||||
- name: Create .env file for Peertube
|
||||
template:
|
||||
src: "env.j2"
|
||||
dest: /var/www/peertube/env
|
||||
|
||||
- name: "docker compose up -d peertube"
|
||||
community.docker.docker_compose_v2:
|
||||
state: "present"
|
||||
pull: policy
|
||||
project_src: "/var/www/peertube"
|
||||
|
||||
- ansible.builtin.lineinfile:
|
||||
path: "/backup-dirs"
|
||||
line: "/var/www/peertube"
|
||||
|
||||
- ansible.builtin.lineinfile:
|
||||
path: "/backup-dirs"
|
||||
line: "/mnt/juice/peertube"
|
||||
@ -0,0 +1,31 @@
|
||||
# modified from source: https://github.com/Chocobozzz/PeerTube/blob/master/support/docker/production/docker-compose.yml
|
||||
services:
|
||||
peertube:
|
||||
image: chocobozzz/peertube:v8.2.0-trixie
|
||||
env_file:
|
||||
- env
|
||||
ports:
|
||||
- "1935:1935" # Comment if you don't want to use the live feature
|
||||
- "127.0.0.1:{{peertube_port}}:9000"
|
||||
volumes:
|
||||
- /mnt/juice/peertube/data:/data
|
||||
- /mnt/juice/peertube/config:/config
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
restart: "always"
|
||||
pull_policy: "always"
|
||||
|
||||
postgres:
|
||||
image: postgres:17-alpine
|
||||
env_file:
|
||||
- env
|
||||
volumes:
|
||||
- /mnt/juice/peertube/db:/var/lib/postgresql/data
|
||||
restart: "always"
|
||||
|
||||
redis:
|
||||
image: redis:8-alpine
|
||||
volumes:
|
||||
- /mnt/juice/peertube/redis:/data
|
||||
restart: "always"
|
||||
@ -0,0 +1,74 @@
|
||||
# Sourced and modified from https://github.com/Chocobozzz/PeerTube/blob/master/support/docker/production/.env
|
||||
|
||||
# Database / Postgres service configuration
|
||||
POSTGRES_USER=peertube
|
||||
POSTGRES_PASSWORD=peertube
|
||||
# Postgres database name "peertube"
|
||||
POSTGRES_DB=peertube
|
||||
|
||||
# Database username and password used by PeerTube must match Postgres', so they are copied:
|
||||
PEERTUBE_DB_USERNAME=$POSTGRES_USER
|
||||
PEERTUBE_DB_PASSWORD=$POSTGRES_PASSWORD
|
||||
PEERTUBE_DB_SSL=false
|
||||
# Default to Postgres service name "postgres" in docker-compose.yml
|
||||
PEERTUBE_DB_HOSTNAME=postgres
|
||||
|
||||
# PeerTube server configuration
|
||||
PEERTUBE_WEBSERVER_HOSTNAME={{peertube_domain}}
|
||||
# If you just want to test PeerTube on local
|
||||
#PEERTUBE_WEBSERVER_PORT=9000
|
||||
#PEERTUBE_WEBSERVER_HTTPS=false
|
||||
# If you need more than one IP as trust_proxy
|
||||
# pass them as a comma separated array:
|
||||
PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback"]
|
||||
|
||||
# Generate one using `openssl rand -hex 32`
|
||||
PEERTUBE_SECRET={peertube_secret}
|
||||
|
||||
# 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_PORT=25
|
||||
PEERTUBE_SMTP_FROM=noreply@example.com
|
||||
PEERTUBE_SMTP_TLS=false
|
||||
PEERTUBE_SMTP_DISABLE_STARTTLS=false
|
||||
PEERTUBE_ADMIN_EMAIL=peertube@example.com
|
||||
|
||||
|
||||
# If you want to enable object storage for PeerTube, set the following variables.
|
||||
#PEERTUBE_OBJECT_STORAGE_ENABLED=
|
||||
#PEERTUBE_OBJECT_STORAGE_ENDPOINT=
|
||||
#PEERTUBE_OBJECT_STORAGE_REGION=
|
||||
#PEERTUBE_OBJECT_STORAGE_FORCE_PATH_STYLE=
|
||||
#PEERTUBE_OBJECT_STORAGE_CREDENTIALS_ACCESS_KEY_ID=
|
||||
#PEERTUBE_OBJECT_STORAGE_CREDENTIALS_SECRET_ACCESS_KEY=
|
||||
#PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_BUCKET_NAME=
|
||||
#PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_PREFIX=
|
||||
#PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_BASE_URL=
|
||||
#PEERTUBE_OBJECT_STORAGE_WEB_VIDEOS_BUCKET_NAME=
|
||||
#PEERTUBE_OBJECT_STORAGE_WEB_VIDEOS_PREFIX=
|
||||
#PEERTUBE_OBJECT_STORAGE_WEB_VIDEOS_BASE_URL=
|
||||
#PEERTUBE_OBJECT_STORAGE_USER_EXPORTS_BUCKET_NAME=
|
||||
#PEERTUBE_OBJECT_STORAGE_USER_EXPORTS_PREFIX=
|
||||
#PEERTUBE_OBJECT_STORAGE_USER_EXPORTS_BASE_URL=
|
||||
#PEERTUBE_OBJECT_STORAGE_ORIGINAL_VIDEO_FILES_BUCKET_NAME=
|
||||
#PEERTUBE_OBJECT_STORAGE_ORIGINAL_VIDEO_FILES_PREFIX=
|
||||
#PEERTUBE_OBJECT_STORAGE_ORIGINAL_VIDEO_FILES_BASE_URL=
|
||||
#PEERTUBE_OBJECT_STORAGE_CAPTIONS_BUCKET_NAME=
|
||||
#PEERTUBE_OBJECT_STORAGE_CAPTIONS_PREFIX=
|
||||
#PEERTUBE_OBJECT_STORAGE_CAPTIONS_BASE_URL=
|
||||
|
||||
# Comment these variables if your S3 provider does not support object ACL
|
||||
PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PUBLIC="public-read"
|
||||
PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PRIVATE="private"
|
||||
|
||||
#PEERTUBE_LOG_LEVEL=info
|
||||
|
||||
# /!\ 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
|
||||
Loading…
Reference in New Issue