# ATCR AppView Configuration # Copy this file to .env.appview and fill in your values # Load with: source .env.appview && ./bin/atcr-appview serve # ============================================================================== # Server Configuration # ============================================================================== # HTTP listen address (default: :5000) ATCR_HTTP_ADDR=:5000 # Debug listen address (default: :5001) # ATCR_DEBUG_ADDR=:5001 # Base URL for the AppView service (REQUIRED for production) # Used to generate OAuth redirect URIs and JWT realms # Development: Auto-detected from ATCR_HTTP_ADDR (e.g., http://127.0.0.1:5000) # Production: Set to your public URL (e.g., https://atcr.io) # ATCR_BASE_URL=http://127.0.0.1:5000 # Service name (used for JWT service/issuer fields) # Default: Derived from base URL hostname, or "atcr.io" # ATCR_SERVICE_NAME=atcr.io # ============================================================================== # Storage Configuration # ============================================================================== # Default hold service endpoint for users without their own storage (REQUIRED) # Users with a sailor profile defaultHold setting will override this # Docker: Use container name (http://atcr-hold:8080) # Local dev: Use localhost (http://127.0.0.1:8080) ATCR_DEFAULT_HOLD=http://127.0.0.1:8080 # ============================================================================== # Authentication Configuration # ============================================================================== # Path to JWT signing private key (auto-generated if missing) # Default: /var/lib/atcr/auth/private-key.pem # ATCR_AUTH_KEY_PATH=/var/lib/atcr/auth/private-key.pem # Path to JWT signing certificate (auto-generated if missing) # Default: /var/lib/atcr/auth/private-key.crt # ATCR_AUTH_CERT_PATH=/var/lib/atcr/auth/private-key.crt # JWT token expiration in seconds (default: 300 = 5 minutes) # ATCR_TOKEN_EXPIRATION=300 # ============================================================================== # UI Configuration # ============================================================================== # Enable web UI (default: true) # Set to "false" to disable web interface and run registry-only ATCR_UI_ENABLED=true # SQLite database path for UI data (sessions, stars, pull counts, etc.) # Default: /var/lib/atcr/ui.db # ATCR_UI_DATABASE_PATH=/var/lib/atcr/ui.db # ============================================================================== # Logging Configuration # ============================================================================== # Log level: debug, info, warn, error (default: info) # ATCR_LOG_LEVEL=info # Log formatter: text, json (default: text) # ATCR_LOG_FORMATTER=text # ============================================================================== # Jetstream Configuration (ATProto event streaming) # ============================================================================== # Jetstream WebSocket URL for real-time ATProto events # Default: wss://jetstream2.us-west.bsky.network/subscribe # JETSTREAM_URL=wss://jetstream2.us-west.bsky.network/subscribe # Enable backfill worker to sync historical records (default: false) # Set to "true" to enable periodic syncing of ATProto records # ATCR_BACKFILL_ENABLED=true # ATProto relay endpoint for backfill sync API # Default: https://relay1.us-east.bsky.network # ATCR_RELAY_ENDPOINT=https://relay1.us-east.bsky.network # Backfill interval (default: 1h) # Examples: 30m, 1h, 2h, 24h # ATCR_BACKFILL_INTERVAL=1h