Piped ist eine bemerkenswerte Open-Source-Alternative zu YouTube, die mit dem Ziel entwickelt wurde, den Nutzern eine privacy-freundliche und weniger restriktive Plattform zum Ansehen von YouTube-Inhalten zu bieten. Hervorgegangen aus dem Bedürfnis, eine Lösung gegen die zunehmende Anzahl von Werbeanzeigen, Tracking und anderen Einschränkungen auf YouTube zu finden, positioniert sich Piped als eine leistungsstarke Option für diejenigen, die ein unbelastetes Seherlebnis suchen.
Danke an @pinns für deine Bereitstellung der Anleitung.
Darum | Änderungen |
---|---|
11.03.2024 | Erstellung dieser Anleitung |
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN
2. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/piped
3. Aktuelle Version downloaden
Nun laden wir uns mittels git die aktuelle Version herunter.
git clone https://github.com/TeamPiped/Piped-Docker /opt/containers/piped
4. Konfiguration ausführen
Nun starten wir die Konfiguration. Hier legt ihr die FQDN für Piped fest. Dazu gebt ihr folgendes ein:
cd /opt/containers/piped ./configure-instance.sh
Gebt jetzt eure Domain ein und beim letzten Schritt “nginx”.
Enter a hostname for the Frontend (eg: piped.kavin.rocks): piped.euredomain.de Enter a hostname for the Backend (eg: pipedapi.kavin.rocks): pipedapi.euredomain.de Enter a hostname for the Proxy (eg: pipedproxy.kavin.rocks): pipedproxy.euredomain.de Enter the reverse proxy you would like to use (either caddy or nginx): nginx
5. Docker Compose anpassen
Nun passen wir die Docker Compose Datei etwas an.
nano /opt/containers/piped/docker-compose.yml
Ich zeige hier, was ihr alles hinzufügen müsst. Später zeige ich dann meine komplette Docker Compose Datei.
auskommentieren: nginx: #ports: #- "8080:80" anpassen: nginx: - "traefik.http.services.piped.loadbalancer.server.port=80" hinzufügen: nginx: labels: - "traefik.http.routers.piped.tls=true" - "traefik.http.routers.piped.tls.certresolver=http_resolver" - "traefik.http.routers.piped.service=piped" - "traefik.docker.network=proxy" - "traefik.http.routers.piped.middlewares=default@file" networks: - default - proxy watchtower: networks: - default - proxy networks: proxy: external: true
So sieht es bei mir aus:
version: "3" services: pipedfrontend: image: 1337kavin/piped-frontend:latest restart: unless-stopped depends_on: - piped container_name: piped-frontend entrypoint: ash -c 'sed -i s/pipedapi.kavin.rocks/pipedapi.fatalplayers.de/g /usr/share/nginx/html/assets/* && /docker-entrypoint.sh && nginx -g "daemon off;"' piped-proxy: image: 1337kavin/piped-proxy:latest restart: unless-stopped environment: - UDS=1 volumes: - piped-proxy:/app/socket container_name: piped-proxy piped: image: 1337kavin/piped:latest restart: unless-stopped volumes: - ./config/config.properties:/app/config.properties:ro depends_on: - postgres container_name: piped-backend nginx: image: nginx:mainline-alpine restart: unless-stopped #ports: #- "8080:80" volumes: - ./config/nginx.conf:/etc/nginx/nginx.conf:ro - ./config/pipedapi.conf:/etc/nginx/conf.d/pipedapi.conf:ro - ./config/pipedproxy.conf:/etc/nginx/conf.d/pipedproxy.conf:ro - ./config/pipedfrontend.conf:/etc/nginx/conf.d/pipedfrontend.conf:ro - ./config/ytproxy.conf:/etc/nginx/snippets/ytproxy.conf:ro - piped-proxy:/var/run/ytproxy container_name: nginx depends_on: - piped - piped-proxy - pipedfrontend labels: - "traefik.enable=true" - "traefik.http.routers.piped.rule=Host(`piped.euredomain.de`, `pipedapi.euredomain.de`, `pipedproxy.euredomain.de`)" - "traefik.http.routers.piped.entrypoints=websecure" - "traefik.http.services.piped.loadbalancer.server.port=80" - "traefik.http.routers.piped.tls=true" - "traefik.http.routers.piped.tls.certresolver=http_resolver" - "traefik.http.routers.piped.service=piped" - "traefik.docker.network=proxy" - "traefik.http.routers.piped.middlewares=default@file" networks: - default - proxy postgres: image: postgres:15 restart: unless-stopped volumes: - ./data/db:/var/lib/postgresql/data environment: - POSTGRES_DB=piped - POSTGRES_USER=piped - POSTGRES_PASSWORD=changeme container_name: postgres watchtower: image: containrrr/watchtower restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - /etc/timezone:/etc/timezone:ro environment: - WATCHTOWER_CLEANUP=true - WATCHTOWER_INCLUDE_RESTARTING=true container_name: watchtower command: piped-frontend piped-backend piped-proxy varnish nginx postgres watchtower networks: - default - proxy volumes: piped-proxy: null networks: proxy: external: true
6. Piped starten
Nun können wir Piped starten. Dazu gebt ihr folgendes ein:
docker compose -f /opt/containers/piped/docker-compose.yml up -d
Wenn ihr nun auf eure Homepage geht, solltet ihr folgendes sehen: