I used a public instance of Piped for a while and thought about selfhosting it, but the installation process was incredibly hard, to the point of being obnoxious, and in the end, it didn’t even work. I liked the features I saw on the public instances and would like to revisit it some time. Until there I’m using Viewtube. Installation was a breeze and it looks pretty nice.

Do you have some other YT frontend that we could try, post it here and tell us how easy/difficult it is to run and your opinion about it.

  • @gobbling871
    link
    English
    11 year ago

    No minimum requirements. And here you go:

    #version: "3.8"
    services:
      invidious:
        image: quay.io/invidious/invidious:latest
        restart: unless-stopped
        security_opt:
          - no-new-privileges
        container_name: invidious
        stop_grace_period: 3s
        ports:
          - 127.0.0.1:3000:3000
        environment:
          INVIDIOUS_CONFIG: |
            db:
              dbname: invidious
              user: invidious
              password: superstrongpassword491
              host: postgres
              port: 5432
            check_tables: true
            popular_enabled: true
            login_enabled: false
            statistics_enabled: true
            hsts: true
            hmac_key: *PICK-A-LONG-RANDOM-STRING*
            https_only: true
            external_port: 443
            use_quic: true
            database_url: postgres://invidious:superstrongpassword491@postgres/invidious?auth_methods=md5,scram-sha-256
            force_resolve: ipv4
            domain: *your.domain.com*
        healthcheck:
          test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/comments/jNQXAC9IVRw || exit 1
          interval: 30s
          timeout: 5s
          retries: 2
        depends_on:
          - postgres
    
      postgres:
        image: postgres:15-alpine
        container_name: postgres
        security_opt:
          - no-new-privileges
        restart: always
        # purposefully excluded volumes section
        # the database will reset on recreate
        environment:
          POSTGRES_DB: invidious
          POSTGRES_USER: invidious
          POSTGRES_PASSWORD: superstrongpassword491
        healthcheck:
          test: pg_isready -U invidious -d invidious
          interval: 10s
          timeout: 5s
          retries: 5