Skip to content

Commit b145729

Browse files
hyperpolymathclaude
andcommitted
chore: add Stapeln selur-compose.toml service definition
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent eab2dca commit b145729

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

selur-compose.toml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# http-capability-gateway — Stapeln/Selur service definition.
5+
#
6+
# HTTP capability-based gateway built with Elixir/Phoenix. Multi-stage
7+
# build: hexpm/elixir Alpine builder + Alpine runtime. Exposes HTTP
8+
# gateway on port 4000.
9+
#
10+
# Usage:
11+
# podman-compose -f selur-compose.toml up -d
12+
# just stack-up
13+
#
14+
# Required secrets (set via environment or .env file):
15+
# SECRET_KEY_BASE — Phoenix secret key (mix phx.gen.secret)
16+
17+
[project]
18+
name = "http-capability-gateway"
19+
20+
# =============================================================================
21+
# HTTP Capability Gateway — Phoenix application
22+
# =============================================================================
23+
[services.app]
24+
build = { context = ".", dockerfile = "Containerfile" }
25+
restart = "unless-stopped"
26+
ports = ["4000:4000"]
27+
networks = ["gateway-internal"]
28+
environment = [
29+
"MIX_ENV=prod",
30+
"PHX_HOST=localhost",
31+
"PORT=4000",
32+
]
33+
# Secrets — inject at deploy time via environment or .env file:
34+
# SECRET_KEY_BASE=<mix phx.gen.secret>
35+
healthcheck = { test = "wget --no-verbose --tries=1 --spider http://localhost:4000/health || exit 1", interval = "30s", timeout = "5s", retries = 3 }
36+
37+
# =============================================================================
38+
# Networks
39+
# =============================================================================
40+
[networks.gateway-internal]
41+
driver = "bridge"

0 commit comments

Comments
 (0)