elektrine/release_builder
Maxfield Luke 454e80a8f8
Some checks failed
Deploy Docker Images / Build, push, and deploy (push) Failing after 19m8s
Smoke / Hello from Forgejo Actions (push) Successful in 1s
Initial commit
Fresh repository on git.elektrine.com/elektrine/elektrine.
2026-07-30 01:36:18 -04:00
..
config Initial commit 2026-07-30 01:36:18 -04:00
lib Initial commit 2026-07-30 01:36:18 -04:00
mix.exs Initial commit 2026-07-30 01:36:18 -04:00
module_selection.exs Initial commit 2026-07-30 01:36:18 -04:00
README.md Initial commit 2026-07-30 01:36:18 -04:00

Release Builder

This project builds module-specific Elektrine releases without compiling every optional umbrella app.

Build any subset

scripts/release/deploy_release.sh --modules email,vpn

Each unique module set gets its own build output under _build/release_builder/<module-set>/, so switching module combinations does not reuse stale compiled manifests.

deploy/docker/Dockerfile uses scripts/release/deploy_release.sh too, so container builds go through release_builder/ by default instead of the root umbrella release.

Docker deploy

Use the Docker wrapper for module-specific deployments:

scripts/deploy/docker_deploy.sh --modules chat,social --profile caddy

It renders a Compose file that matches the selected module set, sets ELEKTRINE_ENABLED_MODULES, derives ELEKTRINE_RELEASE_MODULES from it by default, sets mail runtime flags, and removes POP3, IMAP, and SMTP port bindings when email is not selected.

Omit --modules and --profile for the full default Docker stack.

If vpn is in the selected module set, the deploy wrapper also turns on the bundled Docker vpn service automatically. If vpn is not selected, that service stays off.

Supported module ids

  • chat
  • social
  • email
  • nerve
  • vpn
  • dns
  • uptime
  • atomine
  • kairo

Accepted aliases:

  • proofs -> atomine
  • personhood -> atomine

Special values:

  • all
  • none

The builder always includes:

  • elektrine
  • elektrine_web

Feature apps are selected from ELEKTRINE_ENABLED_MODULES by default. ELEKTRINE_RELEASE_MODULES is still available as an advanced build override.