# HTTP Server APP_HTTP_HOST=0.0.0.0 APP_HTTP_PORT=8000 APP_HTTP_WORKERS=4 APP_HTTP_JSON_LIMIT_BYTES=10485760 # App APP_URL=http://localhost:8000 APP_MAIN_DOMAIN=localhost # Session APP_SESSION_SECRET=change-me-to-a-secure-random-string-at-least-32-bytes APP_SESSION_COOKIE_NAME=sid APP_SESSION_COOKIE_SECURE=false APP_SESSION_COOKIE_HTTP_ONLY=true APP_SESSION_COOKIE_SAME_SITE=Lax APP_SESSION_COOKIE_PATH=/ APP_SESSION_COOKIE_DOMAIN= APP_SESSION_TTL_SECS=86400 APP_SESSION_MAX_AGE_SECS=86400 # PostgreSQL DATABASE_URL=postgres://appks:appks@localhost:5432/appks APP_DATABASE_URL=postgres://appks:appks@localhost:5432/appks APP_DATABASE_MAX_CONNECTIONS=10 APP_DATABASE_MIN_CONNECTIONS=2 APP_DATABASE_IDLE_TIMEOUT=600 APP_DATABASE_MAX_LIFETIME=3600 APP_DATABASE_CONNECTION_TIMEOUT=8 APP_DATABASE_SCHEMA_SEARCH_PATH=public APP_DATABASE_READ_WRITE_SPLIT=false APP_DATABASE_RETRY_ATTEMPTS=3 APP_DATABASE_RETRY_DELAY=5 # Redis # Single-node mode (set APP_REDIS_CLUSTER_ENABLED=false) APP_REDIS_URL=redis://localhost:6379/0 # Cluster mode (set APP_REDIS_CLUSTER_ENABLED=true) APP_REDIS_CLUSTER_ENABLED=true APP_REDIS_CLUSTER_NODES=redis://localhost:6379,redis://localhost:6380,redis://localhost:6381,redis://localhost:6382,redis://localhost:6383,redis://localhost:6384 APP_REDIS_READ_FROM_REPLICAS=false APP_REDIS_USERNAME= APP_REDIS_PASSWORD= APP_REDIS_MAX_CONNECTIONS=20 APP_REDIS_MIN_CONNECTIONS=2 APP_REDIS_IDLE_TIMEOUT=300 APP_REDIS_CONNECTION_TIMEOUT=5 APP_REDIS_MAX_RETRIES=3 APP_REDIS_RETRY_DELAY_MS=100 APP_REDIS_TLS_ENABLED=false APP_REDIS_KEY_PREFIX=appks: # etcd APP_ETCD_ENDPOINTS=http://localhost:2379 APP_ETCD_KEY_PREFIX=/appks/ APP_ETCD_CONNECT_TIMEOUT=5 APP_ETCD_REQUEST_TIMEOUT=10 APP_ETCD_KEEP_ALIVE_INTERVAL=10 APP_ETCD_LEASE_TTL=15 APP_ETCD_MAX_RETRIES=3 APP_ETCD_REGISTER_SELF=false # NATS APP_NATS_URL=nats://localhost:4222 APP_NATS_CONNECTION_TIMEOUT=5 APP_NATS_PING_INTERVAL=20 APP_NATS_RECONNECT_DELAY=2 APP_NATS_MAX_RECONNECTS=60 APP_NATS_STREAM_PREFIX=APPKS APP_NATS_ACK_WAIT_SECS=30 APP_NATS_MAX_DELIVER=5 # S3 / MinIO APP_S3_ENDPOINT=http://localhost:9000 APP_S3_REGION=us-east-1 APP_S3_ACCESS_KEY=admin APP_S3_SECRET_KEY=mysecret123 APP_S3_BUCKET=appks APP_S3_PATH_STYLE=true APP_S3_FORCE_PATH_STYLE=true APP_S3_PUBLIC_URL=http://localhost:9000/appks APP_S3_MAX_CONNECTIONS=50 APP_S3_IDLE_TIMEOUT=90 APP_S3_CONNECTION_TIMEOUT=10 APP_S3_MAX_RETRIES=3 APP_S3_UPLOAD_PART_SIZE=8388608 APP_S3_MAX_UPLOAD_SIZE=104857600 APP_S3_PRESIGNED_URL_EXPIRY=3600 # LRU Cache APP_LRU_DEFAULT_CAPACITY=1000 APP_LRU_DEFAULT_TTL_SECS=300 APP_LRU_CLEANUP_INTERVAL_SECS=60 # gRPC Server APP_RPC_SELF_HOST=0.0.0.0 APP_RPC_SELF_PORT=50049 APP_RPC_SELF_REFLECTION=false APP_RPC_SELF_SERVICE_NAME=appks APP_RPC_DEFAULT_TIMEOUT_SECS=10 # AI Provider APP_AI_PROVIDER_API_KEY= APP_AI_PROVIDER_URL= # Qdrant APP_QDRANT_URL=http://localhost:6334 APP_QDRANT_COLLECTION=appks_embeddings APP_QDRANT_VECTOR_SIZE=1536 APP_QDRANT_DISTANCE=Cosine APP_QDRANT_MAX_CONNECTIONS=10 APP_QDRANT_IDLE_TIMEOUT=300 APP_QDRANT_CONNECTION_TIMEOUT=10 APP_QDRANT_MAX_RETRIES=3 APP_QDRANT_TLS_ENABLED=false APP_QDRANT_SEARCH_LIMIT=10 APP_QDRANT_SCORE_THRESHOLD=0.7 # Email RPC APP_EMAIL_RPC_ADDR=http://localhost:50050