Go to file
Fijxu 4c8b02f5fa
Merge 'Extract footer overhaul from #2215':
From https://github.com/iv-org/invidious/pull/4003

Squashed

commit 5bcc25b2da46e5b21ebc9d11a0963b4df8cd9402
Author: syeopite <syeopite@syeopite.dev>
Date:   Thu Nov 7 20:33:35 2024 -0800

    Reduce footer buffer height

commit 1341f67e85b27103514339c0ab4267dae7e7af09
Author: syeopite <syeopite@syeopite.dev>
Date:   Thu Nov 7 20:29:52 2024 -0800

    Rename project homepage to project website

commit d1b9769d8941e4ce7d95bc2f3a574586da47b3c9
Author: syeopite <syeopite@syeopite.dev>
Date:   Thu Nov 7 20:28:26 2024 -0800

    Add footer buffer only in necessary templates

commit 2c798c945215db683aa4be2e34747ea9f6bf1c8b
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:58:29 2024 -0700

    Remove preferences and login link from footer

commit d5571faec5435dff3a1c09d726c983fbc9836bb2
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:52:43 2024 -0700

    Add modified disclaimer to version tag

commit a41bedbe64152ce5c51589c2d645276b89f4060a
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:50:44 2024 -0700

    Typo

commit 87cdc3b286a80f0a404e4b2891a58febe3aacad7
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:48:06 2024 -0700

    Add config option for instance donation link

    Co-authored-by: Arya K <arya@projectsegfau.lt>

commit b5ae452bc5750e14f00d8e16d2fc8b708262fcc3
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:38:18 2024 -0700

    Add "Instance" section to footer

commit 001ba71b9101445243d194887adbd0b95852cc54
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:01:20 2024 -0700

    Add config to add custom text in the footer

    Co-authored-by: Aural Glow <125497673+auralglow@users.noreply.github.com>

commit 1da6933b8e41be43e0aa703d1f989869cabb56a2
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 13:55:49 2024 -0700

    Add new instance customization section in config

commit dc9697157bca50aab56450ea76aa0ac18da18448
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 13:35:39 2024 -0700

    Add Invidious version to footer

commit 629f95fcbead361f2e260a0a38e0839de7f1d735
Author: syeopite <70992037+syeopite@users.noreply.github.com>
Date:   Sat Sep 16 23:05:38 2023 +0000

    Use instances.invidious.io instead of redirect

    Co-authored-by: TheFrenchGhosty <47571719+TheFrenchGhosty@users.noreply.github.com>

commit 3f0ea875c16eb3a87050a9a73bec536be41dde48
Author: syeopite <70992037+syeopite@users.noreply.github.com>
Date:   Sun Jul 30 06:10:18 2023 +0000

    Update locales/en-US.json

    Co-authored-by: Samantaz Fox <coding@samantaz.fr>

commit e9639aaef8222a458c0d67d72c18764487ba9750
Author: syeopite <syeopite@syeopite.dev>
Date:   Mon Jul 24 15:11:45 2023 -0700

    Extract and implement footer overhaul from #2215
