• 1 Post
  • 6 Comments
Joined 2 months ago
cake
Cake day: September 25th, 2024

help-circle

  • 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:

    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
    
    .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 🙂