Files
VeillaxandClaude Sonnet 5.5 b53af0e196
CI / test (push) Successful in 2m32s
Add Spinner, a Minecraft hostname-routing reverse proxy
Routes Java Edition connections by the hostname in the handshake, with
wildcard domains, backend failover, PROXY protocol v2, cached server-list
status from health probes, hot-reloaded config, and an admin page and
metrics endpoint. Includes CI, tagged releases and a container image.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 19:40:40 -06:00

21 lines
844 B
Docker

# syntax=docker/dockerfile:1
# Packages the binary deploy/build.sh already built (dist/bin/linux_<arch>/spinner),
# so the image needs no Go toolchain and no emulation. Build it with:
# sh deploy/build.sh && docker buildx build .
FROM --platform=$BUILDPLATFORM alpine:3.22 AS prep
RUN mkdir /data && chown 65532:65532 /data
FROM scratch
ARG TARGETARCH
LABEL org.opencontainers.image.title="Spinner" \
org.opencontainers.image.description="Minecraft hostname-routing reverse proxy" \
org.opencontainers.image.source="https://git.veillax.com/Veillax/Spinner" \
org.opencontainers.image.licenses="AGPL-3.0-only"
COPY --from=prep --chown=65532:65532 /data /data
COPY dist/bin/linux_${TARGETARCH}/spinner /spinner
USER 65532:65532
VOLUME ["/data"]
EXPOSE 25565 8080
ENTRYPOINT ["/spinner"]
CMD ["-config", "/data/spinner.json"]