A container registry that uses the AT Protocol for manifest storage and S3 for blob storage. atcr.io
docker container atproto go
72
fork

Configure Feed

Select the types of activity you want to include in your feed.

at loom 47 lines 1.8 kB view raw
1FROM docker.io/golang:1.25.2-trixie AS builder 2 3RUN apt-get update && \ 4 apt-get install -y --no-install-recommends sqlite3 libsqlite3-dev && \ 5 rm -rf /var/lib/apt/lists/* 6 7WORKDIR /build 8 9COPY go.mod go.sum ./ 10RUN go mod download 11 12COPY . . 13 14RUN go generate ./... 15RUN CGO_ENABLED=1 go build \ 16 -ldflags="-s -w -linkmode external -extldflags '-static'" \ 17 -tags sqlite_omit_load_extension \ 18 -trimpath \ 19 -o atcr-appview ./cmd/appview 20 21# ========================================== 22# Stage 2: Minimal FROM scratch runtime 23# ========================================== 24FROM scratch 25# Copy CA certificates for HTTPS (PDS, Jetstream, relay connections) 26COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ 27# Copy timezone data for timestamp formatting 28COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo 29# Copy optimized binary (SQLite embedded) 30COPY --from=builder /build/atcr-appview /atcr-appview 31 32# Expose ports 33EXPOSE 5000 34 35# OCI image annotations 36LABEL org.opencontainers.image.title="ATCR AppView" \ 37 org.opencontainers.image.description="ATProto Container Registry - OCI-compliant registry using AT Protocol for manifest storage" \ 38 org.opencontainers.image.authors="ATCR Contributors" \ 39 org.opencontainers.image.source="https://tangled.org/@evan.jarrett.net/at-container-registry" \ 40 org.opencontainers.image.documentation="https://tangled.org/@evan.jarrett.net/at-container-registry" \ 41 org.opencontainers.image.licenses="MIT" \ 42 org.opencontainers.image.version="0.1.0" \ 43 io.atcr.icon="https://imgs.blue/evan.jarrett.net/1TpTNrRelfloN2emuWZDrWmPT0o93bAjEnozjD6UPgoVV9m4" \ 44 io.atcr.readme="https://tangled.org/@evan.jarrett.net/at-container-registry/raw/main/docs/appview.md" 45 46ENTRYPOINT ["/atcr-appview"] 47CMD ["serve"]