How to Self Host your own Piped Instance

Piped is a privacy-first, open-source alternative YouTube front-end. No Google tracking, no ads (even on videos that normally have unskippable ones), and it works perfectly with SponsorBlock and dearrow. Self-hosting your own instance is incredibly easy with Docker and takes less than 20 minutes.

5 months ago   •   2 min read

By Aquasp
Table of contents

Introduction

Piped is a privacy-first, open-source alternative YouTube front-end. No Google tracking, no ads (even on videos that normally have unskippable ones), and it works perfectly with SponsorBlock and dearrow.

Self-hosting your own instance is incredibly easy with Docker and takes less than 20 minutes.

Requirements

  • A domain (or subdomain)
  • A cheap KVM VPS with Docker support (avoid OpenVZ — old kernel)
  • ~$3–6/month is more than enough (1 CPU, 1–2 GB RAM)

Great cheap providers in 2025:

Step 1: Secure & Prepare Your VPS

(SSH keys only, firewall, etc. — do this first!)

Then install Docker (Ubuntu/Debian example):

apt update && apt upgrade -y
apt install -y ca-certificates curl gnupg lsb-release

# Add Docker repo
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list

apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

Step 2: Deploy Piped with the Official Docker Setup

cd /opt
git clone https://github.com/TeamPiped/Piped-Docker
cd Piped-Docker
./configure-instance.sh

During the script:

  • Choose Caddy as reverse proxy (easiest + automatic SSL)
  • Enter your domain and subdomains:
    • Frontend → piped.yourdomain.com
    • Backend API → pipedapi.yourdomain.com
    • Proxy → pipedproxy.yourdomain.com

Step 3: Point DNS to Your VPS

Create three A records at your DNS provider:

piped.yourdomain.com        → VPS_IP
pipedapi.yourdomain.com     → VPS_IP
pipedproxy.yourdomain.com   → VPS_IP

Step 4: Launch Everything

docker compose up -d

That’s it!
After DNS propagates (usually < 10 minutes), your private YouTube will be live at:

https://piped.yourdomain.com

Caddy automatically handles free Let’s Encrypt SSL — no manual certbot needed.

Step 5: (Optional) Check Logs

Bash

# See what Caddy is doing
docker logs -f caddy

# Or any other container
docker logs -f piped-frontend

Bonus Tips

  • Want to make it public? Just share the URL — anyone can use your instance.
  • Want it private? Block it with Cloudflare firewall rules or basic auth in Caddy.
  • Pair it with the LibreTube (Android) app for the full de-Googled experience.

You now have your own ad-free, tracking-free, SponsorBlock-enabled YouTube — fully under your control.

If this guide helped you, feel free to share it or subscribe to The Self Hosting Art. Thanks for reading!

Spread the word

Keep reading