- commit
- f6881c4
- parent
- 47c751f
- author
- Eric Bower
- date
- 2025-06-14 09:07:05 -0400 EDT
dockerfile work
2 files changed,
+43,
-1
+38,
-0
1@@ -0,0 +1,38 @@
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-web
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-web-lite ./cmd/pgs/lite
31+
32+FROM scratch AS release-web
33+
34+WORKDIR /app
35+
36+COPY --from=builder-web /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
37+COPY --from=builder-web /go/bin/pgs-web-lite ./web
38+
39+ENTRYPOINT ["/app/web"]
M
Makefile
+5,
-1
1@@ -45,6 +45,10 @@ bp-auth: bp-setup
2 $(DOCKER_BUILDX_BUILD) -t ghcr.io/picosh/pico/auth-web:$(DOCKER_TAG) --build-arg APP=auth --target release-web .
3 .PHONY: bp-auth
4
5+bp-pgs-lite: bp-setup
6+ $(DOCKER_BUILDX_BUILD) -t ghcr.io/picosh/pico/pgs-web-lite:$(DOCKER_TAG) --target release-web -f Dockerfile.lite .
7+.PHONY: bp-pgs-lite
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
12@@ -62,7 +66,7 @@ bp-%: bp-setup
13 $(DOCKER_BUILDX_BUILD) --build-arg "APP=$*" -t "ghcr.io/picosh/pico/$*-web:$(DOCKER_TAG)" --target release-web .
14 .PHONY: bp-%
15
16-bp-all: bp-prose bp-pastes bp-feeds bp-pgs bp-auth bp-bouncer bp-pipe
17+bp-all: bp-prose bp-pastes bp-feeds bp-pgs bp-auth bp-bouncer bp-pipe bp-pgs-lite
18 .PHONY: bp-all
19
20 build-auth: