Run Arivu with Docker Compose

A two-service Compose stack runs Arivu and complete capture on container hosts and self-hosted platforms such as Dokploy, with new backup, restore, and health check commands.

The guided installer has been the way to run Arivu on your own server: one command on a Linux VPS, and it sets up the app, complete capture, the proxy, and backups. That still works and is still what we recommend for a server you manage by hand.

But plenty of people already run their self-hosted apps a different way, on a Docker host or a self-hosted platform such as Dokploy. Starting with Arivu 1.8.3, Arivu fits there too.

Two services, one file

The Arivu repository now has a compose.yaml at its root. It runs two containers:

  • arivu, the app itself: the web interface, API, background workers, and the SQLite database on a data volume.
  • capture, the complete-capture helper, with the same pinned browser and page-saving tools that the installer uses on a native host.

Complete capture is on by default, so saved pages get the same reader copy, screenshot, and offline HTML as on an installer host. Set ARIVU_BROWSER_CAPTURE_ENABLED=false if you only want direct capture.

Capture stays fenced off

Saving a web page means opening pages you do not control, so the capture container is kept on a short leash. It has no network of its own and reaches the web only through the app, one capture at a time. It runs as an unprivileged user on a read-only file system with a memory cap. The browser inside it also runs its own sandbox, so a hostile page has more than one wall to get through.

On hosts that use AppArmor, which includes most Ubuntu servers and therefore most Dokploy hosts, you install one small profile before the first deploy. The deployment guide gives you the exact commands. Hosts without AppArmor need nothing extra.

Backups, restores, and health checks

The installer has always had backup and restore commands. Containers needed the same thing without the installer, so the arivu binary now has three new commands:

  • arivu backup writes the same verified snapshot as the installer’s backup, and is safe to run while Arivu is serving.
  • arivu restore checks a backup before touching anything, swaps it into place, and puts the previous files back if something fails. It restores both container backups and installer backups.
  • arivu healthcheck is what the container’s health check calls, so your platform knows when Arivu is ready.

Because both paths use the same backup format, you can move an existing installer instance into the Compose stack: back it up on the old host, keep the same secret key, and restore it into the new stack.

What stayed the same

The installer path is unchanged, and your data format is the same on both. If you are happy on the installer, there is nothing to do.

Read the Docker Compose section of Self-Hosting Arivu to get started, and Arivu 1.8.3 for the rest of the release.