Skip to content

formd v0.2.0

Choose a tag to compare

@dc9-dev dc9-dev released this 19 Oct 13:13
· 6 commits to main since this release

formd

formd is a self-hosted form backend for static sites: one Go binary next to your site that accepts submissions, filters out bots without a captcha, stores them in SQLite and sends email through your SMTP server or Amazon SES.

Website with a live demo: https://formd.top

What's new

Content assessment with a Polish model on your own hardware

  • New JEV_PROVIDER=basal: formd sends content assessment to a self-hosted basal-serve instead of Jev on OpenRouter. It speaks the same System One API, so the questions, thresholds, holding and fail-open work the same.
  • Defaults to Remek/basal-omni-1.0-ultra at http://127.0.0.1:8000/v1/systemone. The lighter Bielik-based Remek/basal-2.0-4.5B also runs on a Mac or a CPU; set JEV_MODEL to the name you serve.
  • Form content stays on your infrastructure and requests cost nothing, so the panel hides the cost tile. The form settings show which model scores submissions and whether content leaves the server.
  • Security: basal-serve has no authentication, so plain http is still accepted only for a loopback address; a remote model needs https. OPENROUTER_API_KEY is never sent to a basal endpoint; an optional BASAL_API_KEY is sent to a gateway in front of it. An unknown JEV_PROVIDER stops startup with a clear error.
  • Step-by-step setup: README.

The integration is tested against the API format documented by basal, not against a GPU deployment. If something does not match, submissions go through without a score and the panel shows the error.

Website and docs in English and Polish

  • formd.top is now in English at / and in Polish at /pl/, chosen from the browser language on the first visit, with a switch that remembers the choice.
  • The README is in English; the Polish version moved to README.pl.md. Both have a comparison with hosted form services and an FAQ.
  • The English install guide sets English visitor messages through the data-formd-* attributes. formd's built-in messages and the admin panel are still Polish.

Install

# Linux x86-64 (for ARM use formd-linux-arm64)
curl -LO https://github.com/dc9-dev/formd/releases/download/v0.2.0/formd-linux-amd64
curl -LO https://github.com/dc9-dev/formd/releases/download/v0.2.0/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
sudo install -m 0755 formd-linux-amd64 /usr/local/bin/formd
formd version   # v0.2.0

Or from source: go install github.com/dc9-dev/formd/cmd/formd@v0.2.0 (Go 1.27.2+). Full guide: formd.top.

Upgrading from v0.1.0

Replace the binary and restart: sudo systemctl restart formd. There are no database changes and no required configuration changes; without JEV_PROVIDER, formd keeps using Jev on OpenRouter as before.

Files

File Platform
formd-linux-amd64 Linux x86-64, statically linked
formd-linux-arm64 Linux ARM64, statically linked
SHA256SUMS checksums

Built from commit ffb9d62 with Go 1.27.2 (CGO_ENABLED=0, -trimpath).