-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
117 lines (101 loc) · 5.15 KB
/
Copy path.env.example
File metadata and controls
117 lines (101 loc) · 5.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# =============================================================================
# TLEF-CREATE — Development Environment Configuration
# =============================================================================
# Copy this file to .env before starting the application:
# cp .env.example .env
#
# Most values below are standard local-dev defaults and work out of the box.
# Values marked [REQUIRED] must be filled in manually — they differ per developer.
# =============================================================================
# Server Configuration
PORT=8051
NODE_ENV=development
ADMIN_CWLS=faculty-user
# Database Configuration
# Uses the shared tlef-mongodb-docker container's root user (mongoadmin/secret).
# Root user lives in the `admin` db, so authSource=admin is required; the
# `/tlef-create` path selects the working database for this app.
MONGODB_URI=mongodb://mongoadmin:secret@localhost:27017/tlef-create?authSource=admin
# Optional explicit Playwright database. When omitted, the E2E launcher derives
# the same connection with an isolated `-e2e` database name.
# E2E_MONGODB_URI=mongodb://mongoadmin:secret@localhost:27017/tlef-create-e2e?authSource=admin
REDIS_URL=redis://:tlef-redis-2024@localhost:6379
QDRANT_URL=http://localhost:6333
QDRANT_API_KEY=super-secret-dev-key
# Session Configuration
SESSION_SECRET=dev-session-secret-change-in-production
# Frontend Configuration (for development CORS)
FRONTEND_URL=http://localhost:8092
VITE_API_URL=http://localhost:8051
# SAML Configuration
# In development, uses docker-simple-saml as the Identity Provider (IdP).
# In production/staging, switches to UBC Shibboleth automatically via NODE_ENV.
SAML_AVAILABLE=true
SAML_ENVIRONMENT=LOCAL
# Explicitly enable only in isolated development/E2E environments. Never enable
# this fallback on a public deployment.
AUTO_LOGIN_ENABLED=false
# Service Provider Configuration
SAML_ISSUER=https://tlef-create
SAML_CALLBACK_URL=http://localhost:8051/api/create/auth/saml/callback
SAML_LOGOUT_CALLBACK_URL=http://localhost:8051/api/create/auth/logout/callback
# IdP Endpoints (docker-simple-saml local dev defaults)
SAML_ENTRY_POINT=http://localhost:6122/simplesaml/saml2/idp/SSOService.php
SAML_LOGOUT_URL=http://localhost:6122/simplesaml/saml2/idp/SingleLogoutService.php
SAML_METADATA_URL=http://localhost:6122/simplesaml/saml2/idp/metadata.php
# Certificate Path (points to docker-simple-saml's auto-generated cert)
SAML_CERT_PATH=../docker-simple-saml/cert/server.crt
# File Upload Configuration
UPLOAD_DIR=./routes/create/uploads
# Optional H5P content/temp storage root. All app replicas must share this storage.
# H5P_STORAGE_ROOT=/path/to/shared/h5p-storage
MAX_FILE_SIZE=104857600
# URL Domain Allowlist (JSON array of allowed domains)
ALLOWED_DOMAINS=["ubc.ca","wikipedia.org"]
# AI Services — Ollama (optional local fallback, no key needed)
OLLAMA_ENDPOINT=http://localhost:11434
OLLAMA_MODEL=llama3.1:8b
# LLM Provider Configuration
# Set LLM_PROVIDER=openai to use OpenAI or a LiteLLM proxy.
# Set LLM_PROVIDER=ollama to use local Ollama (requires Ollama running locally).
LLM_PROVIDER=openai
# Optional OpenAI-compatible proxy endpoint. Leave unset for the official OpenAI API.
# OPENAI_API_ENDPOINT=https://api.openai.com/v1
# LLM_API_ENDPOINT is reserved for non-OpenAI compatible providers.
# LLM_API_ENDPOINT=http://localhost:11434
# [REQUIRED] OpenAI API Key — required for the default OpenAI provider
# Get your key from https://platform.openai.com/api-keys
OPENAI_API_KEY=sk-your-openai-api-key-here
OPENAI_MODEL=gpt-4o-mini
# Embeddings and vector retrieval
# OpenAI text-embedding-3-small defaults to 1536 dimensions. CREATE uses a
# model/dimension-specific Qdrant collection so it cannot mix incompatible
# vectors with the previous 384-dimension FastEmbed collection.
EMBEDDINGS_PROVIDER=openai
EMBEDDINGS_MODEL=text-embedding-3-small
EMBEDDINGS_DIMENSIONS=1536
EMBEDDINGS_COLLECTION_NAME=quiz-materials-openai-text-embedding-3-small-1536
# Optional key: defaults to OPENAI_API_KEY/LLM_API_KEY. The endpoint defaults
# to OpenAI unless EMBEDDINGS_API_ENDPOINT or OPENAI_API_ENDPOINT is set.
# EMBEDDINGS_API_KEY=sk-your-embedding-api-key-here
# EMBEDDINGS_API_ENDPOINT=https://api.openai.com/v1
# EMBEDDINGS_BATCH_SIZE=256
# Canvas LMS Integration (UBC GenAI Toolkit; hosted Canvas or local Docker)
# Optional toolkit-style domain. When set, takes precedence over CANVAS_BASE_URL.
# CANVAS_DOMAIN=ubc.instructure.com
CANVAS_BASE_URL=http://localhost
CANVAS_CLIENT_ID=10000000000001
# [REQUIRED if using Canvas] Copy from Canvas Developer Key in your local Canvas instance
CANVAS_CLIENT_SECRET=your-canvas-client-secret-here
CANVAS_REDIRECT_URI=http://localhost:8051/api/create/canvas/oauth/callback
LTI_CLIENT_ID=10000000000002
LTI_KEY=replace-with-a-long-random-secret
LTI_PORT=7737
LTI_PUBLIC_URL=http://localhost:7737
# Public origin of the main CREATE server used by the Canvas LTI player to load
# H5P core, library, font and media assets. Set this when Canvas cannot reach
# the API through localhost (for example, a hosted or container deployment).
H5P_ASSETS_URL=http://localhost:8051
# Future Services (not yet active)
RAG_SERVICE_URL=http://localhost:8000
DOCUMENT_PARSER_URL=http://localhost:8001