-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
85 lines (70 loc) · 2.98 KB
/
.env.example
File metadata and controls
85 lines (70 loc) · 2.98 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
# EV Monitor Production Configuration
# Copy this to .env and fill in your actual values!
# Domain Configuration
DOMAIN=ev-monitor.net
APP_BASE_URL=https://ev-monitor.netq097865e0
# Database Configuration
POSTGRES_USER=evmonitor
POSTGRES_PASSWORD=CHANGE_ME_TO_STRONG_PASSWORD_MIN_32_CHARS
POSTGRES_DB=ev_monitor
# JWT Configuration
# Generate strong secret: openssl rand -base64 64
JWT_SECRET=CHANGE_ME_TO_RANDOM_64_CHAR_STRING_USE_OPENSSL_RAND
JWT_EXPIRATION_MS=604800000
# CORS Configuration
# Comma-separated list of allowed origins (no spaces!)
ALLOWED_ORIGINS=https://ev-monitor.net,https://www.ev-monitor.net
# Mail Configuration (SMTP)
# For production use your email provider (e.g. Mailgun, Brevo, AWS SES)
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=your-smtp-username
MAIL_PASSWORD=your-smtp-password
MAIL_SMTP_AUTH=true
MAIL_SMTP_STARTTLS=true
APP_MAIL_FROM=noreply@ev-monitor.net
# Spring Profile (use 'prod' for production)
SPRING_PROFILES_ACTIVE=prod
# Wallbox Service Configuration
# Database user/password for the wallbox service's separate DB
WALLBOX_DB_USER=wallbox_user
WALLBOX_DB_PASSWORD=CHANGE_ME_TO_STRONG_PASSWORD
# Internal service token — shared between Core and Wallbox Service
# Generate with: openssl rand -base64 32
INTERNAL_SERVICE_TOKEN=CHANGE_ME_TO_RANDOM_SECRET
# Tesla API Integration
# Generate with: openssl rand -base64 24
TESLA_ENCRYPTION_KEY=CHANGE_ME_TO_RANDOM_32_CHAR_STRING
# Error Alert Email
# Where to send production error alerts (your own email)
ALERT_EMAIL=deine-email@example.com
# Stripe Payment Integration
# Get these from https://dashboard.stripe.com/apikeys (use LIVE keys on prod!)
STRIPE_SECRET_KEY=sk_live_CHANGE_ME
# Get from https://dashboard.stripe.com/webhooks after registering the endpoint
STRIPE_WEBHOOK_SECRET=whsec_CHANGE_ME
# Get Price IDs from https://dashboard.stripe.com/products after creating the product
STRIPE_PRICE_ID_MONTHLY=price_CHANGE_ME_MONTHLY
STRIPE_PRICE_ID_YEARLY=price_CHANGE_ME_YEARLY
# AutoSync Live (Tier 2) - Trip-Push + Phantom-Drain
STRIPE_PRICE_ID_LIVE_MONTHLY=price_CHANGE_ME_LIVE_MONTHLY
STRIPE_PRICE_ID_LIVE_YEARLY=price_CHANGE_ME_LIVE_YEARLY
# Set to true to activate the paywall. false = Beta-Mode (Wallbox für alle gratis)
PREMIUM_ENABLED=false
# XPeng AutoSync - IMAP-Empfang (Optional)
# Ohne XPENG_IMAP_HOST bleibt der Poller deaktiviert (outgoing requests laufen trotzdem).
# Hetzner IMAP: imap.your-domain.de, Port 993 (SSL)
XPENG_IMAP_HOST=imap.your-hetzner-domain.de
XPENG_IMAP_PORT=993
XPENG_IMAP_USER=xpeng-inbox@ev-monitor.net
XPENG_IMAP_PASSWORD=CHANGE_ME
XPENG_REPLY_TO_INBOX=xpeng-inbox@ev-monitor.net
# OAuth2 Configuration (Optional - DISABLED by default)
# To enable: Set SPRING_PROFILES_ACTIVE=prod,oauth
# Then fill in these values:
# GOOGLE_CLIENT_ID=your-google-client-id
# GOOGLE_CLIENT_SECRET=your-google-client-secret
# FACEBOOK_CLIENT_ID=your-facebook-client-id
# FACEBOOK_CLIENT_SECRET=your-facebook-client-secret
# APPLE_CLIENT_ID=your-apple-client-id
# APPLE_CLIENT_SECRET=your-apple-client-secret