Storage
Size and persist instance data.
VidArch separates application state from voluminous media.
data/
This directory contains the SQLite database, optional cookies, the session secret, and cached resources. It is essential for a consistent restoration.
downloads/
This directory contains downloaded videos, thumbnails, and metadata. Its size depends directly on the duration and quality of the videos.
Recommendations
- Use persistent mounts;
- Monitor free space before enabling automatic downloads;
- Back up
data/anddownloads/at the same time; - Do not mount these folders from an unstable share;
- Avoid any synchronization that could modify the database while it is in use.
Bind-mount permissions
The published image runs as the non-root identity 1000:1000. A host directory mounted at /app/data or /app/downloads must therefore be readable and writable by UID 1000. Check the current state first:
stat -c '%u:%g %A %n' ./data ./downloadsFor the default directories dedicated to VidArch, create them and assign the expected owner before the first start:
mkdir -p ./data ./downloads
sudo chown -R 1000:1000 ./data ./downloadsFor an existing shared media library, POSIX ACLs grant VidArch access without replacing its current owner:
sudo setfacl -R -m u:1000:rwX /path/to/media-library
sudo setfacl -m d:u:1000:rwx /path/to/media-libraryThen use the absolute host path in Compose:
volumes:
- ./data:/app/data
- /path/to/media-library:/app/downloadsVerify the effective permission after starting the service:
docker compose exec vidarch sh -c 'id && test -w /app/data && test -w /app/downloads && echo writable'If setfacl is unavailable on Debian or Ubuntu, install the acl package. Avoid chmod 777: it grants write access to every local account and container instead of granting only the identity that needs it.
The Settings → Storage & Files page displays the used space and allows purging the ephemeral cache without deleting the archives.