selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
webarchive logo

Self-host webarchive

v0.1.8

Personal web archive saving pages as PDF, HTML, or headers

BetaOpen SourceBSD-3-Clause
Updated11 months ago
LanguageGo
Setup difficultyModerate
Stars
200
Port
5001 (REST API and web UI)
Docker
ghcr.io/derfenix/webarchive
Install with Docker Compose

What is webarchive?

Own Webarchive is a lightweight, self-hosted web archiving service designed for personal or home-network use. It captures web pages in three formats: full PDF (via wkhtmltopdf), single-file HTML with all resources embedded, and raw HTTP headers. The service exposes a REST API for adding pages, checking status, and retrieving archived files, and includes an optional built-in web UI. It stores data in an embedded Badger database with no external dependencies beyond the wkhtmltopdf binary for PDF generation. Deployment options include Docker Compose (using the ghcr.io/derfenix/webarchive image), running the Go binary directly, or building from source. The project is pre-1.0 (v0.1.8) with a roadmap that includes authentication, multi-user support, SQL storage, and tagging.

Should you self-host webarchive?

webarchive scores 40/100 on selfhost.directory (how scoring works) and ranks #11 of 12 in Archiving & Preservation. It has 200 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is BSD-3-Clause-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is ArchiveBox (79/100, 28 895 stars). It scores higher overall, so compare the two before you pick. See webarchive vs ArchiveBox side by side.

Features

  • Built-in web UI
  • Embedded Database
  • REST API
  • Save as single-file HTML
  • Save HTTP headers
  • Save web page as PDF

webarchive README

How to install webarchive

Install webarchive with Docker Compose

Docker and Docker Compose
Environment variables
LOGGING_DEBUG, API_ADDRESS, PDF_DPI, DB_PATH

docker compose up -d webarchive

Uses ghcr.io/derfenix/webarchive:latest image

How to configure webarchive

  • API_ADDRESS0.0.0.0:5001Address the API server will listen on

    Address the API server will listen on

  • DB_PATH./dbPath for the database files

    Path for the database files

  • LOGGING_DEBUGfalseEnable debug logs

    Enable debug logs

  • PDF_DPI150Use specified DPI value for the output PDF

    Use specified DPI value for the output PDF

  • PDF_FILENAMEpage.pdfUse specified name for output PDF file

    Use specified name for output PDF file

  • PDF_GRAYSCALEfalseUse grayscale filter for the output PDF

    Use grayscale filter for the output PDF

  • PDF_LANDSCAPEfalseUse landscape page orientation instead of portrait

    Use landscape page orientation instead of portrait

  • PDF_MEDIA_PRINTtrueUse media type 'print' for the request

    Use media type 'print' for the request

  • PDF_VIEWPORT1280x720Use specified viewport value

    Use specified viewport value

  • PDF_ZOOM1.0Zoom page

    Zoom page

  • UI_ENABLEDtrueEnable built-in web UI

    Enable built-in web UI

  • UI_PREFIX/Prefix for the web UI

    Prefix for the web UI

  • UI_THEMEbasicUI theme name

    UI theme name

    values: basic

webarchive releases & version history

More in Archiving & Preservation

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…