2025-05-09 22:29:53 -04:00
.forgejo/workflows ci: only build production docker images 2025-04-13 15:52:08 -04:00
.github Bump crystal-lang/install-crystal from 1.8.0 to 1.8.2 (#5286) 2025-05-09 22:00:24 +02:00
.vscode add launch.json for debugging 2025-05-09 03:22:53 -04:00
assets Merge 'Extract footer overhaul from #2215': 2025-05-09 22:29:53 -04:00
config Merge remote-tracking branch 'upstream/master' 2025-05-04 14:17:11 -04:00
docker Merge remote-tracking branch 'upstream/master' 2025-05-09 17:13:45 -04:00
kubernetes limit feeds and delete materialized views 2024-07-21 13:00:26 -04:00
locales Merge 'Extract footer overhaul from #2215': 2025-05-09 22:29:53 -04:00
mocks@b55d58dea9 update submodule 2024-10-13 23:57:29 +02:00
screenshots Rework the README (#2135) 2021-07-24 20:48:30 +02:00
scripts minify-js: add missing subscribe_widget.js script 2025-04-13 00:39:07 -04:00
spec update the mocks with the latest updated data 2024-10-13 21:18:21 +02:00
src Merge 'Extract footer overhaul from #2215': 2025-05-09 22:29:53 -04:00
.ameba.yml Ameba: Disable Style/RedundantNext rule 2024-08-28 23:49:10 -07:00
.editorconfig Initial commit 2017-11-23 01:48:55 -06:00
.gitattributes Only ignore the videojs libraries 2021-05-23 17:59:02 +00:00
.gitignore Add the docs/ folder to gitignore (#3694) 2023-03-19 20:03:15 +01:00
.gitmodules Add mocks as a submodule 2022-06-08 23:56:40 +02:00
CHANGELOG_legacy.md Rename legacy changelog file 2024-04-27 00:14:46 +02:00
CHANGELOG.md Release v2.20250504.0 2025-05-04 11:59:42 +02:00
crystal_formatters.py Tokens: Server side generated tokens. 2024-10-17 23:44:30 -03:00
docker-compose.yml Use Docker Valkey instead of passing a socket 2024-07-21 13:00:27 -04:00
invidious.service Add logfile to systemd service and fix path 2019-01-23 21:31:52 +01:00
LICENSE Change license 2018-01-28 11:32:40 -06:00
Makefile Merge remote-tracking branch 'upstream/master' into master 2024-10-31 20:25:33 -03:00
nginx.conf docker-compose.yml for my instances 2024-07-21 13:00:26 -04:00
README.md Fix minor casing issues in brand names (#5258) 2025-05-02 15:36:31 +02:00
shard.lock redis: update library and use the recently added #ping method 2025-04-13 15:53:54 -04:00
shard.yml redis: replace lib by jgaskins/redis 2025-04-13 02:30:37 -04:00
TRANSLATION TRANSLATION file for l10n 2020-05-26 18:02:21 +00:00
videojs-dependencies.yml Bump videojs to 7.12.1 (#3011) 2022-04-22 22:37:45 +02:00

nadeko.net Invidious fork

This is a fork of Invidious with features that I have done for my own instance. If you want to maintain an instance, feel free to use this fork and it's container images (they are also compatible with Podman, not just docker!)

https://git.nadeko.net/Fijxu/-/packages/container/invidious/latest

Caution

If you already have an Invidious instance running the upstream code, moving it to this fork will not work for you! This is due to the "Removal of materialized views on PostgreSQL" pull request that requires a migration of the database using it.

If you don't have an instance already, you can use this fork safely, but you will not be able to switch to upstream Invidious.

Features and changes of this fork:

  • Use a Redis compatible DB for video cache instead of just PostgreSQL: Invidious by default caches the video information for some hours in PostgreSQL. Since the data is accessed a lot, it is better off using an in memory database instead, it's faster and it will not wear out your SSD (due to constant writes to the database).

    It can be set using this on config.yml:

    redis_url: tcp://127.0.0.1:6379
    
  • Ability to use different video caching backends: If you want, you can the PostgreSQL video cache the Redis one or the built-in in memory one that uses the LRU algorithm. Redis and LRU are recommended for public instances, but since Invidious has memory leaks, the LRU cache is lost if Invidious crashes or it's restarted, so because of this, redis is the default option.

    video_cache:
    enabled: true
    backend: 1 # 0 is PSQL, 1 Redis, 2 Built-in LRU
    lru_max_size: 18000 # ~500MB (ignored if backend is 0 or 1)
    

    If you choose to use Redis, make sure to set the redis_url config property:

    redis_url: tcp://127.0.0.1:6379
    
  • Removal of materialized views on PostgreSQL: If you don't have this on your Invidious public instance, your SSD will suffer and it will catch on fire https://github.com/iv-org/invidious/pull/2469#issuecomment-2012623454

  • Limit the DASH resolution sent to the clients: It can be set using max_dash_resolution on the config. Example: max_dash_resolution: 1080

  • Limit requests made to Youtube API when pulling subscriptions (feeds): Due to the recent changes of Youtube ("This helps protect out community", "Sign in to confirm you are not a bot"), subscriptions now have limited information, this is because Invidious by default, makes a video request to youtube to be able to get more information about the video, like length_seconds, live_now, premiere_timestamp, and views. If you have a lot of users with a ton of subscriptions, Invidious will basically spam youtube API all the time, resulting in a block from youtube.

    It can be set using this on config.yml:

    use_innertube_for_feeds: false
    
  • Autoreload configuration: If you are hosting Invidious on Linux without docker, this may be useful for you if you want to change the banner without restarting Invidious.

    reload_config_automatically: true
    

Development features

  • Option to disable CSP: Useful for local development, set csp: false on the config and done

There is more things that I added to this fork, but those are the most important ones. I also regularly merge unmerged pull requests from https://github.com/iv-org/invidious and random fixes as well. Is not the most stable codebase, but you can't really make something stable when youtube is trying to destroy every third party client out there.