-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathenv.example
More file actions
150 lines (129 loc) · 5.37 KB
/
env.example
File metadata and controls
150 lines (129 loc) · 5.37 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
# GreenCode Backend Environment Configuration
# Copy this file to .env and update the values as needed
# =============================================================================
# APPLICATION CONFIGURATION
# =============================================================================
APP_NAME=GreenCode Backend
APP_VERSION=1.0.0
SERVER_PORT=8080
SERVER_CONTEXT_PATH=/api
# =============================================================================
# SPRING PROFILES
# =============================================================================
SPRING_PROFILES_ACTIVE=dev
# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
# Development Database (H2)
DEV_DB_URL=jdbc:h2:mem:greencode
DEV_DB_DRIVER=org.h2.Driver
DEV_DB_USERNAME=sa
DEV_DB_PASSWORD=password
# Staging Database (PostgreSQL)
STAGING_DB_HOST=localhost
STAGING_DB_PORT=5432
STAGING_DB_NAME=greencode_staging
STAGING_DB_USERNAME=postgres
STAGING_DB_PASSWORD=password
STAGING_DB_URL=jdbc:postgresql://${STAGING_DB_HOST}:${STAGING_DB_PORT}/${STAGING_DB_NAME}
# Production Database (PostgreSQL)
PROD_DB_HOST=localhost
PROD_DB_PORT=5432
PROD_DB_NAME=greencode_prod
PROD_DB_USERNAME=postgres
PROD_DB_PASSWORD=password
PROD_DB_URL=jdbc:postgresql://${PROD_DB_HOST}:${PROD_DB_PORT}/${PROD_DB_NAME}
# Docker Database (PostgreSQL)
DOCKER_DB_HOST=postgres
DOCKER_DB_PORT=5432
DOCKER_DB_NAME=greencode
DOCKER_DB_USERNAME=postgres
DOCKER_DB_PASSWORD=password
DOCKER_DB_URL=jdbc:postgresql://${DOCKER_DB_HOST}:${DOCKER_DB_PORT}/${DOCKER_DB_NAME}
# =============================================================================
# JWT CONFIGURATION
# =============================================================================
JWT_SECRET=your-secret-key-here-make-it-long-and-secure-in-production
JWT_EXPIRATION=86400000
JWT_REFRESH_EXPIRATION=604800000
# =============================================================================
# REDIS CONFIGURATION
# =============================================================================
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DATABASE=0
# Docker Redis
DOCKER_REDIS_HOST=redis
DOCKER_REDIS_PORT=6379
# =============================================================================
# LOGGING CONFIGURATION
# =============================================================================
LOG_LEVEL_ROOT=INFO
LOG_LEVEL_COM_GREENCODE=DEBUG
LOG_LEVEL_ORG_SPRINGFRAMEWORK_SECURITY=DEBUG
LOG_LEVEL_ORG_HIBERNATE_SQL=DEBUG
# =============================================================================
# MONITORING CONFIGURATION
# =============================================================================
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE=health,info,metrics,prometheus
MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS=always
# =============================================================================
# CORS CONFIGURATION
# =============================================================================
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8080
CORS_ALLOWED_METHODS=GET,POST,PUT,DELETE,OPTIONS
CORS_ALLOWED_HEADERS=*
CORS_ALLOW_CREDENTIALS=true
# =============================================================================
# FILE UPLOAD CONFIGURATION
# =============================================================================
FILE_UPLOAD_MAX_SIZE=10MB
FILE_UPLOAD_TEMP_DIR=./temp
FILE_STORAGE_PATH=./uploads
# =============================================================================
# EMAIL CONFIGURATION (for future use)
# =============================================================================
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=your-email@gmail.com
SMTP_PASSWORD=your-app-password
SMTP_ENABLE_TLS=true
# =============================================================================
# EXTERNAL API KEYS (for future use)
# =============================================================================
WEATHER_API_KEY=your-weather-api-key
MAPS_API_KEY=your-maps-api-key
SMS_API_KEY=your-sms-api-key
# =============================================================================
# SECURITY CONFIGURATION
# =============================================================================
BCRYPT_STRENGTH=12
RATE_LIMIT_REQUESTS_PER_MINUTE=100
SESSION_TIMEOUT=1800
# =============================================================================
# DEVELOPMENT TOOLS
# =============================================================================
H2_CONSOLE_ENABLED=true
H2_CONSOLE_PATH=/h2-console
SWAGGER_ENABLED=true
ACTUATOR_ENABLED=true
# =============================================================================
# PERFORMANCE CONFIGURATION
# =============================================================================
JPA_HIBERNATE_DDL_AUTO=update
JPA_SHOW_SQL=true
JPA_PROPERTIES_HIBERNATE_FORMAT_SQL=true
JPA_PROPERTIES_HIBERNATE_DIALECT=org.hibernate.dialect.H2Dialect
# Connection Pool Settings
SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE=10
SPRING_DATASOURCE_HIKARI_MINIMUM_IDLE=5
SPRING_DATASOURCE_HIKARI_IDLE_TIMEOUT=300000
SPRING_DATASOURCE_HIKARI_CONNECTION_TIMEOUT=20000
# =============================================================================
# BACKUP CONFIGURATION
# =============================================================================
BACKUP_ENABLED=true
BACKUP_RETENTION_DAYS=30
BACKUP_COMPRESSION=true
BACKUP_PATH=./backups