panel v0.9.2 — open-source game server manager
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Panel agent — production image.
|
||||
# Build from the repo root: docker build -f deploy/Dockerfile.agent .
|
||||
#
|
||||
# ┌─────────────────────────────── SECURITY ───────────────────────────────┐
|
||||
# │ The agent container mounts the HOST Docker socket (/var/run/docker.sock)│
|
||||
# │ to create/manage game-server containers. Access to the docker socket │
|
||||
# │ is equivalent to root on the host. Only run this on a machine you │
|
||||
# │ fully control, and never expose the socket beyond this container. │
|
||||
# └─────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
FROM golang:1.26 AS build
|
||||
ARG VERSION=dev
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
ENV CGO_ENABLED=0
|
||||
RUN go build -trimpath \
|
||||
-ldflags "-s -w -X github.com/dbledeez/panel/pkg/version.Version=${VERSION}" \
|
||||
-o /out/agent ./agent/cmd/agent
|
||||
|
||||
# Not distroless: game-module install hooks may shell out (tar, unzip).
|
||||
FROM debian:12-slim
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates tar unzip xz-utils \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
WORKDIR /opt/panel
|
||||
COPY --from=build /out/agent /opt/panel/bin/agent
|
||||
COPY --from=build /src/modules /opt/panel/modules
|
||||
# Instance data, sidecar metadata, backups, pairing certs — persist this.
|
||||
VOLUME ["/opt/panel/data"]
|
||||
ENTRYPOINT ["/opt/panel/bin/agent"]
|
||||
CMD ["--controller", "controller:8443", \
|
||||
"--modules-dir", "./modules", \
|
||||
"--data-root", "./data/instances", \
|
||||
"--meta-dir", "./data/instance-meta", \
|
||||
"--backup-dir", "./data/backups", \
|
||||
"--cert-dir", "./data/certs"]
|
||||
Reference in New Issue
Block a user