- commit
- 4c69410
- parent
- b73b460
- author
- Eric Bower
- date
- 2025-07-07 10:14:05 -0400 EDT
chore(pgs): standalone docker image
2 files changed,
+46,
-0
+42,
-0
1@@ -0,0 +1,42 @@
2+FROM --platform=$BUILDPLATFORM golang:1.24 AS builder-deps
3+LABEL maintainer="Pico Maintainers <hello@pico.sh>"
4+
5+WORKDIR /app
6+
7+RUN apt-get update
8+RUN apt-get install -y git ca-certificates
9+
10+COPY go.* ./
11+
12+RUN --mount=type=cache,target=/go/pkg/,rw \
13+ --mount=type=cache,target=/root/.cache/,rw \
14+ go mod download
15+
16+FROM builder-deps AS builder
17+
18+COPY . .
19+
20+ARG TARGETOS
21+ARG TARGETARCH
22+
23+ENV CGO_ENABLED=0
24+ENV LDFLAGS="-s -w"
25+
26+ENV GOOS=${TARGETOS} GOARCH=${TARGETARCH}
27+
28+RUN --mount=type=cache,target=/go/pkg/,rw \
29+ --mount=type=cache,target=/root/.cache/,rw \
30+ go build -ldflags "$LDFLAGS" -o /go/bin/pgs ./cmd/pgs/standalone
31+
32+FROM scratch AS release
33+
34+ENV TERM="xterm-256color"
35+
36+WORKDIR /app
37+
38+COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
39+COPY --from=builder /go/bin/pgs ./pgs
40+COPY --from=builder /app/pkg/apps/pgs/html ./pkg/apps/pgs/html
41+COPY --from=builder /app/pkg/apps/pgs/public ./pkg/apps/pgs/public
42+
43+ENTRYPOINT ["/app/pgs"]
M
Makefile
+4,
-0
1@@ -53,6 +53,10 @@ bp-pgs-cdn: bp-setup
2 $(DOCKER_BUILDX_BUILD) -t ghcr.io/picosh/pico/pgs-cdn:$(DOCKER_TAG) --target release-web -f Dockerfile.cdn .
3 .PHONY: bp-pgs-cdn
4
5+bp-pgs-standalone: bp-setup
6+ $(DOCKER_BUILDX_BUILD) --manifest ghcr.io/picosh/pgs:$(DOCKER_TAG) --target release -f Dockerfile.standalone .
7+.PHONY: bp-pgs-standalone
8+
9 bp-pico: bp-setup
10 $(DOCKER_BUILDX_BUILD) -t ghcr.io/picosh/pico/pico-ssh:$(DOCKER_TAG) --build-arg APP=pico --target release-ssh .
11 .PHONY: bp-auth