-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path.env.example
More file actions
99 lines (87 loc) · 2.7 KB
/
.env.example
File metadata and controls
99 lines (87 loc) · 2.7 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
# ==================================
# OpenTaberna API - Environment Configuration
# ==================================
#
# Copy this file to .env and customize for your environment
# Never commit .env files to version control!
# ----------------------------------
# Application
# ----------------------------------
APP_NAME=OpenTaberna API
APP_VERSION=0.1.0
ENVIRONMENT=development
DEBUG=false
SECRET_KEY=CHANGE_ME_IN_PRODUCTION
# ----------------------------------
# Server
# ----------------------------------
HOST=0.0.0.0
PORT=8000
WORKERS=1
RELOAD=false
# ----------------------------------
# Database
# ----------------------------------
# PostgreSQL connection URL
# Format: postgresql+asyncpg://user:password@host:port/database
DATABASE_URL=postgresql+asyncpg://opentaberna:opentaberna_password@opentaberna-db:5432/opentaberna
# Connection pool settings
DATABASE_POOL_SIZE=20
DATABASE_MAX_OVERFLOW=40
DATABASE_POOL_TIMEOUT=30
DATABASE_ECHO=false
# ----------------------------------
# Redis
# ----------------------------------
REDIS_URL=redis://localhost:6379/0
# REDIS_PASSWORD= # Load from Docker/K8s secret in production
# ----------------------------------
# Keycloak
# ----------------------------------
KEYCLOAK_URL=http://localhost:8080
KEYCLOAK_REALM=opentaberna
KEYCLOAK_CLIENT_ID=opentaberna-api
# KEYCLOAK_CLIENT_SECRET= # Load from Docker/K8s secret in production
# ----------------------------------
# CORS
# ----------------------------------
# Comma-separated list of allowed origins
# Use ["*"] for development, specific domains in production
CORS_ORIGINS=["*"]
CORS_CREDENTIALS=true
# ----------------------------------
# Logging
# ----------------------------------
LOG_LEVEL=INFO
LOG_FORMAT=console
# LOG_FILE=/var/log/opentaberna/app.log
# ----------------------------------
# Cache
# ----------------------------------
CACHE_ENABLED=true
CACHE_TTL=300
# ----------------------------------
# Rate Limiting
# ----------------------------------
RATE_LIMIT_ENABLED=true
RATE_LIMIT_PER_MINUTE=60
# ----------------------------------
# Feature Flags
# ----------------------------------
FEATURE_WEBHOOKS_ENABLED=false
# ==================================
# Notes:
# ==================================
#
# Sensitive values (passwords, secrets) should be loaded from:
# - Docker secrets: /run/secrets/<secret_name>
# - Kubernetes secrets: /var/run/secrets/<secret_name>
# - Environment variables (uppercase with underscores)
#
# Example production setup:
# - Store DATABASE_URL in /run/secrets/database_url
# - Store REDIS_PASSWORD in /run/secrets/redis_password
# - Store KEYCLOAK_CLIENT_SECRET in /run/secrets/keycloak_client_secret
#
# Generate secure SECRET_KEY:
# python -c "import secrets; print(secrets.token_urlsafe(32))"