From e09ee449d197dd0b8c9d3ee17d0c75d5727fbbda Mon Sep 17 00:00:00 2001 From: Matthew Penner Date: Sat, 17 Jul 2021 10:34:31 -0600 Subject: [PATCH] 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 --- Dockerfile | 6 +++--- config/config.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0d71391..aa51113 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Stage 1 (Build) -FROM --platform=$BUILDPLATFORM golang:1.16-alpine3.13 AS builder +FROM --platform=$BUILDPLATFORM golang:1.16-alpine AS builder ARG VERSION 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 # Stage 2 (Final) -FROM busybox:1.33.0 -RUN echo "ID=\"busybox\"" > /etc/os-release +FROM gcr.io/distroless/static:latest +RUN echo "ID=\"distroless\"" > /etc/os-release COPY --from=builder /app/wings /usr/bin/ CMD [ "/usr/bin/wings", "--config", "/etc/pterodactyl/config.yml" ] diff --git a/config/config.go b/config/config.go index 99f375f..380e062 100644 --- a/config/config.go +++ b/config/config.go @@ -394,7 +394,7 @@ func EnsurePterodactylUser() error { } // 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.User.Uid = system.MustInt(system.FirstNotEmpty(os.Getenv("WINGS_UID"), "988")) _config.System.User.Gid = system.MustInt(system.FirstNotEmpty(os.Getenv("WINGS_GID"), "988"))