Peertube ile kendi video portalınızı oluşturabilirsiniz. Bugün Peertube’u Synology disk istasyonuma nasıl yüklediğimi göstereceğim.
Adım 1: Synology’yi Hazırlayın
İlk olarak, DiskStation üzerinde SSH oturum açma etkinleştirilmelidir. Bunu yapmak için, “Denetim Masası” > “Terminal
Ardından “SSH”, belirtilen bağlantı noktası ve yönetici parolası ile oturum açabilirsiniz.
Terminal, winSCP veya Putty ile oturum açıyorum ve bu konsolu daha sonra kullanmak üzere açık bırakıyorum.
Adım 2: Docker klasörünü hazırlayın
Docker dizininde “Peertube” adında yeni bir dizin oluşturuyorum.
Ardından Peertube dizinine giriyorum ve aşağıdaki içeriğe sahip “peertube.yml” adında yeni bir dosya oluşturuyorum. Bağlantı noktası için ön kısım “9000:” ayarlanabilir. İkinci cilt tüm videoları, oynatma listesini, küçük resimleri vb. içerir ve bu nedenle uyarlanmalıdır.
version: "3.7"
services:
peertube:
image: chocobozzz/peertube:contain-buster
container_name: peertube_peertube
ports:
- "9000:9000"
volumes:
- ./config:/config
- ./videos:/data
environment:
- TZ="Europe/Berlin"
- PT_INITIAL_ROOT_PASSWORD=password
- PEERTUBE_WEBSERVER_HOSTNAME=ip
- PEERTUBE_WEBSERVER_PORT=port
- PEERTUBE_WEBSERVER_HTTPS=false
- PEERTUBE_DB_USERNAME=peertube
- PEERTUBE_DB_PASSWORD=peertube
- PEERTUBE_DB_HOSTNAME=postgres
- POSTGRES_DB=peertube
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- PEERTUBE_REDIS_HOSTNAME=redis
- PEERTUBE_ADMIN_EMAIL=himself@christian-knedel.de
depends_on:
- postgres
- redis
restart: "always"
networks:
- peertube
postgres:
restart: always
image: postgres:12
container_name: peertube_postgres
volumes:
- ./postgresql:/var/lib/postgresql/data
environment:
- POSTGRES_USER=peertube
- POSTGRES_PASSWORD=peertube
- POSTGRES_DB=peertube
networks:
- peertube
redis:
image: redis:4-alpine
container_name: peertube_redis
volumes:
- ./redis:/data
restart: "always"
networks:
- peertube
expose:
- "6379"
networks:
peertube:
Bu dosya Docker Compose aracılığıyla başlatılır:
$ sudo docker-compose -f compose-file-name.yml up -d
Kullanıcı adı “root” ve parola “password” (veya adım 2 / PT_INITIAL_ROOT_PASSWORD).
Tema özelleştirme
Peertube’un görünümünü özelleştirmek çok kolaydır. Bunu yapmak için, “Yönetim” > “Ayarlar” ve “Gelişmiş ayarlar “a tıklıyorum.
Orada CSS alanına aşağıdakileri girdim:
body#custom-css {
--mainColor: #3598dc;
--mainHoverColor: #3598dc;
--mainBackgroundColor: #FAFAFA;
--mainForegroundColor: #888888;
--menuBackgroundColor: #f5f5f5;
--menuForegroundColor: #888888;
--submenuColor: #fff;
--inputColor: #fff;
--inputPlaceholderColor: #898989;
}
Dinlenme API’si
PeerTube kapsamlı ve iyi belgelenmiş bir Rest API’ye sahiptir: https://docs.joinpeertube.org/api-rest-reference.html.
Bu komutla video aramak mümkündür:
$ curl -s "http://pree-tube/api/v1search/videos?search=docker&languageOneOf=de"
#!/bin/bash
USERNAME="user"
PASSWORD="password"
API_PATH="http://peertube-adresse/api/v1"
client_id=$(curl -s "$API_PATH/oauth-clients/local" | jq -r ".client_id")
client_secret=$(curl -s "$API_PATH/oauth-clients/local" | jq -r ".client_secret")
token=$(curl -s "$API_PATH/users/token" \
--data client_id="$client_id" \
--data client_secret="$client_secret" \
--data grant_type=password \
--data response_type=code \
--data username="$USERNAME" \
--data password="$PASSWORD" \
| jq -r ".access_token")
curl -s '$API_PATH/videos/upload'-H 'Authorization: Bearer $token' --max-time 11600 --form videofile=@'/scripte/output.mp4' --form name='mein upload'
Tavsiyem: “Konteynerlerle harika şeyler: Docker hizmetlerini LDAP ve NGINX ile daha güvenli hale getirmek” başlıklı yazıyı okuyun.
Peertube’umu bir ters proxy ile çalıştırıyorum. Bu, yalnızca LDAP kullanıcılarının bu hizmete erişebileceği anlamına gelir. Bu kurulumu “Konteynerlerle harika şeyler: Docker hizmetlerini LDAP ve NGINX ile daha güvenli hale getirme” altında belgeledim.