{% extends "home/base.html" %} {% load static %} {% block content %}

User Configurations

{% csrf_token %}

Color scheme

Current color scheme: {{ config.application.colors }}

Select your preferred color scheme between dark and light mode.
{{ user_form.colors }}

Archive View

Current page size: {{ config.archive.page_size }}

Result of videos showing in archive page
{{ user_form.page_size }}

Application Configurations

{% csrf_token %}

Subscriptions

Disable shorts or streams by setting their page size to 0 (zero).

YouTube page size: {{ config.subscriptions.channel_size }}

Videos to scan to find new items for the Rescan subscriptions task, max recommended 50.
{{ app_form.subscriptions_channel_size }}

YouTube Live page size: {{ config.subscriptions.live_channel_size }}

Live Videos to scan to find new items for the Rescan subscriptions task, max recommended 50.
{{ app_form.subscriptions_live_channel_size }}

YouTube Shorts page size: {{ config.subscriptions.shorts_channel_size }}

Shorts Videos to scan to find new items for the Rescan subscriptions task, max recommended 50.
{{ app_form.subscriptions_shorts_channel_size }}

Downloads

Current download speed limit in KB/s: {{ config.downloads.limit_speed }}

Limit download speed. 0 (zero) to deactivate, e.g. 1000 (1MB/s). Speeds are in KB/s. Setting takes effect on new download jobs or application restart.
{{ app_form.downloads_limit_speed }}

Current throttled rate limit in KB/s: {{ config.downloads.throttledratelimit }}

Download will restart if speeds drop below specified amount. 0 (zero) to deactivate, e.g. 100. Speeds are in KB/s.
{{ app_form.downloads_throttledratelimit }}

Current scraping sleep interval: {{ config.downloads.sleep_interval }}

Seconds to sleep between calls to YouTube. Might be necessary to avoid throttling. Recommended 3.
{{ app_form.downloads_sleep_interval }}

Danger Zone: Current auto delete watched videos: {{ config.downloads.autodelete_days }}

Auto delete watched videos after x days, 0 (zero) to deactivate:
{{ app_form.downloads_autodelete_days }}

Download Format

Limit video and audio quality format for yt-dlp.
Currently: {{ config.downloads.format }}

Example configurations:

  • bestvideo[height<=720]+bestaudio/best[height<=720]: best audio and max video height of 720p.
  • bestvideo[height<=1080]+bestaudio/best[height<=1080]: best audio and max video height of 1080p.
  • bestvideo[height<=1080][vcodec*=avc1]+bestaudio[acodec*=mp4a]/mp4: Max 1080p video height with iOS compatible video and audio codecs.
  • 0: deactivate and download the best quality possible as decided by yt-dlp.
Make sure your custom format gets merged into a single file. Check out the documentation for valid configurations.
{{ app_form.downloads_format }}

Force sort order to have precedence over all yt-dlp fields.
Currently: {{ config.downloads.format_sort }}

Example configurations:

  • res,codec:av1: prefer AV1 over all other video codecs.
  • 0: deactivate and keep the default as decided by yt-dlp.
Not all codecs are supported by all browsers. The default value ensures best compatibility. Check out the documentation for valid configurations.
{{ app_form.downloads_format_sort }}

Current metadata embed setting: {{ config.downloads.add_metadata }}

Metadata is not embedded into the downloaded files by default.
{{ app_form.downloads_add_metadata }}

Current thumbnail embed setting: {{ config.downloads.add_thumbnail }}

Embed thumbnail into the mediafile.
{{ app_form.downloads_add_thumbnail }}

Subtitles

Subtitles download setting: {{ config.downloads.subtitle }}
Choose which subtitles to download, add comma separated two letter language ISO code,
e.g. en, de

{{ app_form.downloads_subtitle }}

Subtitle source settings: {{ config.downloads.subtitle_source }}

Download only user generated, or also less accurate auto generated subtitles.
{{ app_form.downloads_subtitle_source }}

Index and make subtitles searchable: {{ config.downloads.subtitle_index }}

Store subtitle lines in Elasticsearch. Not recommended for low-end hardware.
{{ app_form.downloads_subtitle_index }}

Comments

Download and index comments: {{ config.downloads.comment_max }}
Follow the yt-dlp max_comments documentation, max-comments,max-parents,max-replies,max-replies-per-thread:

Example configurations:

  • all,100,all,30: Get 100 max-parents and 30 max-replies-per-thread.
  • 1000,all,all,50: Get a total of 1000 comments over all, 50 replies per thread.
{{ app_form.downloads_comment_max }}

Selected comment sort method: {{ config.downloads.comment_sort }}
Select how many comments and threads to download:
{{ app_form.downloads_comment_sort }}

Cookie

Import YouTube cookie: {{ config.downloads.cookie_import }}

For automatic cookie import use Tube Archivist Companion browser extension.

For manual cookie import, place your cookie file named cookies.google.txt in cache/import before enabling. Instructions in the Wiki.
{{ app_form.downloads_cookie_import }}
{% if config.downloads.cookie_import %}
{% endif %}

Integrations

API token:

