Save web pages, PDFs, and articles for permanent offline access. Full-text search across everything. Your Pocket without Pocket's servers having your reading history.
Running a content archive and clipping service should not require a Kubernetes cluster, a managed database, and a DevOps team to keep it running. Archive is one file. Download it, run it, point your browser at it. That is the entire setup.
Deploy Archive as a systemd service, a Docker container, or a bare process behind tmux. It reads two environment variables: PORT and DATA_DIR. Everything else is self-contained. The /api/health endpoint returns the service status and bookmarks count, which you can wire into your existing monitoring stack.
A regulated company runs Archive inside their air-gapped network. No data leaves the building. Compliance auditors can inspect the SQLite file directly. When the team needs a report, they query the API and format the output however the auditor expects.
GET /api/bookmarks — List all bookmarks. Supports ?q=keyword for search and ?status=value for filteringPOST /api/bookmarks — Create a new bookmark. Send JSON with at least titleGET /api/bookmarks/{id} — Fetch one bookmark by IDPUT /api/bookmarks/{id} — Update fields on an existing bookmarkDELETE /api/bookmarks/{id} — Remove a bookmarkGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted content archive and clipping service. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool archive
PORT=9250 ./archive
http://localhost:9250
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export ARCHIVE_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./archive
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.