-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
164 lines (142 loc) Β· 5.59 KB
/
.env.example
File metadata and controls
164 lines (142 loc) Β· 5.59 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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# ==========================================
# ODDIYA - ENVIRONMENT CONFIGURATION TEMPLATE
# ==========================================
# Copy this file to .env for local development
# cp .env.example .env
#
# Then update the values below with your actual credentials
# Never commit .env file to git (already in .gitignore)
#
# Last updated: 2025-11-03
# ==========================================
# ==========================================
# π QUICK START (MINIMUM REQUIRED)
# ==========================================
# These are the ONLY required variables for local development:
# Google Gemini AI (FREE - Get from: https://makersuite.google.com/app/apikey)
GOOGLE_API_KEY=your_gemini_api_key_here
GEMINI_MODEL=gemini-2.0-flash-exp
# Redis (use "localhost" for local, "redis" for Docker Compose)
REDIS_HOST=localhost
REDIS_PORT=6379
# ==========================================
# π AUTHENTICATION (Optional but Recommended)
# ==========================================
# Google OAuth 2.0 (Get from: https://console.cloud.google.com)
# Follow: docs/development/OAUTH_ONLY_SETUP.md
GOOGLE_CLIENT_ID=your_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-your_client_secret
# OAuth Redirect URI (update domain for production)
OAUTH_REDIRECT_URI=http://localhost:8080/api/v1/auth/oauth/google/callback
# JWT Token Settings (defaults are fine for development)
JWT_ACCESS_TOKEN_VALIDITY=3600 # 1 hour
JWT_REFRESH_TOKEN_VALIDITY=1209600 # 14 days
# ==========================================
# ποΈ INFRASTRUCTURE (Optional - for Full Stack)
# ==========================================
# Only needed if running with docker-compose.local.yml (includes database)
# PostgreSQL Database
DB_HOST=localhost # Use "postgres" when running in Docker
DB_PORT=5432
DB_NAME=oddiya
DB_USER=oddiya_user
DB_PASSWORD=change_me_in_production
# Redis Cache Settings
REDIS_PASSWORD= # Leave empty for no password
REDIS_CACHE_TTL=3600 # 1 hour cache for LLM responses
# ==========================================
# π SERVICE URLS (Internal Communication)
# ==========================================
# These are used for microservice communication
# Defaults work for local development
USER_SERVICE_URL=http://localhost:8082
AUTH_SERVICE_URL=http://localhost:8081
PLAN_SERVICE_URL=http://localhost:8083
VIDEO_SERVICE_URL=http://localhost:8084
LLM_AGENT_URL=http://localhost:8000
# ==========================================
# βοΈ AWS (Optional - for Production Features)
# ==========================================
# Only needed for:
# - Video generation (S3, SQS, SNS)
# - Photo uploads (S3)
# - Production deployment
AWS_REGION=ap-northeast-2 # Seoul region (or us-east-1)
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
# S3 Storage (for photos/videos)
S3_BUCKET=oddiya-storage-dev
# SQS & SNS (Video Pipeline)
SQS_QUEUE_URL=https://sqs.ap-northeast-2.amazonaws.com/ACCOUNT_ID/oddiya-video-jobs
SNS_TOPIC_ARN=arn:aws:sns:ap-northeast-2:ACCOUNT_ID:oddiya-notifications
# ==========================================
# π EXTERNAL APIS (Optional)
# ==========================================
# These are not required for basic functionality
# OpenWeatherMap (Weather data)
# Get from: https://openweathermap.org/api
OPENWEATHER_API_KEY=your_openweather_api_key
# ExchangeRate API (Currency conversion)
# Get from: https://exchangerate-api.com
EXCHANGERATE_API_KEY=your_exchangerate_api_key
# ==========================================
# π οΈ APPLICATION SETTINGS
# ==========================================
ENVIRONMENT=development # development | test | production
LOG_LEVEL=DEBUG # DEBUG | INFO | WARN | ERROR
MOCK_MODE=false # true = use mock LLM, false = use real Gemini
# ==========================================
# π MONITORING (Optional)
# ==========================================
# LangSmith - LLM Observability Platform
# Get from: https://smith.langchain.com
LANGSMITH_API_KEY=your_langsmith_api_key
LANGSMITH_PROJECT=oddiya-dev
LANGSMITH_API_URL=https://api.smith.langchain.com
# ==========================================
# π APPLE SIGN IN (Optional - iOS App)
# ==========================================
# Only needed if implementing Apple OAuth
# Requires Apple Developer account ($99/year)
APPLE_CLIENT_ID=com.oddiya.app
APPLE_TEAM_ID=YOUR_APPLE_TEAM_ID
APPLE_KEY_ID=YOUR_APPLE_KEY_ID
APPLE_PRIVATE_KEY=
# ==========================================
# π INSTRUCTIONS
# ==========================================
# 1. Copy this file:
# cp .env.example .env
#
# 2. Get your FREE Gemini API key:
# https://makersuite.google.com/app/apikey
#
# 3. (Optional) Set up Google OAuth:
# Follow: docs/development/OAUTH_ONLY_SETUP.md
#
# 4. Update the values above
#
# 5. Verify configuration:
# ./scripts/validate-env.sh
#
# 6. Start services:
# docker-compose up -d
#
# ==========================================
# π SECURITY BEST PRACTICES
# ==========================================
# β
.env is already in .gitignore
# β
Never commit .env to git
# β
Use different values for dev/staging/production
# β
Rotate credentials regularly
# β
Use AWS Secrets Manager in production
# β
Use strong passwords (minimum 16 characters)
# β
Enable 2FA on all accounts (Google, AWS, etc.)
#
# ==========================================
# π DOCUMENTATION
# ==========================================
# Full configuration guide: CONFIGURATION.md
# Getting started: docs/GETTING_STARTED.md
# Environment variables: docs/development/ENVIRONMENT_VARIABLES.md
#