diff options
Diffstat (limited to 'roles/invidious/templates/opt')
3 files changed, 87 insertions, 0 deletions
diff --git a/roles/invidious/templates/opt/invidious/invidious-db-cleanup.sh.j2 b/roles/invidious/templates/opt/invidious/invidious-db-cleanup.sh.j2 new file mode 100644 index 0000000..1c9ffe1 --- /dev/null +++ b/roles/invidious/templates/opt/invidious/invidious-db-cleanup.sh.j2 @@ -0,0 +1,11 @@ +#!/bin/bash + +set -eu + +PG_HOST={{ invidious_db_host | quote }} +PG_USER={{ invidious_db_user | quote }} +PG_NAME={{ invidious_db_name | quote }} + +export PGPASSFILE={{ invidious_home | quote }}/.pgpass + +psql -qtA -h "$PG_HOST" "$PG_NAME" "$PG_USER" -c {{ invidious_db_cleanup_sql | join('; ') | quote }} diff --git a/roles/invidious/templates/opt/invidious/invidious-update.sh.j2 b/roles/invidious/templates/opt/invidious/invidious-update.sh.j2 new file mode 100644 index 0000000..561e45e --- /dev/null +++ b/roles/invidious/templates/opt/invidious/invidious-update.sh.j2 @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +set -eu + +SRCDIR={{ invidious_install_dir | quote }} +INVIDIOUS_USER={{ invidious_user | quote }} +CRYSTAL_HOME={{ invidious_crystal_install_dir | quote }} + +export PATH="${PATH}:${CRYSTAL_HOME}/bin" + +as-invidious() { + runuser -u "$INVIDIOUS_USER" -- "$@" +} + +if (( $EUID != 0 )); then + echo 'must be superuser' 1>&2 + exit 1 +fi + +cd "$SRCDIR" + +old_rev=$(git rev-list --max-count=1 --abbrev-commit HEAD) + +as-invidious git fetch + +local_rev=$(git rev-parse HEAD) +upstream_rev=$(git rev-parse '@{u}') + +echo "local: $local_rev" +echo "upstream: $upstream_rev" + +if [ "$local_rev" != "$upstream_rev" ]; then + as-invidious git pull --ff-only + + echo "building invidious..." + as-invidious shards install --production + as-invidious crystal build src/invidious.cr -Ddisable_quic --release + + systemctl restart invidious +else + echo "invidious is already up to date" +fi diff --git a/roles/invidious/templates/opt/invidious/invidious/config/config.yml.j2 b/roles/invidious/templates/opt/invidious/invidious/config/config.yml.j2 new file mode 100644 index 0000000..e74caee --- /dev/null +++ b/roles/invidious/templates/opt/invidious/invidious/config/config.yml.j2 @@ -0,0 +1,34 @@ +log_level: warn +domain: {{ invidious_server_name }} +external_port: 443 +channel_threads: {{ invidious_channel_threads }} +feed_threads: {{ invidious_channel_threads }} +database_url: postgres://{{ invidious_db_user }}:{{ invidious_db_password}}@{{ invidious_db_host }}/{{ invidious_db_name }}?sslmode=verify-full +use_pubsub_feeds: {{ invidious_use_pubsub_feeds }} +hmac_key: {{ invidious_hmac_key }} +https_only: true +registration_enabled: {{ invidious_registration_enabled }} +admin_email: {{ invidious_admin_email }} +port: {{ invidious_port }} +host_binding: 127.0.0.1 +popular_enabled: {{ invidious_popular_enabled }} +full_refresh: {{ invidious_full_refresh }} +captcha_enabled: false +check_tables: true +cache_annotations: true + +default_user_preferences: + dark_mode: {{ invidious_default_dark_mode }} + autoplay: {{ invidious_default_autoplay }} + continue: {{ invidious_default_continue }} + continue_autoplay: {{ invidious_default_continue_autoplay }} + local: {{ invidious_default_local }} + quality: {{ invidious_default_quality }} + quality_dash: {{ invidious_default_quality_dash }} + locale: {{ invidious_default_locale }} + region: {{ invidious_default_region }} + related_videos: {{ invidious_default_related_videos }} + video_loop: {{ invidious_default_video_loop }} + player_style: {{ invidious_default_player_style }} + default_home: {{ invidious_default_home }} + feed_menu: {{ invidious_feed_menu | to_yaml }} |