From 8ab1009b15d7c9011c531351ad2d075cc5042f70 Mon Sep 17 00:00:00 2001 From: Agent Date: Sun, 29 Mar 2026 08:57:20 +0000 Subject: [PATCH] feat: custom edge container Dockerfile with dispatcher dependencies - Create docker/edge/Dockerfile with bash, jq, curl, git, docker-cli - Create docker/edge/dispatcher.sh as placeholder no-op loop - Update edge service to build from ./docker/edge instead of caddy:alpine image - Mount Docker socket into edge container for dispatcher access - Mount dispatcher.sh as read-only volume --- bin/disinto | 4 +++- docker/edge/Dockerfile | 3 +++ docker/edge/dispatcher.sh | 12 ++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 docker/edge/Dockerfile create mode 100644 docker/edge/dispatcher.sh diff --git a/bin/disinto b/bin/disinto index 5da58e1..3151c19 100755 --- a/bin/disinto +++ b/bin/disinto @@ -271,13 +271,15 @@ services: # Edge proxy — reverse proxy to Forgejo, Woodpecker, and staging # Serves on ports 80/443, routes based on path edge: - image: caddy:alpine + build: ./docker/edge ports: - "80:80" - "443:443" volumes: - ./docker/Caddyfile:/etc/caddy/Caddyfile + - ./docker/edge/dispatcher.sh:/usr/local/bin/dispatcher.sh:ro - caddy_data:/data + - /var/run/docker.sock:/var/run/docker.sock depends_on: - forgejo - woodpecker diff --git a/docker/edge/Dockerfile b/docker/edge/Dockerfile new file mode 100644 index 0000000..8914a51 --- /dev/null +++ b/docker/edge/Dockerfile @@ -0,0 +1,3 @@ +FROM caddy:alpine +RUN apk add --no-cache bash jq curl git docker-cli +COPY dispatcher.sh /usr/local/bin/dispatcher.sh diff --git a/docker/edge/dispatcher.sh b/docker/edge/dispatcher.sh new file mode 100644 index 0000000..adae33a --- /dev/null +++ b/docker/edge/dispatcher.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# dispatcher.sh — Edge task dispatcher placeholder +# +# TODO: Implement task polling and runner launching (#45) +# Currently a no-op loop for future expansion. + +set -euo pipefail + +while true; do + # Placeholder: no-op loop, no logic yet + sleep 60 +done -- 2.49.1