repos / pico

pico services mono repo
git clone https://github.com/picosh/pico.git

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
A Dockerfile.standalone
+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