A container registry that uses the AT Protocol for manifest storage and S3 for blob storage.
0
fork

Configure Feed

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

at 8d39daa09d8d9d5066c9fb336c61ef5bfb8a0b1f 128 lines 3.9 kB view raw
1services: 2 atcr-appview: 3 build: 4 context: . 5 dockerfile: Dockerfile.dev 6 image: atcr-appview-dev: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 # Base config: config-appview.example.yaml (passed via Air entrypoint) 14 # Env vars below override config file values for local dev 15 environment: 16 # ATCR_SERVER_CLIENT_NAME: "Seamark" 17 # ATCR_SERVER_CLIENT_SHORT_NAME: "Seamark" 18 ATCR_SERVER_DEFAULT_HOLD_DID: did:web:172.28.0.3:8080 19 ATCR_SERVER_TEST_MODE: "true" 20 ATCR_LOG_LEVEL: debug 21 LOG_SHIPPER_BACKEND: victoria 22 LOG_SHIPPER_URL: http://172.28.0.10:9428 23 # Limit local Docker logs - real logs go to Victoria Logs 24 # Local logs just for live tailing (docker logs -f) 25 logging: 26 driver: json-file 27 options: 28 max-size: "10m" 29 max-file: "1" 30 volumes: 31 # Mount source code for Air hot reload 32 - .:/app 33 # Cache go modules between rebuilds 34 - go-mod-cache:/go/pkg/mod 35 # UI database (includes OAuth sessions, devices, and Jetstream cache) 36 - atcr-ui:/var/lib/atcr 37 restart: unless-stopped 38 dns: 39 - 8.8.8.8 40 - 1.1.1.1 41 networks: 42 atcr-network: 43 ipv4_address: 172.28.0.2 44 # The AppView is stateless - all storage is external: 45 # - Manifests/Tags -> ATProto PDS (via middleware) 46 # - Blobs/Layers -> Hold service (via ProxyBlobStore) 47 # - OAuth tokens -> SQLite database (atcr-ui volume) 48 49 atcr-hold: 50 env_file: 51 - ../atcr-secrets.env # Load S3/Storj credentials from external file 52 # Base config: config-hold.example.yaml (passed via Air entrypoint) 53 # Env vars below override config file values for local dev 54 environment: 55 HOLD_SERVER_PUBLIC_URL: http://172.28.0.3:8080 56 HOLD_REGISTRATION_OWNER_DID: did:plc:pddp4xt5lgnv2qsegbzzs4xg 57 HOLD_REGISTRATION_ALLOW_ALL_CREW: true 58 HOLD_SERVER_TEST_MODE: true 59 # Stripe billing (only used with -tags billing) 60 STRIPE_SECRET_KEY: sk_test_ 61 STRIPE_PUBLISHABLE_KEY: pk_test_ 62 STRIPE_WEBHOOK_SECRET: whsec_ 63 HOLD_LOG_LEVEL: debug 64 LOG_SHIPPER_BACKEND: victoria 65 LOG_SHIPPER_URL: http://172.28.0.10:9428 66 # S3 storage config comes from env_file (AWS_*, S3_*) 67 # Limit local Docker logs - real logs go to Victoria Logs 68 # Local logs just for live tailing (docker logs -f) 69 logging: 70 driver: json-file 71 options: 72 max-size: "10m" 73 max-file: "1" 74 build: 75 context: . 76 dockerfile: Dockerfile.dev 77 args: 78 AIR_CONFIG: .air.hold.toml 79 BILLING_ENABLED: "true" 80 image: atcr-hold-dev:latest 81 container_name: atcr-hold 82 ports: 83 - "8080:8080" 84 volumes: 85 # Mount source code for Air hot reload 86 - .:/app 87 # Cache go modules between rebuilds 88 - go-mod-cache:/go/pkg/mod 89 # PDS data (carstore SQLite + signing keys) 90 - atcr-hold:/var/lib/atcr-hold 91 restart: unless-stopped 92 dns: 93 - 8.8.8.8 94 - 1.1.1.1 95 networks: 96 atcr-network: 97 ipv4_address: 172.28.0.3 98 99 # Victoria Logs for centralized log storage 100 # Uncomment to enable, then set LOG_SHIPPER_* env vars above 101 victorialogs: 102 image: victoriametrics/victoria-logs:latest 103 container_name: victorialogs 104 ports: 105 - "9428:9428" 106 volumes: 107 - victorialogs-data:/victoria-logs-data 108 command: 109 - "-storageDataPath=/victoria-logs-data" 110 - "-retentionPeriod=7d" 111 restart: unless-stopped 112 networks: 113 atcr-network: 114 ipv4_address: 172.28.0.10 115 116networks: 117 atcr-network: 118 driver: bridge 119 ipam: 120 config: 121 - subnet: 172.28.0.0/24 122 123volumes: 124 atcr-hold: 125 atcr-auth: 126 atcr-ui: 127 go-mod-cache: 128 victorialogs-data: