Database maintenance
Note
You do not need to setup a cleanup cron anymore as there is now an automatic cleaning process in Invidious. Since this pull request: https://github.com/iv-org/invidious/pull/3294. But this page is left in case you need to manually cleanup the database.
Invidious needs one PostgreSQL database which has the following tables.
annotations
Caches annotation data ifcache_annotations
is enabled inconfig.yml
channel_videos
Stores truncated video info, used to create user feedschannels
Stores UCID and author namenonces
Keeps track of tokens issued to prevent CSRFusers
Stores user info, such as preferences, username, subscriptionssession_ids
Keeps track of user sessionsvideos
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