Comfylib.
The shared foundation for Imvault, Witmoot, Songstead, Folkweave, and Tidings.
Small Go packages for the parts every app needs: backups, tokens, trusted proxies, process isolation, and account forms.
Current release: Comfylib 0.7.2
One implementation, used together.
The core packages use only the Go standard library. Each app pins an exact published version.
- Security: random and CSRF tokens, trusted proxy addresses, private key files, mail, and Bubblewrap confinement.
- Your data: image resizing, member profiles, and verified daily backups.
- First run: browser setup and the matching account commands.
- Administration: one owner dashboard showing site health and security counts, kept for 90 days. It records no people, content, or IP addresses.
- Rate limits: shared request budgets that each app tunes.
- Forms and times: account and invitation forms, and each member’s display timezone.
A separately versioned OIDC adapter handles community sign-in.
The apps share one configuration format for service settings.
Each app keeps its own look, permissions, and storage.
Use it in a Go project.
Source builds need Go 1.26.11 or newer. Pin the release in your project:
go get github.com/airencracken/comfylib@v0.7.2
Choose the packages you need in the package guide. Comfylib is licensed under AGPL-3.0-or-later.
See it at home.
Comfylib supports Imvault's photo library, Witmoot's conversations, Songstead's music recommendations, Folkweave's group timeline, and Tidings' feed reader. Each app installs and runs on its own.