shouldiselfhost?they tell you if you can — we tell you if you should
THE DECISION LAYER FOR SELF-HOSTING100 APPS UNDER COVERAGEPROTOCOL v1NO VENDOR HAS EVER PAID FOR A RATING
§
READING-BOOKMARKS
Pinboard logo

Should I self-host Pinboard?

$1.83/mo · Standard · alternative: linkding
RATING
NOT REALLY
OUTLOOK
NOT ASSIGNED
RATIONALE

linkding installs in 25 minutes and runs on a potato. Pinboard costs $22 a YEAR. Five maintenance minutes a month already makes self-hosting the more expensive bookmark box.

WHAT YOU LOSE
01

Pinboard's archival copies live on someone else's durable storage — yours live on the box you forgot to back up

02

A $22/yr bill that rounds to zero decision fatigue

WHAT YOU'RE PAYING FOR

save bookmarks with tags · full-text search of saved pages · archive copies of pages · import/export

Self-Hosting Facts
1 app per panel · Pinboard
Assumes 1 seat on 1 always-on box you already run
Amount per month% of sub *
Subscription$1.83
VPS share0.3016%
Storage + backup0.000%
Your hours · 5 min @ $201.6791%
Self-hosted all-in1.97107%
Effective markup0.9×
Setup · 25 min measured$8.33 once
Break-evennever
VERDICT
NOT REALLY
OUTLOOK
NOT ASSIGNED

* Percent of the subscription price. Your time is priced at the slider's rate — $0/h ("my homelab time is free and I love it") is a legitimate position. Every number is derived from the record, never hand-written. Price source, checked 2026-08-06.

Runs comfortably on a Raspberry Pi.

01
ALTERNATIVES
Ranked alternatives
01linkding logo
linkdingA tag-first bookmark manager in one container: save the link, type the tags, find it again in a year.
sissbruecker/linkding · ★ 11,030 · 2d
02Linkwarden logo
LinkwardenBookmarks that keep their own copy of the page, so a dead link is still readable years later.
linkwarden/linkwarden · ★ 19,429 · 4d
linkding running from the boot-verified compose file
linkding, running from the compose file on this page — screenshot from our verified instance, not marketing material.
02
EVIDENCE
PROTOCOL
v1
VERIFIED BY
zernonia
REVIEWED
10 AUG 2026
SETUP MEASURED
25 MIN
AI ASSISTANT
CLAUDE-CODE · STATED
WHAT BROKE
01

The stock image's uwsgi binds '::' and exits fatally on kernels booted with ipv6.disable=1 — our verification microVM is one, so this pair's compose boot is certified by the CI runner instead

02

Superuser env vars on first boot and you're in

THE TESTED COMPOSE FILE — CI-BOOTED WEEKLY
# linkding — self-hosted bookmarks (tested against Pinboard's job list; see the verdict for
# why a $22/yr subscription out-competes your own maintenance minutes)
services:
  linkding:
    image: sissbruecker/linkding:latest
    container_name: linkding
    restart: unless-stopped
    environment:
      LD_SUPERUSER_NAME: admin
      LD_SUPERUSER_PASSWORD: changeme-now # throwaway test value
    ports:
      - "9090:9090"
    volumes:
      - linkding-data:/etc/linkding/data
    healthcheck:
      # Note: the stock image's uwsgi binds "::" and hard-exits on kernels booted with
      # ipv6.disable=1 (rare, but that's what our verification microVM runs — CI verifies this pair).
      test: ["CMD-SHELL", "wget -qO- http://localhost:9090/health >/dev/null || exit 1"]
      interval: 5s
      timeout: 5s
      retries: 24
      start_period: 20s

volumes:
  linkding-data:

Want a guided install instead? caniselfhostit.com/pinboard has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.

FULL TIMED LOG
# Timed setup log: Pinboard → linkding

**Protocol:** v1 · **Verified by:** zernonia · **Date:** 2026-08-10
**Assistant:** claude-code · **Environment:** containerized runner, 2 vCPU class, Docker 29.3 / Compose v5.1

## Timeline

| Step | Time |
|---|---|
| Read upstream docs, draft compose with healthcheck | ~8 min |
| Boot in our verification environment blocked (ghcr.io-only images, model download, or the microVM's ipv6.disable=1 kernel) — **compose boot is certified by the CI runner** (`compose-check` gate, per-PR + weekly) | — |
| Endpoint-level workflow check (login/health/API serve) + re-run from clean volumes | ~8 min |
| **Total: ~25 min** | |

Boot and endpoint checks are machine-verified; `setup_min` is the wall-clock total for this
session including authoring, diagnosis and re-runs. Endpoint-level ≠ full human UI workflow —
dispute anything that doesn't reproduce (CONTRIBUTING.md).

## What broke

- The stock image's uwsgi binds '::' and exits fatally on kernels booted with ipv6.disable=1 — our verification microVM is one, so this pair's compose boot is certified by the CI runner instead
- Superuser env vars on first boot and you're in

## Verdict-relevant notes

- This is the cheap-SaaS pattern: when the subscription costs less than valuing your own minutes, the honest answer is keep paying. Run linkding because you want ownership, not savings.
03
HISTORY
10 AUG 2026UNRATED → NOT_REALLYInitial verdict: linkding installs in 25 minutes and runs on a potato. Pinboard costs $22 a YEAR. Five maintenance minutes a month already makes self-hosting the more expensive bookmark box.