Deployment guide

ArchiveBox on VPS: self-host your web archive

Deploy on a VPS Cloud →

Tutorial

ArchiveBox on VPS: self-host your web archive

Self-hosting7 min read6 steps

ArchiveBox is an open-source (MIT) web archiving tool (29 000+ GitHub stars) that turns any list of URLs into a fully browsable offline library. Each snapshot is saved simultaneously in HTML, PDF, PNG, WARC, DOM JSON and plaintext — formats that survive the disappearance of the source page. On a ServOrbit VPS, a single Docker container is all you need, using under 400 MB of RAM.

Contents· Why self-host your web archive1/6
  1. 01Why self-host your web archive
  2. 02What you get with self-hosted ArchiveBox
  3. 03Prerequisites
  4. 04Deploy ArchiveBox on your ServOrbit VPS
  5. 05Supported archive formats
  6. 06Use case: compliance and legal archiving

Why self-host your web archive

The web is ephemeral by design. According to Internet Archive research, 25% of web pages accessible in 2013 had disappeared ten years later. Deleted news articles, moved documentation, removed tweets, discontinued product pages — the average lifespan of a URL is between 2 and 5 years.

Commercial solutions address this partially: Pocket saves the text, Archive.org keeps public snapshots, Pinboard archives a cached copy. But they share three structural limitations: your data sits with a third party, available formats are restricted, and you have no control over retention policy.

ArchiveBox solves all three. Self-hosted on your VPS, it stores every snapshot in your Docker volume — accessible offline, exportable, never subject to a third-party expiry policy. For teams with regulatory requirements (GDPR, finance, media), this is the only architecture where the chain of custody is fully under your control.

What you get with self-hosted ArchiveBox

  • Multi-format snapshots — each URL produces HTML (wget), full-page HTML (SingleFile), screenshot PNG, PDF, WARC, DOM JSON, plaintext.
  • Video archiving — yt-dlp integration for YouTube, Vimeo, Twitter and 1 000+ sites; video stored locally with metadata.
  • Web UI — browse your library, re-run captures, full-text search and share signed links.
  • Powerful CLI — add URLs in bulk from a file, RSS feed or bookmark export (Pocket, Pinboard, Instapaper).
  • MIT licence — no telemetry, no cloud account, data 100% on your VPS.
  • Zero-downtime updates — docker compose pull && docker compose up -d; Django migrations apply automatically.

Prerequisites

ArchiveBox is designed to run on a modest VPS. The recommended minimum configuration is 1 vCPU, 512 MB of RAM and 20 GB of disk. In practice the container uses around 346 MB at rest — enough headroom on a 1 GB VPS for personal or small-team use.

Disk needs depend entirely on capture volume. A typical HTML + PDF + PNG article snapshot weighs 2–10 MB; a YouTube video archived with yt-dlp can exceed several gigabytes. ServOrbit volumes are expandable from your client area without interrupting the container.

No domain is required to get started — ArchiveBox listens on the loopback and is accessible via SSH tunnel. For permanent browser or team access, attach a domain from your ServOrbit client area.

Deploy ArchiveBox on your ServOrbit VPS

  1. Order from the ServOrbit Marketplace

    From your ServOrbit client area, install ArchiveBox in one click from the Marketplace: select the Collaboration category, choose ArchiveBox and confirm your order. The Docker container starts automatically on your VPS. You will receive a notification when the healthcheck responds, with the assigned port and generated admin password.

  2. Log in to the admin interface

    Open an SSH tunnel to access the interface without a domain: ssh -L 5797:127.0.0.1:<port> root@<vps-ip> then navigate to http://localhost:5797/. The admin login page is at /admin/. Enter username admin and the password shown in your ServOrbit client area under Applications → Reveal. Change the password immediately after your first login (Settings → Change password).

  3. Archive your first URLs

    Click Add in the top bar and enter one or more URLs (one per line). Select which extractors to run — HTML, PDF, screenshot and WARC are enabled by default. ArchiveBox queues the captures, downloads each snapshot in parallel and adds them to the index. For bulk import, use the CLI: docker exec archivebox archivebox add < urls.txt.

  4. Schedule recurring captures

    To archive URLs on a schedule, create a cron job via the ArchiveBox CLI: docker exec archivebox archivebox schedule --every=day --depth=1 <url>. RSS feeds and bookmark exports (Pocket JSON, Pinboard, Instapaper) can be imported automatically by piping their output to archivebox add.

  5. Attach a domain for permanent access

    From your ServOrbit client area, attach a domain or subdomain to your ArchiveBox instance. ServOrbit configures nginx and provisions a Let's Encrypt certificate automatically. Once the domain is active, update the ARCHIVEBOX_CSRF_TRUSTED_ORIGINS environment variable in your compose file to match the new origin, then recreate the container with docker compose up -d.

  6. Monitor disk usage

    ArchiveBox stores captures in the archivebox-data volume mounted at /data in the container. Monitor volume size from your ServOrbit client area or on the command line: docker system df -v | grep archivebox. To free space, delete individual captures from the web UI or via the CLI (archivebox remove --filter <pattern>). If you approach the disk limit, expand the volume from your client area without interrupting the container.

ArchiveBox supports selective extractors: for heavy pages (videos, JS dashboards), disable unused extractors per URL from the interface or globally in .env (SAVE_PDF=False, SAVE_SCREENSHOT=False…). This reduces capture size and speeds up bulk archiving while keeping the essential HTML and WARC.

Supported archive formats

ArchiveBox is unique in the breadth of formats it produces in a single operation:

- wget — recursive HTML mirror of the page and its static assets (CSS, JS, images).
- SingleFile — self-contained single-file HTML, faithfully reproducing the visual render of the page at capture time.
- Chrome headless — full JavaScript render, bypassing SPA frameworks that produce empty HTML with wget.
- Screenshot PNG — full-page screenshot in high resolution.
- PDF — PDF print of the page as displayed by Chromium.
- WARC/CDX — standardised web archive format (ISO 28500), compatible with Wayback Machine and legal verification tools.
- DOM JSON — serialisation of the final JavaScript DOM, for structured analysis tools.
- Plaintext — extracted text content, indexed by full-text search.
- yt-dlp — video and audio from YouTube, Vimeo, Twitter and 1 000+ sites.
- Git clone — for public GitHub/GitLab repositories, git clone into the archive folder.

Each extractor can be toggled globally in the .env file or per URL from the web interface.

Use case: compliance and legal archiving

ArchiveBox is particularly suited to teams that must preserve digital evidence for legal or regulatory purposes. Recommended practices for this context:

Timestamping and integrity. ArchiveBox records a SHA-256 hash of each archive and the capture timestamp in index.json. These metadata form a minimal chain of custody. For stronger evidentiary value, combine with an RFC 3161 timestamping service (openssl ts) before depositing in your document management system.

Permission separation. The admin interface exposes all captures. For teams, create separate user accounts with read-only permissions — user management is in Settings → Users.

Volume backup. The archivebox-data Docker volume contains your entire archive. Configure daily snapshots from your ServOrbit client area or sync to S3 with rclone. Without backup, volume loss is irrecoverable.

WARC files. Produced WARC files comply with ISO 28500 and are accepted by legal verification tools (Archiware, IIPC CDX tools). Verify produced files with warcio index data/archive/<domain>/warc/index.cdx.gz.

Your web archive on your VPS

Deploy ArchiveBox on a ServOrbit VPS and start archiving today — your data stays on your machine, no cloud subscription required.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.

Message us on WhatsAppopens in a new tab