diff --git a/Dockerfile b/Dockerfile index f465161..8992d08 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,11 @@ # syntax = docker/dockerfile:1 -# Build hivemind. -FROM golang:1.25-alpine AS hivemind-builder +# Build supervisor. +FROM golang:1.25-alpine AS supervisor-builder RUN apk --no-cache add git WORKDIR /build -RUN GOBIN=/usr/bin go install github.com/DarthSim/hivemind@v1.1.0 +RUN git clone https://github.com/ochinchina/supervisord --branch v0.7.3 . +RUN GOBIN=/usr/bin go install # Build Caddy with S3 storage backend. FROM caddy:2.10.2-builder AS caddy-builder @@ -23,7 +24,7 @@ RUN go build -a -o git-pages ./src # Compose git-pages and Caddy. FROM alpine:latest RUN apk --no-cache add ca-certificates -COPY --from=hivemind-builder /usr/bin/hivemind /usr/bin/hivemind +COPY --from=supervisor-builder /usr/bin/supervisord /usr/bin/supervisord COPY --from=caddy-builder /usr/bin/caddy /usr/bin/caddy COPY --from=git-pages-builder /build/git-pages /usr/bin/git-pages @@ -44,11 +45,19 @@ EXPOSE 3000 3001 3002 # While the default command is to run git-pages standalone, the intended configuration # is to use it with Caddy and store both site data and credentials to an S3-compatible # object store. + # In a combined configuration, the same container may be used twice, launching either # `git-caddy` or `caddy run` to start both services. -# In a standalone configuration use port 3000 (http) to connect to git-caddy. -COPY <