85 lines
2.3 KiB
YAML
85 lines
2.3 KiB
YAML
services:
|
|
atcr-appview:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.appview
|
|
image: atcr-appview: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:
|
|
# Auth keys (JWT signing keys)
|
|
# - atcr-auth:/var/lib/atcr/auth
|
|
# 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:
|