Skip to content

Odis/Invidious-Updater

 
 

Repository files navigation

Invidious-Updater (And Installer)

                  ╔═══════════════════════════════════════════════════════════════════╗
                  ║                        Invidious Update.sh                        ║
                  ║               Automatic update script for Invidious               ║
                  ║                      Maintained by @tmiland                       ║
                  ╚═══════════════════════════════════════════════════════════════════╝

GitHub release licence Bash

Script to install and update Invidious

1) 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

screenshot

Debian Ubuntu
CentOS Fedora
Arch PureOS

Recommendation

It is recommended to use this script on a fresh installation to avoid unwanted complications.

Installation

If you're looking for a quick way to install, check out Invidious-Installer

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

  1. Install invidious

asciicast

  1. 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...
  1. Deploy Invidious with Docker

      1. Build and start cluster
      1. Start, Stop or Restart cluster
      1. Rebuild cluster
      1. Delete data and rebuild
      1. Install Docker CE
      1. Run database maintenance
  2. Add Swap Space

  3. Run database maintenance

    Also works with argument -m

    $ /path/to/script/invidious_update.sh -m
  4. Start, Stop or Restart Invidious

  5. Uninstall Invidious

asciicast

  1. Set up PostgreSQL Backup

  2. Install Nginx

  3. Exit

  • Exits the script

screenshot

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.

  • 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

install log Debian 10

Changelog

See Changelog

Compatibility and Requirements

  • Debian 8 and later
  • Ubuntu 16.04 and later
  • PureOS (Not tested)
  • CentOS 8
  • Fedora 33
  • Arch Linux

Credits

Feature request and bug reports

Donations

Buy Me A Coffee

  • PayPal me
  • [BTC] : 33mjmoPxqfXnWNsvy8gvMZrrcG3gEa3YDM

Web Hosting

Sign up for web hosting using this link, and receive $100 in credit over 60 days.

DigitalOcean

Disclaimer

*** Use at own risk ***

License

MIT License Image

MIT License

About

Automatic install and update script for Invidious

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%