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