<<

Come ho installato localmente invidious

Piccolo articolo veloce per spiegare come installare localmente una propria istanza invidious, in modo da vedere i video dei tuoi youtuber preferiti senza essere tracciato da YouTube.

Pacchetti richiesti

Invidious può essere installato sia tramite Docker che tramite Podman, ma in questo caso vedremo la seconda opzione.

Quindi, prima di cominciare, bisogna installare Podman sul nostro computer tramite questo comando:

 sudo dnf install podman-compose pwgen

Ora possiamo cominciare.

Installare Invidious

In primis bisogna scaricare la Github il repository ufficiale di Invidious ed entrare dentro la directory appena creata

git clone https://github.com/iv-org/invidious.git
cd invidious

Il passo successivo consiste nell’editare il file docker-compose.yml con queste modifiche:

Aggiungi l’image di Invidious:

image: quay.io/invidious/invidious:latest

Cambiare la Porta:

 ports: - "3000:3000"

Cambiare l’hmac_key. È necessario impostare un valore casuale generato per il parametro hmac_key. Su Linux è possibile generarlo utilizzando il comando pwgen 20 1

.Prima
hmac_key: "CHANGE_ME!!"

.Dopo
hmac_key: saeNg5xufooraofeevee

A fine modifiche, il file docker_compose.yml deve assomigliare a questo qui sotto:

# Warning: This docker-compose file is made for development purposes.
# Using it will build an image from the locally cloned repository.
#
# If you want to use Invidious in production, see the docker-compose.yml file provided
# in the installation documentation: https://docs.invidious.io/installation/

# Warning: This docker-compose file is made for development purposes.
# Using it will build an image from the locally cloned repository.
#
# If you want to use Invidious in production, see the docker-compose.yml file provided
# in the installation documentation: https://docs.invidious.io/installation/

version: "3"
services:

 invidious:
 image: quay.io/invidious/invidious:latest
 build:
      context: .
     dockerfile: docker/Dockerfile
    restart: unless-stopped
    ports:
        - "3000:3000"
    environment:
    # Please read the following file for a comprehensive list of all available
    # configuration options and their associated syntax:
    # https://github.com/iv-org/invidious/blob/master/config/config.example.yml
    INVIDIOUS_CONFIG: |
        db:
            dbname: invidious
            user: kemal
            password: kemal
            host: invidious-db
            port: 5432
        check_tables: true
        # external_port:
        # domain:
        # https_only: false
        # statistics_enabled: false
        hmac_key: Ees6vou2IekaipeiCeib
    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:
     - invidious-db

    invidious-db:
        image: docker.io/library/postgres:13
        restart: unless-stopped
        volumes:
            - postgresdata:/var/lib/postgresql/data
            - ./config/sql:/config/sql
            - ./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:

Piccola nota a margine: A causa di vari problemi, Invidious deve essere riavviato spesso, almeno una volta al giorno, idealmente ogni ora.

Eseguire invidious

Per eseguire Invidious, basta entrare dentro la directory invidious ed eseguire il comando podman-compose up

 cd invidious/
 podman-compose up

Per ottimizzare quest’operazione ho creato un piccolo script shell che mi permette di accendere, spegnere e aggiornare invidious

 #!/bin/bash

 clear
 # Mostra il primo menu
 echo "Scegli un'opzione:"
 echo "1. Accendi"
 echo "2. Spegni"
 echo "3. aggiorna"
 read -p "Inserisci il numero corrispondente: " scelta

 # Esegui l'azione in base alla scelta
 case $scelta in
     1)  cd invidious/ # Cambia la directory in "invidious/"
         podman-compose up # Esegui "podman-compose up"
         ;;
    
     2)
         cd invidious/
         podman-compose stop
         echo "Invidious spento!"
         ;;
     3)
         cd invidious/
         podman-compose pull
         podman-compose up -d
         podman image prune -f
         echo "Invidious aggiornato!"
         ;;
 esac