1. install these files to a convenient location, e.g. /opt/yt, and change into the directory git clone ... /opt/yt cd /opt/yt 2. create sqlite database and put filename in config.ini sqlite3 subscriptions.sqlite < config/setup.sql 3. install virtual environment python3 -m venv venv . venv/bin/activate pip3 install -r config/requirements.txt deactivate 4. configure everything: config.ini gunicorn-frontend-config.py -> https://docs.gunicorn.org/en/stable/settings.html gunicorn-webhooks-config.py startup.sh 4a. generate a secret key in app/frontend.py # replace 'app.secret_key = ...' with the output of this command: python3 -c 'import secrets;print(secrets.token_bytes(16))' 5. for now, edit pull-subs and update-subs to point to your venv 6. manually trigger cronjobs ./app/refresh-cipher.pl ./app/pull-subscriptions.py ./app/update-subscriptions.py 7. start the web servers (it is recommended to create init/systemd files) ./config/startup.sh 8. install cronjobs (once per day, time doesn't matter) YT_DIR=/opt/yt YT_CONFIG=/opt/yt/config/config.ini 19 21 * * * $YT_DIR/pull-subscriptions.py 03 13 * * * $YT_DIR/update-subscriptions.py 52 02 * * * $YT_DIR/refresh-cipher.pl