Before anything, you'll want to create a folder for the unix socket: mkdir /var/run/ytproxy
and chown it to your reverse proxy's user and group.
The Docker files:
::: spoiler compose.yml
services:
piped-frontend:
image: 1337kavin/piped-frontend:latest
container_name: piped-frontend
environment:
BACKEND_HOSTNAME: $API_ENDPOINT
depends_on:
- piped
restart: unless-stopped
networks:
- proxy
piped-proxy:
image: 1337kavin/piped-proxy:latest
container_name: piped-proxy
environment:
- UDS=1
volumes:
- /var/run/ytproxy:/app/socket # unix socket location
user: 1000:1000
restart: unless-stopped
networks:
- proxy
piped:
image: 1337kavin/piped:latest
container_name: piped-backend
volumes:
- ./piped/config/config.properties:/app/config.properties:ro
depends_on:
- piped-db
restart: unless-stopped
networks:
- backend_piped
- proxy
piped-db:
image: pgautoupgrade/pgautoupgrade:16-alpine
container_name: piped-db
environment:
- POSTGRES_DB=$DB_NAME
- POSTGRES_USER=$DB_USER
- POSTGRES_PASSWORD=$DB_PASS
volumes:
- ./piped/pgdb:/var/lib/postgresql/data
restart: unless-stopped
networks:
- backend_piped
networks:
backend_piped:
proxy:
external: true
:::
::: spoiler .env
API_ENDPOINT= # no scheme prefix (ex. pipedapi.domain.example)
DB_NAME=
DB_USER=
DB_PASS=
:::
To configure the reverse proxy (I use nginx), you can use Piped's recommended files with your domains. The linked repo also contains a template for the required config.properties
.
Let me know if you run into issues, I'll be glad to help 🙂
I use a private Piped instance