panel v0.9.1 — open-source game server manager

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 23:37:25 -07:00
commit 582b5a6b08
2161 changed files with 300950 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
# Panel controller — production image.
# Build from the repo root: docker build -f deploy/Dockerfile.controller .
# (the Makefile "docker" target does exactly this, injecting VERSION)
FROM golang:1.26 AS build
ARG VERSION=dev
WORKDIR /src
# The repo is a Go workspace (go.work) spanning controller/agent/pkg/proto —
# copy the whole tree so workspace resolution works.
COPY . .
ENV CGO_ENABLED=0
RUN go build -trimpath \
-ldflags "-s -w -X github.com/dbledeez/panel/pkg/version.Version=${VERSION}" \
-o /out/controller ./controller/cmd/controller \
&& go build -trimpath \
-ldflags "-s -w -X github.com/dbledeez/panel/pkg/version.Version=${VERSION}" \
-o /out/panelctl ./controller/cmd/panelctl
FROM gcr.io/distroless/static-debian12:nonroot
WORKDIR /opt/panel
COPY --from=build /out/controller /opt/panel/bin/controller
COPY --from=build /out/panelctl /opt/panel/bin/panelctl
# Module manifests: the controller's port allocator reads ./modules.
COPY --from=build /src/modules /opt/panel/modules
# CA, admin-token, cluster stores — persist this volume.
VOLUME ["/opt/panel/data"]
EXPOSE 8080 8443
ENTRYPOINT ["/opt/panel/bin/controller"]
CMD ["-http", ":8080", "-grpc", ":8443", "-ca-dir", "./data/ca"]