Skip to content

Latest commit

 

History

History
33 lines (29 loc) · 1.18 KB

Database-Information-and-Maintenance.md

File metadata and controls

33 lines (29 loc) · 1.18 KB
title description published date tags editor dateCreated
Database-Information-and-Maintenance
true
2021-05-23 16:58:27 UTC
markdown
2021-01-28 20:39:18 UTC

Invidious needs one PostgreSQL database which has the following tables.

  • annotations Caches annotation data if cache_annotations is enabled in config.yml
  • channel_videos Stores truncated video info, used to create user feeds
  • channels Stores UCID and author name
  • nonces Keeps track of tokens issued to prevent CSRF
  • users Stores user info, such as preferences, username, subscriptions
  • session_ids Keeps track of user sessions
  • videos Stores video cache, used to create "top" page

The table videos grows a lot and needs the most storage. You can clean it up using following commands:

$ sudo -i -u postgres
$ psql invidious -c "DELETE FROM nonces * WHERE expire < current_timestamp"
$ psql invidious -c "TRUNCATE TABLE videos"
$ exit

For regular maintenance you should add a cronjob for these commands

@weekly psql invidious -c "DELETE FROM nonces * WHERE expire < current_timestamp" > /dev/null
@weekly psql invidious -c "TRUNCATE TABLE videos" > /dev/null