Something went wrong. Try again.
A container registry that uses the AT Protocol for manifest storage and S3 for blob storage.
Something went wrong. Try again.
at-container-registry Dockerfile.appview
1.6 kB · 45 lines
12345678910111213141516171819202122232425262728293031323334353637383940414243444546# Production build for ATCR AppView# Result: ~30MB scratch image with static binaryFROM docker.io/golang:1.25.2-trixie AS builderENV DEBIAN_FRONTEND=noninteractiveRUN apt-get update && \ apt-get install -y --no-install-recommends libsqlite3-dev && \ rm -rf /var/lib/apt/lists/*WORKDIR /appCOPY go.mod go.sum ./RUN go mod downloadCOPY . .RUN go generate ./...RUN CGO_ENABLED=1 go build \ -ldflags="-s -w -linkmode external -extldflags '-static'" \ -tags sqlite_omit_load_extension \ -trimpath \ -o atcr-appview ./cmd/appview# Minimal runtimeFROM scratchCOPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfoCOPY --from=builder /app/atcr-appview /atcr-appviewEXPOSE 5000LABEL org.opencontainers.image.title="ATCR AppView" \ org.opencontainers.image.description="ATProto Container Registry - OCI-compliant registry using AT Protocol for manifest storage" \ org.opencontainers.image.authors="ATCR Contributors" \ org.opencontainers.image.source="https://tangled.org/@evan.jarrett.net/at-container-registry" \ org.opencontainers.image.documentation="https://tangled.org/@evan.jarrett.net/at-container-registry" \ org.opencontainers.image.licenses="MIT" \ org.opencontainers.image.version="0.1.0" \ io.atcr.icon="https://imgs.blue/evan.jarrett.net/1TpTNrRelfloN2emuWZDrWmPT0o93bAjEnozjD6UPgoVV9m4" \ io.atcr.readme="https://tangled.org/@evan.jarrett.net/at-container-registry/raw/main/docs/appview.md"ENTRYPOINT ["/atcr-appview"]CMD ["serve"]