A container registry that uses the AT Protocol for manifest storage and S3 for blob storage.
atcr.io
docker
container
atproto
go
1# Development image with Air hot reload
2# Build: docker build -f Dockerfile.dev -t atcr-dev .
3# Run: docker run -v $(pwd):/app -p 5000:5000 atcr-dev
4FROM docker.io/golang:1.25.7-trixie
5
6ARG AIR_CONFIG=.air.toml
7
8ENV DEBIAN_FRONTEND=noninteractive
9ENV AIR_CONFIG=${AIR_CONFIG}
10
11RUN apt-get update && \
12 apt-get install -y --no-install-recommends sqlite3 libsqlite3-dev curl nodejs npm && \
13 rm -rf /var/lib/apt/lists/* && \
14 go install github.com/air-verse/air@latest
15
16WORKDIR /app
17
18# Copy go.mod first for layer caching
19COPY go.mod go.sum ./
20RUN go mod download
21
22# For development: source mounted as volume, Air handles builds
23CMD ["sh", "-c", "air -c ${AIR_CONFIG}"]