Coffey LabsDWG CL-01
Get in touch
Drawing list

Sheet index

No.SheetContents
A · Company
A-00CoverBuilt to be run, not rented.
A-01ProductsEverything we make, and the smaller tools
A-02CompanyWhere we came from, the founder
A-03NewsCompany announcements
A-04PressDescriptions, facts, brand kit
A-05How we workThe four rules, and the runs behind them
A-06LicensingCopyleft by default, every license
A-07SponsorWhat sponsorship pays for
A-08ContactIssues first, then the addresses
P · Products
P-01inbuxaMail server, console and webmail
P-02ihasmailImmutable webmail for Stalwart
P-03ihasvpnWireGuard server with a web console
P-04Cairn OBSKubernetes-native log aggregation
P-05HotDog CMSOpen source website builder
X · Elsewhere
X-01Forum ↗community.coffeylabs.org
X-02Source code ↗git.coffeylabs.org
X-03GitHub mirror ↗github.com/Coffey-Labs
X-04Discord ↗The hangout
X-05Swag ↗Shirts, hats, mugs and stickers
L · Legal
L-01PrivacyWhat we collect, and your rights
L-02Terms of useThe rules for this site
L-03AI disclosureWhere AI is and isn’t used
↑↓ moveEnter openEsc close
Products

What we make

Each product has its own site, docs and community. Every one is open source, runs on your own hardware and has no paid tier.

Tools

Smaller things we maintain

Tools that started as one-off jobs on our own servers and turned out to be worth keeping.

  • stalwart-migrator (opens in a new tab)In-place Stalwart upgrades

    Takes a Stalwart mail server from 0.15.5 to current without data loss, checkpointing every step so an interrupted run resumes rather than restarts.

    Used in production
    GPL-3.0
  • ihasmail-oneshot (opens in a new tab)Stalwart and ihasmail in one command

    Turns a fresh Docker host into a mail server with webmail: certificates, the first mailboxes and the DNS records to publish, left behind as an ordinary compose project.

    Used in production
    AGPL-3.0
  • SysAdminAutomation (opens in a new tab)Bash for the jobs that recur

    Distribution-agnostic scripts for backups, logs, monitoring, users and updates. Everything destructive takes --dry-run, and with no terminal to ask on it refuses rather than guessing.

    In use
    GPL-3.0