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.
annotationsCaches annotation data ifcache_annotationsis enabled inconfig.ymlchannel_videosStores truncated video info, used to create user feedschannelsStores UCID and author namenoncesKeeps track of tokens issued to prevent CSRFusersStores user info, such as preferences, username, subscriptionssession_idsKeeps track of user sessionsvideosStores 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