Add QOL Improvements and Fix Issue #648

This PR adds some quality-of-life readability improvements and fixes #648.
This commit is contained in:
Stephen Fasciani 2025-05-22 20:16:31 -04:00 committed by GitHub
parent ec79d88477
commit e0a395641e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,13 +2,13 @@
After installation take a look at the [Post-install steps](#post-install-configuration). After installation take a look at the [Post-install steps](#post-install-configuration).
Note: Any [PaaS](https://en.wikipedia.org/wiki/Platform_as_a_service) or [SaaS](https://en.wikipedia.org/wiki/Software_as_a_service) provider/software (Heroku, YunoHost, Repli...) are unsupported. Use them at your own risk. They **WILL** cause problems with Invidious and might even suspend your account for "abuse" since Invidious is heavy, bandwidth intensive and technically a proxy (and most providers don't like them). If you use one and want to report an issue, please mention which one you use. >[!Note]
> Any [PaaS](https://en.wikipedia.org/wiki/Platform_as_a_service) or [SaaS](https://en.wikipedia.org/wiki/Software_as_a_service) provider/software (Heroku, YunoHost, Repli...) are unsupported. Use them at your own risk. They **WILL** cause problems with Invidious and might even suspend your account for "abuse" since Invidious is heavy, bandwidth intensive and technically a proxy (and most providers don't like them). If you use one and want to report an issue, please mention which one you use.
# WARNING about this doc >[!WARNING]
> This documentation is temporary and will explain the process for testing Invidious companion. Invidious companion is currently in testing in the master branch.
> If you are using a reverse proxy then make sure to double check the [Post-install steps](#post-install-configuration) because you have new routes to add!
This documentation is temporary and will explain you how to test Invidious companion. Invidious companion is currently in testing in the master branch.
And if you are using a reverse proxy then make sure to read again the post install because you have new routes to add!
## Hardware requirements ## Hardware requirements
@ -35,22 +35,36 @@ Make sure to run the newer Docker Compose V2: https://docs.docker.com/compose/in
1. Execute these commands: 1. Execute these commands:
```bash
git clone https://github.com/iv-org/invidious.git ```bash
cd invidious git clone https://github.com/iv-org/invidious.git
``` cd invidious
```
2. Generate two secret keys, one for Invidious (HMAC_KEY) and one for Invidious companion (invidious_companion_key) 2. Generate two secret keys, one for Invidious (HMAC_KEY) and one for Invidious companion (invidious_companion_key)
```bash
pwgen 16 1 # for Invidious (HMAC_KEY) >[!IMPORTANT]
pwgen 16 1 # for Invidious companion (invidious_companion_key) > The Invidious companion key must follow specific rules or Invidious will throw an HTTP 400 error when loading videos.
``` >
> It must:
> - Contain only alphanumeric characters (letters A-Z, a-z, and numbers 0-9).
> - Avoid special characters (e.g., #, !, @, etc.), as they will cause a 400 "Bad Request" error.
> - Be 16 characters long. No more, no less.
>
> We recommend generating the key using pwgen on Linux, e.g.:
>
> ```bash
> pwgen 16 1
> ```
3. Edit the docker-compose.yml with this content: 3. Edit the docker-compose.yml with this content:
```docker ```yaml
version: "3" version: "3"
services: services:
invidious: invidious:
image: quay.io/invidious/invidious:master image: quay.io/invidious/invidious:master
@ -137,14 +151,15 @@ Make sure to run the newer Docker Compose V2: https://docs.docker.com/compose/in
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
volumes: volumes:
postgresdata: postgresdata:
companioncache: companioncache:
``` ```
Note: This compose is made for a true "production" setup, where Invidious is behind a reverse proxy. If you prefer to directly access Invidious, replace `127.0.0.1:3000:3000` with `3000:3000` under the `ports:` section. >[!Note]
> This compose is made for a true "production" setup, where Invidious is behind a reverse proxy. If you prefer to directly access Invidious, replace `127.0.0.1:3000:3000` with `3000:3000` under the `ports:` section.
4. Run the docker composition: 5. Run the docker composition:
``` ```
docker compose up -d docker compose up -d
@ -216,15 +231,16 @@ exit
su - invidious su - invidious
cd invidious cd invidious
make make
```
#### Configure config/config.yml as you like
# Configure config/config.yml as you like ```cp config/config.example.yml config/config.yml```
cp config/config.example.yml config/config.yml
# edit config.yaml to include invidious companion #### edit config.yaml to include invidious companion
edit config/config.yaml ```nano config/config.yaml```
add: ```yaml
invidious_companion: invidious_companion:
# URL used for the internal communication between invidious and invidious companion # URL used for the internal communication between invidious and invidious companion
- private_url: "http://companion:8282" - private_url: "http://companion:8282"
@ -234,12 +250,12 @@ invidious_companion:
public_url: "http://localhost:8282" public_url: "http://localhost:8282"
# IT is NOT recommended to use the same key as HMAC KEY. Generate a new key! # IT is NOT recommended to use the same key as HMAC KEY. Generate a new key!
invidious_companion_key: "CHANGE_ME!!" invidious_companion_key: "CHANGE_ME!!"
# Deploy the database
./invidious --migrate
exit
``` ```
#### Deploy the database
```./invidious --migrate```
```exit```
#### Systemd service for Invidious #### Systemd service for Invidious