Files
at-container-registry/docker-compose.yml
Evan Jarrett 8bf3b63428 fix backfill
2025-10-06 21:59:57 -05:00

65 lines
1.7 KiB
YAML

services:
atcr-registry:
build:
context: .
dockerfile: Dockerfile
image: atcr-registry:latest
container_name: atcr-registry
ports:
- "5000:5000"
environment:
- ATCR_TOKEN_STORAGE_PATH=/var/lib/atcr/tokens/oauth-tokens.json
- ATCR_UI_ENABLED=true
- ATCR_BACKFILL_ENABLED=true
volumes:
# Auth keys (JWT signing keys)
- atcr-auth:/var/lib/atcr/auth
# OAuth refresh tokens (persists user sessions across container restarts)
- atcr-tokens:/var/lib/atcr/tokens
# UI database (firehose cache for web interface)
- atcr-ui:/var/lib/atcr
restart: unless-stopped
networks:
atcr-network:
ipv4_address: 172.28.0.2
# The registry should be stateless - all storage is external:
# - Manifests/Tags -> ATProto PDS
# - Blobs/Layers -> Hold service
# - OAuth tokens -> Persistent volume (atcr-tokens)
# Future: Add read_only: true for production deployments
atcr-hold:
environment:
HOLD_PUBLIC_URL: http://172.28.0.3:8080
HOLD_OWNER: did:plc:pddp4xt5lgnv2qsegbzzs4xg
HOLD_PUBLIC: false
STORAGE_DRIVER: filesystem
STORAGE_ROOT_DIR: /var/lib/atcr/hold
TEST_MODE: true
build:
context: .
dockerfile: Dockerfile.hold
image: atcr-hold:latest
container_name: atcr-hold
ports:
- "8080:8080"
volumes:
- atcr-hold:/var/lib/atcr/hold
restart: unless-stopped
networks:
atcr-network:
ipv4_address: 172.28.0.3
networks:
atcr-network:
driver: bridge
ipam:
config:
- subnet: 172.28.0.0/24
volumes:
atcr-hold:
atcr-auth:
atcr-tokens:
atcr-ui: