Docker on Ubuntu
These commands run on the server, in a terminal (bash).
Install
Section titled “Install”-
Install Docker by following the official guide: https://docs.docker.com/engine/install/ubuntu/
-
Get Holdall and write your settings:
Terminal window git clone https://github.com/Toutourina0110/holdall.gitcd holdallcp .env.example .envnano .envSet at least
APP_URLandAPP_SECRET(see Settings). -
Start it:
Terminal window docker compose up -d --build -
Open
http://<server address>:3000. The first visit shows the setup page that creates the admin account.
The image contains Node, ffmpeg and yt-dlp (verified with its official checksum), runs as a non-root user, keeps data in the holdall-data volume mounted on /data, and reports its health on /api/health.
To reach Holdall with a domain name and HTTPS, put it behind a reverse proxy such as Caddy, Nginx or a Cloudflare Tunnel, then read Reverse proxy.
Update
Section titled “Update”cd holdallgit pulldocker compose up -d --buildDatabase migrations run automatically when the container starts. yt-dlp and ffmpeg are updated with the image, so update regularly: video websites change often.
Back up
Section titled “Back up”Everything is in the holdall-data volume. To save it to holdall-backup.tgz in the current folder:
docker compose stopdocker run --rm -v holdall_holdall-data:/data -v "$PWD":/backup alpine tar czf /backup/holdall-backup.tgz -C /data .docker compose startTo restore, stop Holdall, extract the archive into the volume the same way (tar xzf /backup/holdall-backup.tgz -C /data), then start it again.