-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
162 lines (130 loc) · 5.13 KB
/
Copy path.env.example
File metadata and controls
162 lines (130 loc) · 5.13 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
# Frontend Environment Configuration
# ====================
# REQUIRED VARIABLES
# ====================
# Admin Authentication (REQUIRED)
# JWT secret for admin session tokens - use a long random string
JWT_SECRET=your_jwt_secret_min_32_characters_long
# Auth.js secret - required for session encryption
AUTH_SECRET=your_auth_secret_min_32_characters_long
# Admin password configuration
# --------------------------
# DEVELOPMENT: Use plain text password (NOT secure, dev only!)
# ADMIN_PASSWORD=your_dev_password
#
# PRODUCTION: Use bcrypt hash (REQUIRED for NODE_ENV=production)
# Generate with: npx bcrypt-cli hash "your-password" 12
# Or: node -e "require('bcrypt').hash('your-password', 12).then(console.log)"
#
# Example bcrypt hash format: $2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/X4Bq4z.4AqGwq.2Ym
ADMIN_PASSWORD_HASH=
# ====================
# API CONFIGURATION
# ====================
# Content Management System API URL
NEXT_PUBLIC_REBOOT_CONTENT_URL=http://localhost:3001
# CMS API authentication token
REBOOT_CONTENT_TOKEN=your_cms_api_token
# Public site configuration
NEXT_PUBLIC_API_URL=http://localhost:3001
NEXT_PUBLIC_SITE_URL=http://localhost:3000
# ====================
# EMAIL CONFIGURATION (Required for Auth Emails)
# ====================
# IMPORTANT: Email is REQUIRED for user registration, password reset, and verification.
# Choose ONE of the two options below:
# Option 1: SMTP (Recommended for Production)
# -----------------------------------------
# Works with Gmail, SendGrid, AWS SES, Postmark, etc.
# For Gmail: Use App Password (https://support.google.com/accounts/answer/185833)
# For SendGrid: Use API key as password with username "apikey"
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_SECURE=false
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-app-password-or-api-key
EMAIL_FROM=noreply@revamp-it.ch
# Option 2: Listmonk (FOSS Alternative)
# -----------------------------------------
# Open-source newsletter + transactional email platform
# Install: https://listmonk.app/docs/installation/
# Uncomment below if using Listmonk instead of SMTP
# LISTMONK_ENABLED=true
# LISTMONK_URL=http://localhost:9090
# LISTMONK_USERNAME=admin
# LISTMONK_PASSWORD=your-listmonk-password
# LISTMONK_FROM_EMAIL=noreply@revamp-it.ch
# LISTMONK_FROM_NAME=RevampIT
# ====================
# DATABASE (Optional)
# ====================
# Database connection string (if needed by frontend)
# Local dev (Docker): postgresql://postgres:postgres@localhost:5433/revampit_cms
# DATABASE_URL=postgresql://postgres:your_password@localhost:5433/revampit_cms
# ====================
# TINACMS (Optional)
# ====================
# TinaCMS configuration - only needed if using TinaCMS
# NEXT_PUBLIC_TINA_CLIENT_ID=your_tina_client_id
# TINA_TOKEN=your_tina_token
# ====================
# ANALYTICS (Optional)
# ====================
# Google Analytics tracking ID
# NEXT_PUBLIC_GA_ID=your_google_analytics_id
# ====================
# SITE METADATA
# ====================
NEXT_PUBLIC_SITE_NAME=RevampIT
NEXT_PUBLIC_SITE_DESCRIPTION=Sustainable Technology for Everyone
# ====================
# AI SERVICES (Optional)
# ====================
# Groq API key (REQUIRED for Hirn AI and AI Produkterfassung)
# Get free key at: https://console.groq.com
GROQ_API_KEY=gsk_xxx
# Transcription service URL (local Whisper)
# Start with: npm run transcription:start
TRANSCRIPTION_URL=http://localhost:5111
# Ollama URL (local LLM - for local embeddings only)
OLLAMA_URL=http://localhost:11434
OLLAMA_MODEL=llama3.2
# ====================
# PAYMENT PROCESSING (Optional)
# ====================
# Payrexx payment gateway (Swiss payment provider)
# Required for marketplace orders and service bookings
# Get credentials at: https://www.payrexx.com
# PAYREXX_INSTANCE=your_instance_name
# PAYREXX_API_SECRET=your_api_secret
# PAYREXX_WEBHOOK_SECRET=your_webhook_secret
# ====================
# FILE STORAGE (Production)
# ====================
# S3-compatible object storage (Hetzner Object Storage) — REQUIRED for
# production image/document uploads. Falls back to local-fs when unset (dev).
# S3_ENDPOINT=https://fsn1.your-objectstorage.com
# S3_REGION=fsn1
# S3_BUCKET=revampit-media
# S3_ACCESS_KEY_ID=your_access_key
# S3_SECRET_ACCESS_KEY=your_secret_key
# S3_PUBLIC_URL=https://media.revampit.orangecat.ch
# S3_FORCE_PATH_STYLE=true
# ====================
# ENVIRONMENT
# ====================
# NODE_ENV is automatically set by Next.js (development, production, test)
# NODE_ENV=development
# ====================
# KIVVI ERP INTEGRATION
# ====================
# Connects RevampIT to Kivvi for inventory records, invoicing, and accounting.
# Without these vars the integration is silently skipped (safe for local dev).
# KIVVI_API_URL=https://kivvi.orangecat.ch
# KIVVI_API_TOKEN=kv_...
# KIVVI_DEFAULT_WAREHOUSE_ID=<warehouse-uuid-from-kivvi-settings>
# Shared secret for the REVERSE sync — Kivvi signs each inbound item-change
# webhook (POST /api/webhooks/kivvi) with a hex HMAC-SHA256 of the raw body in
# the X-Kivvi-Signature header. Must match the endpoint secret configured in
# Kivvi. Unset → the receiver fails closed (rejects all webhooks).
# KIVVI_WEBHOOK_SECRET=<shared-secret-from-kivvi-webhook-settings>