Compact, fast, low-maintenance digital archive.
  • Lua 68.2%
  • HTML 14.8%
  • C 4.7%
  • JavaScript 3.6%
  • Shell 3.2%
  • Other 5.5%
Find a file
scossu 0fd3611445
Some checks failed
Run unit tests / tests (5.4) (push) Failing after 2m59s
Fix HTTP server startup; add Makefile; some CI improvements.
2026-05-31 08:04:26 -04:00
.forgejo/workflows Fix HTTP server startup; add Makefile; some CI improvements. 2026-05-31 08:04:26 -04:00
core_schema Some presentation improvements and simplifications. 2026-02-18 22:06:00 -05:00
doc/user_guide Remove temporary repo location notes. 2026-05-28 21:44:34 -04:00
docker Fix HTTP server startup; add Makefile; some CI improvements. 2026-05-31 08:04:26 -04:00
examples Centralize configuration parsing. 2026-05-22 08:15:06 +02:00
ext/monocypher Refactor unit tests. (#55) 2026-03-20 21:50:44 +00:00
rockspecs Update rockspec. 2026-05-28 20:28:25 -04:00
src Fix HTTP server startup; add Makefile; some CI improvements. 2026-05-31 08:04:26 -04:00
templates Rework admin interface: 2026-03-24 19:03:55 -04:00
test Use custom templates. 2026-05-27 21:35:30 +02:00
.busted Set up default testing options. 2025-12-14 10:39:34 -05:00
.gitignore v1.0b5: 2026-01-11 18:29:15 -05:00
.gitmodules WIP docker setup. 2026-01-08 08:55:51 -05:00
.local.env Use Alpine docker image; add env file for local CI runner. 2026-03-03 15:43:15 -05:00
CODE_OF_CONDUCT Parole parole parole. 2025-07-16 21:27:24 -04:00
LICENSE Parole parole parole. 2025-07-16 21:27:24 -04:00
Makefile Fix HTTP server startup; add Makefile; some CI improvements. 2026-05-31 08:04:26 -04:00
README.md Remove temporary repo location notes. 2026-05-28 21:44:34 -04:00
run_tests.lua watchdog reform + integration tests (#1) 2026-05-16 08:46:43 +02:00

Pocket Archive

Pocket Archive "PKAR" logo

The idea

Stick it in your pocket and carry it around. Install it on a cloud server. Install it on a Raspberry Pi. Browse it offline. Browse it online. Duplicate it, share it, harvest it and aggregate it. Feed it non-GMO spreadsheets regularly and it will thrive.

A more sensical description

Pocket Archive is a digital archival system and static site generator for small- to medium-(?) sized archives. It is designed to function in environments with unreliable connectivity and requires very low technical and human resources to set up, run, and use.

Pocket Archive fulfills the following business functions:

  • Storage and management of files and metadata-only resources
  • Management of descriptive, administrative, and technical metadata
  • Static site generation (presentation)

Some interesting features it currently provides:

  • Bulk content creation and updates are done by pushing spreadsheets (CSV) and data packages to a drop box
  • Highly customizable content model with user-definable relationships between resources
  • Able to run a presentation site and search form a thumb drive, without an Internet connection
  • Fully implementing Linked Data under the hood, hiding its ugly parts from the end user

In spite of its design simplicity, Pocket Archive strives to be flexible. It is based on Volksdata, a very compact Linked Data store and manipulation library. There is no restriction to the types and schema of metadata allowed, or the file types supported. A file-based configuration allows to set up content types and validation rules, or to have (almost) no rules at all.

Pocket Archive is designed to reinvent as little as possible and to use standard tools found in open source operating systems to provide a full management and preservation environment. It creates and updates resources using spreadsheets instead of running a web user interface; it writes all contents to disk and metadata in an embedded database that can be archived, replicated, backed up, and restored with reliable UNIX tools such as tar, rsync, etc.

Documentation

The full user documentation sources are in the user guide folder and published at pkar-doc.knowledgetx.com.

API documentation is in progress.