Files
at-container-registry/.env.hold.example
T

70 lines
2.4 KiB
Bash

# ATCR Hold Service Configuration
# Copy this file to .env and fill in your values
# ==============================================================================
# Required Configuration
# ==============================================================================
# Hold service public URL (REQUIRED)
# The hostname becomes the hold name/record key
# Examples: https://hold1.atcr.io, http://127.0.0.1:8080
HOLD_PUBLIC_URL=http://127.0.0.1:8080
# ==============================================================================
# Storage Configuration
# ==============================================================================
# Storage driver type (s3, filesystem)
# Default: s3
#
# S3 Presigned URLs:
# When using S3 storage, presigned URLs are automatically enabled for direct
# client ↔ S3 transfers. This eliminates the hold service as a bandwidth
# bottleneck, reducing hold bandwidth by ~99% for push/pull operations.
# Falls back to proxy mode automatically for non-S3 drivers.
STORAGE_DRIVER=filesystem
# For S3/Storj/Minio:
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=us-east-1
S3_BUCKET=atcr-blobs
# For Storj/Minio (optional - custom S3 endpoint):
# S3_ENDPOINT=https://gateway.storjshare.io
# For filesystem driver:
# STORAGE_DRIVER=filesystem
# STORAGE_ROOT_DIR=/var/lib/atcr/hold
# ==============================================================================
# Server Configuration
# ==============================================================================
# Server listen address (default: :8080)
# HOLD_SERVER_ADDR=:8080
# Allow public blob reads (pulls) without authentication
# Writes (pushes) always require crew membership via PDS
# Default: false
HOLD_PUBLIC=false
# ==============================================================================
# Registration (REQUIRED)
# ==============================================================================
# Your ATProto DID (REQUIRED for registration)
# Get your DID: https://bsky.social/xrpc/com.atproto.identity.resolveHandle?handle=yourhandle.bsky.social
#
# On first run with HOLD_OWNER set:
# 1. Hold service will print an OAuth URL to the logs
# 2. Visit the URL in your browser to authorize
# 3. Hold service creates hold + crew records in your PDS
# 4. Registration complete!
#
# On subsequent runs:
# - Hold service checks if already registered
# - Skips OAuth if records exist
#
HOLD_OWNER=did:plc:your-did-here