Fork me on GitHub

Herr Knedel/Hal-hal hebat dengan kontainer: Portal video sendiri dengan PeerTube

Created Mon, 05 Apr 2021 00:00:00 +0000 Modified Sat, 01 Oct 2022 10:36:48 +0000 Schwierigkeitsgrad: Für jeden machbar

463 Words

Dengan Peertube Anda dapat membuat portal video Anda sendiri. Hari ini saya menunjukkan bagaimana saya menginstal Peertube pada stasiun disk Synology saya.

Langkah 1: Siapkan Synology

Pertama, login SSH harus diaktifkan pada DiskStation. Untuk melakukan ini, buka “Control Panel” > “Terminal

Kemudian, Anda bisa log masuk melalui “SSH”, port yang ditentukan dan kata sandi administrator. Saya log masuk melalui Terminal, winSCP atau Putty dan membiarkan konsol ini terbuka untuk nanti.

Langkah 2: Siapkan folder Docker

Saya membuat direktori baru bernama “Peertube” di direktori Docker.

Kemudian saya masuk ke direktori Peertube dan membuat file baru yang disebut “peertube.yml” dengan konten berikut. Untuk port, bagian depan “9000:” dapat disesuaikan. Jilid kedua berisi semua video, daftar putar, thumbnail dll… dan oleh karena itu harus disesuaikan.

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:

File ini dimulai melalui Docker Compose:

x
+
Terminal

$ sudo docker-compose -f compose-file-name.yml up -d

Setelah itu, saya dapat memanggil server Peertube saya dengan IP dari disk station dan port yang ditetapkan dari “Langkah 2”. Bagus! Nama pengguna adalah “root” dan kata sandi adalah “password” (atau langkah 2 / PT_INITIAL_ROOT_PASSWORD).

Kustomisasi tema

Sangat mudah untuk menyesuaikan tampilan Peertube. Untuk melakukan ini, saya klik “Administration” > “Settings” dan “Advanced settings”.

Di sana saya telah memasukkan yang berikut ini dalam bidang CSS:

body#custom-css {
--mainColor: #3598dc;
--mainHoverColor: #3598dc;
--mainBackgroundColor: #FAFAFA;
--mainForegroundColor: #888888;
--menuBackgroundColor: #f5f5f5;
--menuForegroundColor: #888888;
--submenuColor: #fff;
--inputColor: #fff;
--inputPlaceholderColor: #898989;
}

Istirahat API

PeerTube memiliki Rest API yang luas dan terdokumentasi dengan baik: https://docs.joinpeertube.org/api-rest-reference.html.

Mencari video dapat dilakukan dengan perintah ini:
x
+
Terminal

$ curl -s "http://pree-tube/api/v1search/videos?search=docker&languageOneOf=de"

Autentikasi dan token sesi diperlukan untuk unggahan, misalnya:

#!/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' 

Tips saya: Baca “Hal-hal hebat dengan kontainer: membuat layanan Docker lebih aman dengan LDAP dan NGINX”.

Saya menjalankan Peertube saya dengan proxy terbalik. Ini berarti bahwa hanya pengguna LDAP yang bisa mengakses layanan ini. Saya telah mendokumentasikan penyiapan ini di bawah “Hal-hal hebat dengan kontainer: Membuat layanan Docker lebih aman dengan LDAP dan NGINX”.