Skip to content

Commit ffce26c

Browse files
committed
feat(16-07): wire config-ui into s6 service and Umbrel compose
- Replace sleep infinity placeholder in s6 config-ui/run with Deno server - exec ensures Deno process is the s6-supervised process (correct PID) - Add config-ui service to Umbrel docker-compose.yaml on port 3000 - config-ui depends_on relaymon; uses Docker service name for health URL - Add RELAYMON_HEALTH_HOST=0.0.0.0 to relaymon so config-ui can reach it
1 parent 856eff6 commit ffce26c

2 files changed

Lines changed: 32 additions & 3 deletions

File tree

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
#!/bin/sh
2-
# Placeholder until Phase 16 implements the config web UI.
3-
# Runs sleep infinity so s6 does not count this as a crash.
4-
exec sleep infinity
2+
# Config web UI — Deno HTTP server serving static assets + REST API
3+
exec /usr/local/bin/deno run \
4+
--allow-net \
5+
--allow-env \
6+
--allow-read \
7+
--allow-write \
8+
--no-lock \
9+
--no-check \
10+
--unstable-sloppy-imports \
11+
/opt/relaymon/src/config-ui/server.ts

apps/docker-stacks/umbrel/docker-compose.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ services:
1414
- RELAYMON_CONFIG_PATH=/opt/config.yaml
1515
- RELAYMON_DB_PATH=/opt/data/relaymon.db
1616
- RELAYMON_SKIP_PID_CHECK=true
17+
- RELAYMON_HEALTH_HOST=0.0.0.0
1718
ports:
1819
- "8080:8080"
1920

@@ -28,3 +29,24 @@ services:
2829
- ${APP_DATA_DIR}/data:/opt/data
2930
environment:
3031
- TRAWLER_DB_PATH=/opt/data/trawler.db
32+
33+
config-ui:
34+
build:
35+
context: ../../../
36+
dockerfile: apps/relaymon/.docker/Dockerfile
37+
container_name: umbrel-config-ui
38+
restart: unless-stopped
39+
command: ["deno", "run", "--allow-net", "--allow-env", "--allow-read", "--allow-write", "--no-lock", "--no-check", "--unstable-sloppy-imports", "src/config-ui/server.ts"]
40+
working_dir: /opt/relaymon
41+
volumes:
42+
- ${APP_DATA_DIR}/data:/opt/data
43+
- ${APP_DATA_DIR}/config.yaml:/opt/config.yaml
44+
environment:
45+
- CONFIG_UI_PORT=3000
46+
- RELAYMON_CONFIG_PATH=/opt/config.yaml
47+
- RELAYMON_HEALTH_URL=http://relaymon:8080
48+
- CONFIG_UI_STATIC_DIR=/opt/relaymon/ui/dist
49+
ports:
50+
- "3000:3000"
51+
depends_on:
52+
- relaymon

0 commit comments

Comments
 (0)