this post was submitted on 15 Nov 2024
82 points (96.6% liked)

Selfhosted

40767 readers
878 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Moving away from Google. I just added my fav subs into my rss feed but that isn’t an enough to get good recs. What else can one do? Alternative front ends that work?

you are viewing a single comment's thread
view the rest of the comments
[–] bluelion 9 points 1 month ago (1 children)
[–] [email protected] 7 points 1 month ago (2 children)

Can you show your docker-compose? I've tried several times without succeeding 🤧

[–] [email protected] 9 points 1 month ago (1 children)

You can't just ask that. Not without at least taking them out to a fancy dinner first. Maybe a little dancing.

[–] [email protected] 2 points 1 month ago
[–] bluelion 3 points 1 month ago* (last edited 1 month ago)

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 🙂