Self-hosted archive
v0.1.7

A self-hosted library for the things you keep.

Images, documents, PDFs, video, audio, web pages, archives, comics, novels, and 2D skeleton animation — collected in one place, previewed where they are, and kept on your own storage.

Self-hostMarketplace

Collecting is easy. Keeping is the hard part — especially when files arrive in every format, and the value of them is in still having them years later.

Hoard any content

extensible

Content plugins decide what a file is and how it renders. New formats can be added without touching the core.

Preview in place

in place

Open a resource where it is — a PDF reader, a media viewer, a file tree, a comic reader.

Find it again

search · dedup

Tags, collections and categories, full-text search, and duplicate detection — exact and perceptual.

Keep it safe

versions · snapshots

Versioned archives and automatic snapshots keep a library usable over years, not months.

Yours alone

no telemetry

Self-hosted, local-first, no telemetry. Outbound requests happen only when you start them.

Demo

In-app screenshots.

A few screenshots from the desktop app. Click any image to enlarge.

Screenshots show a demo library.

Content plugins

Never hits a wall.

Content plugins claim, describe and render a resource. Install more from the marketplace without changing the core.

01

Detect

A content plugin says what a resource is — from its bytes, not just its filename.

02

Describe

It reports dimensions, duration, page count, search facets and a cover.

03

Render

It draws the resource in the library — a viewer, a reader, a file tree.

Built in
  • file

    A file tree for anything

  • gallery

    Images, video and audio

  • pdf

    PDF documents

  • manga / comic

    Comics and manga

  • novel

    Novels and e-books

  • 2D skeleton animation

    2D skeleton animation — Live2D, Spine, DragonBones

Write your own with the plugin SDK and CLI, then publish it to the marketplace.

Privacy & control

Your library, your rules.

Data stays on your storage. The only outbound requests are the ones you start yourself.

No telemetry

Nothing leaves your host unless you do it, or approve it.

Own the storage

A plain SQLite database plus a folder tree that you can back up and move.

Consented downloads

Plugin assets and marketplace updates fetch GitHub only, and plugin downloads need your approval.

Run it where you like

Self-hosted, Docker, or desktop.

The desktop app and the self-hosted web version share the same library format.

Docker

A single compose command. Your library lives in a named volume.

docker compose up -d

Self-host

Node 24 and pnpm. Run the server and open it in a browser.

pnpm install
cp .env.example .env
pnpm build
pnpm start

Desktop

Installers for Windows, macOS and Linux, with an auto-updater.

FAQ

Common questions.

Is Hoardodile free?

Yes. Hoardodile is free and open source under GPL-3.0.

Where is my data stored?

On your own storage. There is no required cloud, account or service.

What can I keep?

Anything a content plugin understands — images, PDFs, video, audio, comics, novels, archives and more.

How do I add a format?

Install a content plugin from the marketplace, or write one with the plugin SDK.

Desktop or web?

Both, and they share the same library format.

Does it phone home?

No telemetry. The only outbound requests are the ones you trigger yourself.

Open source

Built in the open.

Hoardodile is free and open source under GPL-3.0. Report bugs and share ideas on GitHub.

Get started

Download it, run it in Docker, or build it yourself.

Docs