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

138 lines
5.5 KiB
Bash

# ==============================================================================
# DEPRECATED: This file is deprecated. Use .env.example instead.
# This file will be removed in a future version.
# See .env.example for the unified configuration file.
# ==============================================================================
# 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
# 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
# ==============================================================================
# Storage Configuration
# ==============================================================================
# Default hold service DID for users without their own storage (REQUIRED)
# Users with a sailor profile defaultHold setting will override this
# Format: did:web:hostname[:port]
# Docker: did:web:atcr-hold:8080
# Local dev: did:web:127.0.0.1:8080
# Production: did:web:hold01.atcr.io
ATCR_DEFAULT_HOLD_DID=did:web: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
# Path to OAuth client P-256 signing key (auto-generated on first run)
# Used for confidential OAuth client authentication (production only)
# Localhost deployments always use public OAuth clients (no key needed)
# Default: /var/lib/atcr/oauth/client.key
# ATCR_OAUTH_KEY_PATH=/var/lib/atcr/oauth/client.key
# OAuth client display name (shown in authorization screens)
# Default: AT Container Registry
# ATCR_CLIENT_NAME=AT Container Registry
# ==============================================================================
# UI Configuration
# ==============================================================================
# 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=debug
# Log formatter: text, json (default: text)
# ATCR_LOG_FORMATTER=text
# ==============================================================================
# Remote Log Shipping (optional)
# ==============================================================================
# Backend: victoria, opensearch, loki (empty = disabled)
# ATCR_LOG_SHIPPER_BACKEND=victoria
# Remote log service URL
# ATCR_LOG_SHIPPER_URL=http://victorialogs:9428
# Number of logs to batch before flushing (default: 100)
# ATCR_LOG_SHIPPER_BATCH_SIZE=100
# Max time between flushes (default: 5s)
# ATCR_LOG_SHIPPER_FLUSH_INTERVAL=5s
# Basic auth credentials (optional)
# ATCR_LOG_SHIPPER_USERNAME=
# ATCR_LOG_SHIPPER_PASSWORD=
# ==============================================================================
# Hold Health Check Configuration
# ==============================================================================
# How often to check health of hold endpoints in the background (default: 15m)
# Queries database for unique hold endpoints and checks if they're reachable
# Examples: 5m, 15m, 30m, 1h
# ATCR_HEALTH_CHECK_INTERVAL=15m
# How long to cache health check results (default: 15m)
# Cached results avoid redundant health checks on page renders
# Should be >= ATCR_HEALTH_CHECK_INTERVAL for efficiency
# Examples: 15m, 30m, 1h
# ATCR_HEALTH_CACHE_TTL=15m
# ==============================================================================
# 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
# ==============================================================================
# Legal Page Customization (for self-hosted instances)
# ==============================================================================
# Company/organization name displayed in legal pages (Terms, Privacy)
# Default: AT Container Registry
# ATCR_LEGAL_COMPANY_NAME=AT Container Registry
# Governing law jurisdiction for legal terms
# Default: State of Texas, United States
# ATCR_LEGAL_JURISDICTION=State of Texas, United States