IceWhaleTech / CasaOS-AppStore

Manifest files for CasaOS Apps
Apache License 2.0
156 stars 261 forks source link

[App Request] Invidious #92

Open ghost opened 1 year ago

ghost commented 1 year ago

App Information

Why do you want this app?

It is an unparalleled alternative to Youtube's front end and one that respects your privacy. Setup process is a breeze, however since CasaOS does not support importing multiple services via docker-compose, transferring it to CasaOS is a bit more complex. Adding it to the app store would be a welcome addition.

Additional information?

The Invidious docker image is only available on Quay because, unlike Docker Hub, Quay is Free and Open Source Software.

Ample documentation available at https://docs.invidious.io/installation/

fawaz006 commented 1 year ago

+1

simurech commented 1 year ago

Update?

ItsMeNJC commented 3 months ago

+1

MichielSaey commented 2 months ago

+1

MichielSaey commented 1 month ago

I have been trying to install Invidious manually to no success. Not on Cacaos at least, I managed to get it running locally, with the same script, but when I import it into Cacaos I just get a blank settings screen, so apparently it wasn't in the mood.

And even when I got a window that worked, I get a 502 error for a bad gateway, when trying to launch. It might be because of the Quay image? There is a docker image, but it is not official, and I got the same results.

As stated in the documentation, I first had to pull the Invidious repo, but I have got quite used to ssh into Cacaos to get what I want.

I did have to change the port, already had something running on 3000.

Cacaos also doest know how to parse the nested environment from the Invidious docker compose file.

        db:
          dbname: invidious
          user: kemal
          password: kemal
          host: invidious-db
          port: 5432

This just becomes one variable, with everything else inside it. I flattened it to:

INVIDIOUS_DB_DBNAME: invidious
INVIDIOUS_DB_USER: kemal 
INVIDIOUS_DB_PASSWORD: kemal
INVIDIOUS_DB_HOST: invidious-db
INVIDIOUS_DB_PORT: 5432
INVIDIOUS_CHECK_TABLES: true
INVIDIOUS_HMAC_KEY: "Cahnge me to a random 20 char password"

I don't know any more, this was a rather frustrating afternoon, so I leave you with my docker fill, and I will return when this is an item in the store, or somebody else manages to get it up and running.

version: "3"
services:
  invidious:
    image: quay.io/invidious/invidious:latest
    restart: unless-stopped
    ports:
      - "3115:3000"
    environment:
      INVIDIOUS_DB_DBNAME: invidious
      INVIDIOUS_DB_USER: kemal
      INVIDIOUS_DB_PASSWORD: kemal
      INVIDIOUS_DB_HOST: invidious-db
      INVIDIOUS_DB_PORT: 5432
      INVIDIOUS_CHECK_TABLES: true
      INVIDIOUS_HMAC_KEY: poo3eThah3euraepiegh
    healthcheck:
      test: wget -nv --tries=1 --spider http://127.0.0.1:3115/api/v1/trending || exit 1
      interval: 30s
      timeout: 5s
      retries: 2
    logging:
      options:
        max-size: "1G"
        max-file: "4"
    depends_on:
      - invidious-db

  invidious-db:
    image: docker.io/library/postgres:14
    restart: unless-stopped
    volumes:
      - postgresdata:/var/lib/postgresql/data
      - ./DATA/AppData/invidious/config/sql:/config/sql
      - ./DATA/AppData/invidious/docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
    environment:
      POSTGRES_DB: invidious
      POSTGRES_USER: kemal
      POSTGRES_PASSWORD: kemal
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]

volumes:
  postgresdata:
elliottophellia commented 1 month ago

+1