Skip to main content

Overview

This repository contains the Debian packaging infrastructure for the Drumee platform — a sovereign data infrastructure that functions as a Meta Operating System for self-hosted collaborative workspaces.

Each subdirectory is a self-contained package builder that clones source from git@github.com:drumee/, compiles it, and produces a .deb file via dh_make + dpkg-buildpackage.

Package Map

DirectoryDebian packageRole at runtimeSource repo(s)
infra/drumee-infraSystem foundation: nginx, SSL (acme.sh), cron, utilitiessetup-infra (main), acme.sh (GitHub)
schemas/drumee-schemasMariaDB schema definitions, seed data, install scriptssetup-schemas (main), schemas (preview)
server/drumee-server-podBackend Node.js services: REST API + WebSocketserver-team (preview)
ui/drumee-ui-podFrontend LETC rendering engineui-team (preview)
static/drumee-staticStatic assets, fonts, localization filesstatic (main)
schemas-patch/drumee-patchIncremental DB schema patchesschemas (preview)
builder/drumee-infraInteractive first-time installer with debconf setup wizardsetup (somanos/wip)
admin/drumee-schemas-patchProduction schema-patch runner (interactive build via check_*)local opt/ scripts

Install Order

When deploying from scratch, install packages in this order to satisfy dependencies:

drumee-infra → drumee-schemas → drumee-static → drumee-server-pod → drumee-ui-pod

drumee-patch can be applied after drumee-schemas is installed.

Runtime Directory Layout

After installation, Drumee occupies these paths:

/srv/drumee/
├── runtime/
│ ├── server/ # drumee-server-pod: Node.js backend
│ │ └── main/ # server-team source
│ ├── ui/ # drumee-ui-pod: LETC frontend engine
│ │ └── main/ # ui-team source
│ ├── tmp/ # temporary files (cleaned by cron)
│ └── plugins/ # third-party plugin packages
│ └── server/<endpoint>/<plugin>/
├── static/ # drumee-static: assets, locale files
└── cache/

/data/ # user file storage (DRUMEE_DATA_DIR, MFS-managed)
└── mfs/

/etc/drumee/
├── drumee.sh # runtime environment (sourced by server)
└── credential/ # JSON credential files (never committed)

/var/lib/drumee/
├── setup-infra/ # infra install scripts
├── setup-schemas/ # schema install scripts
└── postinstall/
└── patch.sh # pending patches applied at server startup

Further Reading