LIVEReading: Self-Host Your Own Web Archive with ArchiveBoxTotal time: 10 minSteps: 6Worked first time: 72% LIVEReading: Self-Host Your Own Web Archive with ArchiveBoxTotal time: 10 minSteps: 6Worked first time: 72%
CBW
Self-Host Your Own Web Archive with ArchiveBox
Mediumgithub.com/ArchiveBox/ArchiveBox2026-06-25

Self-Host Your Own Web Archive with ArchiveBox

ArchiveBox saves full copies of any URL — HTML, PDF, screenshots, video, and more — to your own machine. Never lose a webpage again.

// Build stats

  • Total time10 min
  • Number of steps6
  • DifficultyMedium
  • Worked first time72%
// Before you start

What you need

  • Docker Desktop installed and running (free at docker.com)
  • A computer with at least 4 GB of free disk space
  • Basic comfort opening a terminal (Mac: Terminal app, Windows: PowerShell or WSL)
01
Step 1 of 6

Create a folder for your archive

1 min

ArchiveBox stores everything — saved pages, PDFs, screenshots — inside one folder on your computer. You need to create that folder and move into it before doing anything else. All the commands below assume you are inside this folder.

Terminal · mac
$ mkdir -p ~/archivebox/data && cd ~/archivebox
What you should see
No output. Your terminal prompt changes to show you are now inside the ~/archivebox folder.
02
Step 2 of 6

Download the Docker Compose config file

1 min

This command downloads a ready-made configuration file called docker-compose.yml from the ArchiveBox team. It tells Docker exactly how to run ArchiveBox — which ports to use, where to store data, and so on. You do not need to edit it to get started.

Terminal · mac
$ curl -fsSL 'https://docker-compose.archivebox.io' > docker-compose.yml
What you should see
No output. A new file called docker-compose.yml appears in your ~/archivebox folder.
This might happen

curl: command not found on Windows

Use WSL (Windows Subsystem for Linux) or install curl from curl.se/windows. Alternatively, open the URL https://docker-compose.archivebox.io in your browser and save the page as docker-compose.yml in your ~/archivebox folder.

03
Step 3 of 6

Initialize the archive database

3 min

This command starts ArchiveBox for the first time and sets up its internal database. Docker will download the ArchiveBox image (about 1-2 GB) on the first run — this takes a few minutes depending on your internet speed. You only need to do this once.

Terminal · mac
$ docker compose run archivebox init
What you should see
You will see Docker pulling image layers, then lines like '[i] ArchiveBox v...' and 'Initializing a new ArchiveBox collection...' ending with 'Done.'
This might happen

Error: 'docker compose' not found — you may have an older Docker that uses 'docker-compose' (with a hyphen)

Replace 'docker compose' with 'docker-compose' in every command in this guide, e.g. 'docker-compose run archivebox init'

04
Step 4 of 6

Archive your first URL

2 min

Now you can save any webpage. Replace the example URL below with any page you want to archive. ArchiveBox will save the HTML, a screenshot, a PDF, and more into your data folder automatically.

Terminal · mac
$ docker compose run archivebox add 'https://example.com'
What you should see
Lines showing each format being saved, e.g. '[+] Saving screenshot... ✓', '[+] Saving PDF... ✓'. Ends with a summary showing how many links were added.
This might happen

Some formats show 'skipped' or 'failed' — for example, yt-dlp or Chrome may not be available inside the container by default

Run 'docker compose run archivebox install' to let ArchiveBox install its optional dependencies (Chrome, yt-dlp, etc.) inside the container. Then retry the add command.

05
Step 5 of 6

Start the web interface

1 min

This command starts the ArchiveBox web server so you can browse your archive in a normal browser. It keeps running in the background until you stop it with Ctrl+C. Leave this terminal window open while you use the interface.

Terminal · mac
$ docker compose up
What you should see
Several lines of startup logs ending with something like 'Listening on http://0.0.0.0:8000'. The server is now running.
This might happen

Port 8000 is already in use by another app on your computer

Open docker-compose.yml in a text editor, find the line with '8000:8000', and change the left number to something free like '8100:8000'. Then open http://web.archivebox.localhost:8100 instead.

06
Step 6 of 6

Open your archive in the browser

1 min

With the server running, open your browser and go to the address below. You will see the public-facing archive view. To manage settings, create admin accounts, and see full logs, use the admin address instead.

Terminal · mac
$ open http://web.archivebox.localhost:8000
What you should see
A webpage loads showing your ArchiveBox collection with the URL you archived listed as a snapshot. On Windows, type the URL manually into your browser — the 'open' command is Mac/Linux only.
This might happen

The page does not load or shows 'site can't be reached'

Make sure 'docker compose up' is still running in your other terminal window. Also try http://localhost:8000 as a fallback if the .localhost subdomain does not resolve on your system.

// Status

cooked. baked. worked.

A self-hosted web archive running on your own computer, accessible at http://web.archivebox.localhost:8000, that saves full copies of any URL you give it — including HTML, PDFs, screenshots, and downloaded video — stored in plain files you own forever.

// the honest bit

The honest part

ArchiveBox works well for saving public pages, but archiving sites that require login (social media, paywalled content) needs extra cookie setup described in the project wiki — that part is not beginner-friendly. Some extractors (Chrome screenshot, yt-dlp video download) occasionally fail on certain sites with no clear error. The project is actively developed and the 'dev' branch can have rough edges. Storage grows fast: a few hundred archived pages can easily use several gigabytes.