{{ api_token }}

Integrate with returnyoutubedislike.com to get dislikes and average ratings back: {{ config.downloads.integrate_ryd }}

Before activating that, make sure you have a scraping sleep interval of at least 3 secs set to avoid ratelimiting issues.
{{ app_form.downloads_integrate_ryd }}

Integrate with SponsorBlock to get sponsored timestamps: {{ config.downloads.integrate_sponsorblock }}

Before activating that, make sure you have a scraping sleep interval of at least 3 secs set to avoid ratelimiting issues.
{{ app_form.downloads_integrate_sponsorblock }}

Snapshots

Current system snapshot: {{ config.application.enable_snapshot }}

Automatically create daily deduplicated snapshots of the index, stored in Elasticsearch. Read first before activating: Wiki.
{{ app_form.application_enable_snapshot }}
{% if snapshots %}

Create next snapshot: {{ snapshots.next_exec_str }}, snapshots expire after {{ snapshots.expire_after }}.


{% for snapshot in snapshots.snapshots %}

Snapshot created on: {{ snapshot.start_date }}, took {{ snapshot.duration_s }}s to create. State: {{ snapshot.state }}

{% endfor %} {% endif %}

Scheduler Setup

Schedule settings expect a cron like format, where the first value is minute, second is hour and third is day of the week.

Examples:

  • 0 15 *: Run task every day at 15:00 in the afternoon.
  • 30 8 */2: Run task every second day of the week (Sun, Tue, Thu, Sat) at 08:30 in the morning.
  • auto: Sensible default.
  • 0: (zero), deactivate that task.

Note:

  • Changes in the scheduler settings require a container restart to take effect.
  • Avoid an unnecessary frequent schedule to not get blocked by YouTube. For that reason, the scheduler doesn't support schedules that trigger more than once per hour.
{% csrf_token %}

Rescan Subscriptions

Current rescan schedule: {% if config.scheduler.update_subscribed %} {% for key, value in config.scheduler.update_subscribed.items %} {{ value }} {% endfor %} {% else %} False {% endif %}

Become a sponsor and join members.tubearchivist.com to get access to real time notifications for new videos uploaded by your favorite channels.

Periodically rescan your subscriptions:

{{ scheduler_form.update_subscribed }}

Start download

Current Download schedule: {% if config.scheduler.download_pending %} {% for key, value in config.scheduler.download_pending.items %} {{ value }} {% endfor %} {% else %} False {% endif %}

Automatic video download schedule:

{{ scheduler_form.download_pending }}

Refresh Metadata

Current Metadata refresh schedule: {% if config.scheduler.check_reindex %} {% for key, value in config.scheduler.check_reindex.items %} {{ value }} {% endfor %} {% else %} False {% endif %}

Daily schedule to refresh metadata from YouTube:

{{ scheduler_form.check_reindex }}

Current refresh for metadata older than x days: {{ config.scheduler.check_reindex_days }}

Refresh older than x days, recommended 90:

{{ scheduler_form.check_reindex_days }}

Thumbnail check

Current thumbnail check schedule: {% if config.scheduler.thumbnail_check %} {% for key, value in config.scheduler.thumbnail_check.items %} {{ value }} {% endfor %} {% else %} False {% endif %}

Periodically check and cleanup thumbnails:

{{ scheduler_form.thumbnail_check }}

ZIP file index backup

Zip file backups are very slow for large archives and consistency is not guaranteed, use snapshots instead. Make sure no other tasks are running when creating a Zip file backup.

Current index backup schedule: {% if config.scheduler.run_backup %} {% for key, value in config.scheduler.run_backup.items %} {{ value }} {% endfor %} {% else %} False {% endif %}

Automatically backup metadata to a zip file:

{{ scheduler_form.run_backup }}

Current backup files to keep: {{ config.scheduler.run_backup_rotate }}

Max auto backups to keep:

{{ scheduler_form.run_backup_rotate }}

Actions

Delete download queue

Delete your pending or previously ignored videos from your download queue.

Manual media files import.

Add files to the cache/import folder. Make sure to follow the instructions in the Github Wiki.

Embed thumbnails into media file.

Set extracted youtube thumbnail as cover art of the media file.

ZIP file index backup

Export your database to a zip file stored at cache/backup.

Zip file backups are very slow for large archives and consistency is not guaranteed, use snapshots instead. Make sure no other tasks are running when creating a Zip file backup.

Restore from backup

Danger Zone: This will replace your existing index with the backup.

Restore from available backup files from cache/backup.

{% if available_backups %}
Timestamp Source Filename
{% for backup in available_backups %}
{{ backup.timestamp }} {{ backup.reason }} {{ backup.filename }}
{% endfor %} {% else %}

No backups found.

{% endif %}

Rescan filesystem

Danger Zone: This will delete the metadata of deleted videos from the filesystem.

Rescan your media folder looking for missing videos and clean up index. More infos on the Github Wiki.

{% if request.user.is_superuser %}

Users

User Management

Access the admin interface for basic user management functionality like adding and deleting users, changing passwords and more.

{% endif %}
{% endblock content %}