A container registry that uses the AT Protocol for manifest storage and S3 for blob storage. atcr.io
docker container atproto go
at loom 2.3 kB view raw
1services: 2 atcr-appview: 3 build: 4 context: . 5 dockerfile: Dockerfile.appview 6 image: atcr-appview:latest 7 container_name: atcr-appview 8 ports: 9 - "5000:5000" 10 # Optional: Load from .env.appview file (create from .env.appview.example) 11 # env_file: 12 # - .env.appview 13 environment: 14 # Server configuration 15 ATCR_HTTP_ADDR: :5000 16 ATCR_DEFAULT_HOLD_DID: did:web:172.28.0.3:8080 17 # UI configuration 18 ATCR_UI_ENABLED: true 19 ATCR_BACKFILL_ENABLED: true 20 # Test mode - fallback to default hold when user's hold is unreachable 21 TEST_MODE: true 22 # Logging 23 ATCR_LOG_LEVEL: debug 24 volumes: 25 # Auth keys (JWT signing keys) 26 # - atcr-auth:/var/lib/atcr/auth 27 # UI database (includes OAuth sessions, devices, and Jetstream cache) 28 - atcr-ui:/var/lib/atcr 29 restart: unless-stopped 30 dns: 31 - 8.8.8.8 32 - 1.1.1.1 33 networks: 34 atcr-network: 35 ipv4_address: 172.28.0.2 36 # The AppView is stateless - all storage is external: 37 # - Manifests/Tags -> ATProto PDS (via middleware) 38 # - Blobs/Layers -> Hold service (via ProxyBlobStore) 39 # - OAuth tokens -> SQLite database (atcr-ui volume) 40 # - No config.yml needed - all config via environment variables 41 42 atcr-hold: 43 env_file: 44 - ../atcr-secrets.env # Load S3/Storj credentials from external file 45 environment: 46 HOLD_PUBLIC_URL: http://172.28.0.3:8080 47 HOLD_OWNER: did:plc:pddp4xt5lgnv2qsegbzzs4xg 48 HOLD_PUBLIC: false 49 # STORAGE_DRIVER: filesystem 50 # STORAGE_ROOT_DIR: /var/lib/atcr/hold 51 TEST_MODE: true 52 # DISABLE_PRESIGNED_URLS: true 53 # Logging 54 ATCR_LOG_LEVEL: debug 55 # Storage config comes from env_file (STORAGE_DRIVER, AWS_*, S3_*) 56 build: 57 context: . 58 dockerfile: Dockerfile.hold 59 image: atcr-hold:latest 60 container_name: atcr-hold 61 ports: 62 - "8080:8080" 63 volumes: 64 # PDS data (carstore SQLite + signing keys) 65 - atcr-hold:/var/lib/atcr-hold 66 restart: unless-stopped 67 dns: 68 - 8.8.8.8 69 - 1.1.1.1 70 networks: 71 atcr-network: 72 ipv4_address: 172.28.0.3 73 74networks: 75 atcr-network: 76 driver: bridge 77 ipam: 78 config: 79 - subnet: 172.28.0.0/24 80 81volumes: 82 atcr-hold: 83 atcr-auth: 84 atcr-ui: