Invidious-Updater (And Installer)
╔═══════════════════════════════════════════════════════════════════╗
║ Invidious Update.sh ║
║ Automatic update script for Invidious ║
║ Maintained by @tmiland ║
╚═══════════════════════════════════════════════════════════════════╝
Invidious
Script to install and update1) Install Invidious 6) Start, Stop or Restart
2) Update Invidious 7) Uninstall Invidious
3) Deploy with Docker 8) Set up PostgreSQL Backup
4) Add Swap Space 9) Install Nginx
5) Run Database Maintenance 10) Exit
Screenshots
Debian | Ubuntu |
---|---|
CentOS | Fedora |
---|---|
Arch | PureOS |
---|---|
Recommendation
It is recommended to use this script on a fresh installation to avoid unwanted complications.
- I recommend a Debian 10 Droplet on DigitalOcean
Installation
If you're looking for a quick way to install, check out Invidious-Installer This is now integrated into the update script
Download and execute the script:
For latest release
curl -s https://api.github.com/repos/tmiland/Invidious-Updater/releases/latest \
| grep "browser_download_url.*sh" \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -
$ chmod +x invidious_update.sh
$ ./invidious_update.sh
Or directly
$ curl -sSL https://github.com/tmiland/Invidious-Updater/releases/latest/download/invidious_update.sh | bash
For master branch
$ wget https://github.com/tmiland/Invidious-Updater/raw/master/invidious_update.sh
$ chmod +x invidious_update.sh
$ ./invidious_update.sh
Repository
$ sudo curl -SsL -o /etc/apt/sources.list.d/tmiland.list https://deb.tmiland.com/debian/tmiland.list
$ curl -SsL https://deb.tmiland.com/debian/KEY.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/tmiland-archive-keyring.gpg >/dev/null
$ sudo apt update
$ sudo apt install invidious-updater
-
Run script with
invidious_update
-
Only for Debian/Ubuntu/LinuxMint/PureOS
Check for script update (Default "no")
$ ./invidious_update.sh -u
Update Invidious via Cron
Select option 2 once to manually set GitHub Credentials
$ /path/to/script/invidious_update.sh -c
Add job to cron:
$ crontab -e
@daily bash /path/to/script/invidious_update.sh -c > /dev/null 2>&1 # Automated Invidious Update
Note: you will be prompted to enter root password
If root password is not set, type:
sudo passwd root
Usage
- Install invidious
- Update Invidious
Note: GitHub Credentials needs to be provided to keep the update from failing (Credentials are stored in /root/.gitconfig) This is required to stash & checkout a new branch which was implemented to prevent "Detached HEAD state".
- Invidious is ready to be updated, press any key to continue...
-
Deploy Invidious with Docker
-
- Build and start cluster
-
- Start, Stop or Restart cluster
-
- Rebuild cluster
-
- Delete data and rebuild
-
- Install Docker CE
-
- Run database maintenance
-
-
Add Swap Space
- Easy option to add Swap Space from external script Credit: swap-add
-
Run database maintenance
- Database maintenance option Database Information and Maintenance
Also works with argument -m
$ /path/to/script/invidious_update.sh -m
-
Start, Stop or Restart Invidious
-
Uninstall Invidious
-
Set up PostgreSQL Backup
-
Install Nginx
-
Exit
- Exits the script
Testing
Tested and working on:
Debian | Ubuntu | CentOS | Fedora | Arch | PureOS |
---|---|---|---|---|---|
-
Tested extensively on Debian 9/10/11
- Docker option tested and working
-
Tested on Ubuntu 16.04
- Docker option tested, not working
-
Tested on Ubuntu 18.10
- Docker option tested and working
-
Tested on CentOS 8
- Docker option tested and working
-
Tested on Fedora 33
- Docker option tested and working
-
On Bash on Debian on Windows (in Gnome-Boxes)
- Systemd not working
- Docker option not working
-
Tested on Linux Mint.
- See #15
-
Tested on Arch Linux
- Docker option tested and working
If you get permission issues, set selinux to permissive. See how to here: How do I enable or disable SELinux ?SELinux will be set to permissive on Fedora 33 and CentOS 8
Postgresql 11 will be installed by default in both Fedora and CentOS. (If not already installed)Postgresql will be default from repo on Fedora 33 and CentOS 8
Latest install log - version: 1.4.4
Changelog
See Changelog
Compatibility and Requirements
- Debian 8 and later
- Ubuntu 16.04 and later
- PureOS (Not tested)
- CentOS 8
- Fedora 33
- Docker support
- Arch Linux
Credits
- Code is mixed and customized from these sources:
- Invidious
- nginx-autoinstall
- Git-Repo-Update
- ghacks user.js updater.sh
- Plus many more.
Feature request and bug reports
- Bug report
- Feature request
- IRC Freenode: #InvidiousUpdater
Donations
Web Hosting
Sign up for web hosting using this link, and receive $200 in credit over 60 days.
Disclaimer
*** Use at own risk ***