docker: change final image from busybox to distroless

This should resolve any issues with missing ca-certificates or tzdata.

Fixes https://github.com/pterodactyl/panel/issues/3442
This commit is contained in:
Matthew Penner 2021-07-17 10:34:31 -06:00
parent 7a24e976ef
commit e09ee449d1
2 changed files with 4 additions and 4 deletions

View File

@ -1,5 +1,5 @@
# Stage 1 (Build) # Stage 1 (Build)
FROM --platform=$BUILDPLATFORM golang:1.16-alpine3.13 AS builder FROM --platform=$BUILDPLATFORM golang:1.16-alpine AS builder
ARG VERSION ARG VERSION
RUN apk add --update --no-cache git make upx RUN apk add --update --no-cache git make upx
@ -16,7 +16,7 @@ RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
RUN upx wings RUN upx wings
# Stage 2 (Final) # Stage 2 (Final)
FROM busybox:1.33.0 FROM gcr.io/distroless/static:latest
RUN echo "ID=\"busybox\"" > /etc/os-release RUN echo "ID=\"distroless\"" > /etc/os-release
COPY --from=builder /app/wings /usr/bin/ COPY --from=builder /app/wings /usr/bin/
CMD [ "/usr/bin/wings", "--config", "/etc/pterodactyl/config.yml" ] CMD [ "/usr/bin/wings", "--config", "/etc/pterodactyl/config.yml" ]

View File

@ -394,7 +394,7 @@ func EnsurePterodactylUser() error {
} }
// Our way of detecting if wings is running inside of Docker. // Our way of detecting if wings is running inside of Docker.
if sysName == "busybox" { if sysName == "distroless" {
_config.System.Username = system.FirstNotEmpty(os.Getenv("WINGS_USERNAME"), "pterodactyl") _config.System.Username = system.FirstNotEmpty(os.Getenv("WINGS_USERNAME"), "pterodactyl")
_config.System.User.Uid = system.MustInt(system.FirstNotEmpty(os.Getenv("WINGS_UID"), "988")) _config.System.User.Uid = system.MustInt(system.FirstNotEmpty(os.Getenv("WINGS_UID"), "988"))
_config.System.User.Gid = system.MustInt(system.FirstNotEmpty(os.Getenv("WINGS_GID"), "988")) _config.System.User.Gid = system.MustInt(system.FirstNotEmpty(os.Getenv("WINGS_GID"), "988"))