@@ -87,3 +87,61 @@ WS_PONG_DEADLINE_MS=10000
8787WS_IDLE_TIMEOUT_MS = 300000
8888# Public URL used by the Next.js frontend to connect
8989NEXT_PUBLIC_COLLAB_WS_URL = ws://localhost:1234
90+
91+ # ---------------------------------------------------------------------------
92+ # OpenTelemetry Distributed Tracing (#639)
93+ # ---------------------------------------------------------------------------
94+ # Set to "false" to disable tracing entirely (useful in test environments)
95+ OTEL_ENABLED = true
96+ # Service name attached to every span
97+ OTEL_SERVICE_NAME = stellar-creator-portfolio
98+ # OTLP gRPC endpoint — Jaeger all-in-one: http://localhost:4317
99+ # Datadog Agent: http://localhost:4317 (with DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT)
100+ OTEL_EXPORTER_OTLP_ENDPOINT = http://localhost:4317
101+ # Sampling rate in production: 1.0 = 100%, 0.1 = 10% (default 10% in prod)
102+ OTEL_TRACE_SAMPLE_RATE = 0.1
103+
104+ # ---------------------------------------------------------------------------
105+ # Neural Search Engine / Elasticsearch (#638)
106+ # ---------------------------------------------------------------------------
107+ # Elasticsearch cluster URL (single node dev: http://localhost:9200)
108+ ELASTICSEARCH_URL = http://localhost:9200
109+ # Optional: Basic auth for Elasticsearch
110+ ELASTICSEARCH_USERNAME = elastic
111+ ELASTICSEARCH_PASSWORD = changeme
112+ # Optional: API key auth (preferred in prod — takes priority over basic auth)
113+ ELASTICSEARCH_API_KEY =
114+ # Index name for creator profiles
115+ ELASTICSEARCH_CREATORS_INDEX = creators
116+ # OpenAI API key for embedding generation
117+ OPENAI_API_KEY = sk-...
118+ # Embedding model (text-embedding-3-small = 1536 dims, text-embedding-3-large = 3072 dims)
119+ EMBED_MODEL = text-embedding-3-small
120+ EMBED_ENDPOINT = https://api.openai.com/v1/embeddings
121+
122+ # ---------------------------------------------------------------------------
123+ # WebRTC Signaling Server (#637)
124+ # ---------------------------------------------------------------------------
125+ # Port the signaling server listens on
126+ SIGNALING_PORT = 3001
127+ # Host to bind (0.0.0.0 for all interfaces in production)
128+ SIGNALING_HOST = 0.0.0.0
129+ # HMAC secret for signing TURN credentials (generate: openssl rand -hex 32)
130+ TURN_SECRET = your-turn-secret-here
131+ # TURN server hostname (Coturn default)
132+ TURN_HOST = turn.example.com
133+ # TURN server ports
134+ TURN_PORT = 3478
135+ TURN_TLS_PORT = 5349
136+ # STUN server URL (use Google public STUN for dev, own server in prod)
137+ STUN_URL = stun:stun.l.google.com:19302
138+ # Credential TTL in seconds (default 86400 = 24h)
139+ TURN_CREDENTIAL_TTL = 86400
140+ # JWT secret for signaling auth (generate: openssl rand -hex 32)
141+ SIGNALING_JWT_SECRET = your-signaling-jwt-secret-here
142+ # Max concurrent connections per process
143+ SIGNALING_MAX_CONNECTIONS = 10000
144+ # Heartbeat interval in ms
145+ SIGNALING_HEARTBEAT_MS = 30000
146+ # Public WebSocket URL for clients
147+ NEXT_PUBLIC_SIGNALING_URL = ws://localhost:3001
0 commit comments