Form handler backend for the bigconfig website. A Clojure/http-kit server behind a Caddy reverse proxy, packaged as a JVM uberjar for container deployment.
src/io/github/bigconfig_ai/once_forms/core.clj— http-kit server on port 8080. Accepts JSON POSTs, emails the payload via Resend SMTP, and responds with an echo. CORS is open to*.build.clj—tools.buildentry point; produces the uberjar via the:buildalias indeps.edn.Caddyfile— Caddy listens on:80and reverse proxies to the server on:8080.Procfile— Hivemind runscaddyandform(java -jar app.jar) side by side.Dockerfile— Multi-stage build:clojure:temurin-25-tools-deps-alpinebuilds the uberjar,alpine:3fetches Hivemind, final image iscaddy:2-alpinewithopenjdk25.devenv.nix— Dev shell with Clojure.
clj -M -m io.github.bigconfig-ai.once-forms.coreThen POST JSON to http://localhost:8080/. Requires SMTP_ADDRESS, SMTP_USERNAME, SMTP_PASSWORD, SMTP_PORT, and MAILER_FROM_ADDRESS in the environment.
clj -T:build uberOutput: target/once-forms-0.1.0-standalone.jar.
docker build -t once-forms .
docker run -p 80:80 --env-file .env once-formsRuntime deps are declared in deps.edn:
http-kit/http-kit— HTTP servercheshire/cheshire— JSONcom.draines/postal— SMTP client (Resend)