Files
at-container-registry/docker-compose.yml
Evan Jarrett a9704143f0 fix
2025-12-18 13:32:05 -06:00

88 lines
2.3 KiB
YAML

services:
atcr-appview:
build:
context: .
dockerfile: Dockerfile.dev
image: atcr-appview-dev:latest
container_name: atcr-appview
ports:
- "5000:5000"
# Optional: Load from .env.appview file (create from .env.appview.example)
# env_file:
# - .env.appview
environment:
# Server configuration
ATCR_HTTP_ADDR: :5000
ATCR_DEFAULT_HOLD_DID: did:web:172.28.0.3:8080
# UI configuration
ATCR_UI_ENABLED: "true"
ATCR_BACKFILL_ENABLED: "true"
# Test mode - fallback to default hold when user's hold is unreachable
TEST_MODE: "true"
# Logging
ATCR_LOG_LEVEL: debug
volumes:
# Mount source code for Air hot reload
- .:/app
# Cache go modules between rebuilds
- go-mod-cache:/go/pkg/mod
# UI database (includes OAuth sessions, devices, and Jetstream cache)
- atcr-ui:/var/lib/atcr
restart: unless-stopped
dns:
- 8.8.8.8
- 1.1.1.1
networks:
atcr-network:
ipv4_address: 172.28.0.2
# The AppView is stateless - all storage is external:
# - Manifests/Tags -> ATProto PDS (via middleware)
# - Blobs/Layers -> Hold service (via ProxyBlobStore)
# - OAuth tokens -> SQLite database (atcr-ui volume)
# - No config.yml needed - all config via environment variables
atcr-hold:
env_file:
- ../atcr-secrets.env # Load S3/Storj credentials from external file
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
# DISABLE_PRESIGNED_URLS: true
# Logging
ATCR_LOG_LEVEL: debug
# Storage config comes from env_file (STORAGE_DRIVER, AWS_*, S3_*)
build:
context: .
dockerfile: Dockerfile.hold
image: atcr-hold:latest
container_name: atcr-hold
ports:
- "8080:8080"
volumes:
# PDS data (carstore SQLite + signing keys)
- atcr-hold:/var/lib/atcr-hold
restart: unless-stopped
dns:
- 8.8.8.8
- 1.1.1.1
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-ui:
go-mod-cache: