What is it?
ZDDC is a convention, not a platform. Every deliverable's filename encodes its tracking number, revision, status, and title; every transmittal folder is date-prefixed and self-describing. A plain shared folder becomes a fully searchable, auditable information-management system — no server, no database, no software required to read the archive.
The four tools below are optional interfaces around this structure. Each is a single self-contained HTML file that works two ways: open it locally and point it at a folder on your disk, or put it behind any web server (including the optional zddc-server described below) and use it over the network. Same on-disk layout either way.
Try the tools
Each tool is published in three channels. Stable is versioned and immutable; beta and alpha are mutable previews of in-flight work.
Append ?v=alpha (or ?v=0.0.4, etc.) to any URL to switch versions for a single request — useful for sharing a link to an exact build. Direct local-folder access requires a Chromium-based browser (the File System Access API is unavailable in Firefox / Safari). Browse all versions →
zddc-server (optional)
The tools work two ways over the same on-disk archive. Pick whichever fits your team:
Local directory mode
Open a tool, click Add Directory, point it at a folder. The tool reads files via the File System Access API. No upload, no server, no account.
Enough for individual users and small teams on a shared drive (network share, Dropbox, OneDrive, syncthing).
Online mode
Take the same local directory and put it behind any web server (nginx, Caddy, Apache, or zddc-server). The Archive Browser tool talks to the server's directory listings instead of the local filesystem — read-only, works in any browser.
zddc-server is a small Go binary purpose-built to serve ZDDC archives. Any web server gives you online mode; zddc-server adds things a generic web server can't:
- Access control via
.zddcfiles. Behind a reverse proxy that authenticates users and sets anX-Auth-Request-Emailrequest header,zddc-serverconsults YAML.zddcfiles in directories — cascading bottom-up; deeper rules override. No database, no admin UI. - Virtual
.archiveURL space.GET /Project/.archive/123-XYZ.htmlresolves to the canonical revision file at request time. Computed from filenames; no cache, no separate index file. - Per-request access logging keyed to the authenticated user.
- TLS, ETags, conditional GET, CORS, autoindex. The mundane glue.
The on-disk layout is the same in both modes. Stop the server and the directory is still a perfectly valid ZDDC archive that opens in local-directory mode. The server is convenience, not lock-in.
Source, environment-variable contract, and ACL syntax: codeberg.org/VARASYS/ZDDC zddc/. Pre-built binaries are published as Codeberg release assets; example Helm charts (production + dev) live under helm/ in the repo and compile from source at deploy time.
Install on your server
cd into your deployment directory and run the appropriate one-liner. The script auto-detects whether you're in a deployment root or a project subdirectory; flags select the install mode and channel.
Self-contained install (current stable)
Default. Downloads the five current-stable tool HTMLs (~1.8 MB total) plus a _template/ directory with level-1 stubs for project subdirectories. The deployment does not depend on zddc.varasys.io after install. Re-run to update.
cd /your/deployment/root
sh -c "$(curl -fsSL https://zddc.varasys.io/install.sh)"
Track a channel
Use when: you want auto-updates whenever the channel advances. Installs five tiny level-2 stubs (~10 KB total) that fetch the channel from zddc.varasys.io on every page load — visitors need network access.
cd /your/deployment/root
sh -c "$(curl -fsSL https://zddc.varasys.io/install.sh)" -- \
--mode track --channel beta # or stable / alpha
Pin to a specific version
Use when: you need a known-good build that doesn't move. Per-tool semver pins (0.0.2) are exact; partial pins (0.0, 0) float to the latest patch / minor on the upstream.
cd /your/deployment/root
sh -c "$(curl -fsSL https://zddc.varasys.io/install.sh)" -- \
--channel 0.0.2 # or 0.0 (latest 0.0.x), or 0 (latest 0.x)
Project subdirectory
Auto-detected. Run the same one-liner from inside a <ZDDC_ROOT>/Project-X/ directory. The script sees that the parent has a ZDDC index.html and installs four level-1 stubs that fetch ../<tool>.html at load time.
cd /your/deployment/root/Project-X
sh -c "$(curl -fsSL https://zddc.varasys.io/install.sh)"
View the script source for the full flag list. bootstrap/README.md documents the level-1 / level-2 model, the per-project / per-tool override pattern, and the audit grep that lets you see what every project on a deployment is pointing at.
Learn more
- Technical Reference — the full ZDDC convention: filename format, tracking numbers, revisions, status codes, folder naming, transmittal workflow.
- All releases — every version and channel build of every tool, with per-version pin URLs.
- codeberg.org/VARASYS/ZDDC — source code, issue tracker, contributor docs.