-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
137 lines (111 loc) · 4.15 KB
/
.env.example
File metadata and controls
137 lines (111 loc) · 4.15 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
# Broadcasting Configuration
# ========================================
BROADCAST_DRIVER=reverb
QUEUE_CONNECTION=sync
# Laravel Reverb Configuration (Local WebSocket Server)
REVERB_APP_ID=
REVERB_APP_KEY=
REVERB_APP_SECRET=
REVERB_HOST="localhost"
REVERB_PORT=8080
REVERB_SCHEME=http
# Vite Reverb Configuration (for Laravel Echo)
# NOTE: Laravel Cloud will auto-inject these when WebSocket cluster is attached
# These values must be literal, not variable references like "${REVERB_APP_KEY}"
VITE_REVERB_APP_KEY=
VITE_REVERB_HOST=
VITE_REVERB_PORT=443
VITE_REVERB_SCHEME=https
# Optional: Pusher Configuration (Alternative to Reverb)
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
# Physical Mail (PostGrid) Configuration
# ========================================
# PostGrid API keys for sending physical mail
# Test mode is automatically determined by APP_ENV:
# - production: Uses LIVE key (if available), otherwise TEST key
# - all other environments: Always uses TEST key
# Override with POSTGRID_TEST_MODE=true to force test mode in production
POSTGRID_TEST_KEY=test_sk_your_test_key_here
POSTGRID_LIVE_KEY=live_sk_your_live_key_here
# POSTGRID_TEST_MODE=false # Uncomment to force live mode in production
POSTGRID_WEBHOOK_SECRET=your_webhook_secret_here
# Optional: Company address for return mail
# COMPANY_NAME="Your Company Name"
# COMPANY_ADDRESS_LINE1="123 Main St"
# COMPANY_ADDRESS_LINE2="Suite 100"
# COMPANY_CITY="New York"
# COMPANY_STATE="NY"
# COMPANY_ZIP="10001"
# COMPANY_COUNTRY="US"
# SMTP2GO Configuration (Alternative to SMTP)
SMTP2GO_API_KEY=
# Ticket Billing Configuration
# ========================================
# Automatic billing for support tickets based on contracts
# Master switch for ticket billing functionality
TICKET_BILLING_ENABLED=true
# Automatically bill when tickets are closed (start with false for safety)
AUTO_BILL_ON_CLOSE=false
# Automatically bill when tickets are resolved (earlier than close)
AUTO_BILL_ON_RESOLVE=false
# Default billing strategy: time_based, per_ticket, or mixed
BILLING_STRATEGY_DEFAULT=time_based
# Minimum billable hours (0.25 = 15 minutes)
BILLING_MIN_HOURS=0.25
# Round hours to nearest increment (0.25 = 15 min, 0.5 = 30 min, 1.0 = 1 hour)
BILLING_ROUND_HOURS_TO=0.25
# Invoice due days
BILLING_INVOICE_DUE_DAYS=30
# Queue name for billing jobs
BILLING_QUEUE=billing
# Job configuration
BILLING_JOB_RETRIES=3
BILLING_JOB_TIMEOUT=120
# Require manual approval for generated invoices
BILLING_REQUIRE_APPROVAL=true
# Skip creating invoices with $0 amount
BILLING_SKIP_ZERO_INVOICES=true
# Auto-send invoices to clients (only if BILLING_REQUIRE_APPROVAL=false)
BILLING_AUTO_SEND=false
# Batch size for scheduled billing tasks
BILLING_BATCH_SIZE=100
# Enable per-client billing configuration overrides
BILLING_CLIENT_OVERRIDES_ENABLED=false
# Abuse detection for unlimited contracts
BILLING_ABUSE_SOFT_TICKETS=100
BILLING_ABUSE_SOFT_HOURS=200
BILLING_ABUSE_HARD_TICKETS=500
BILLING_ABUSE_HARD_HOURS=500
BILLING_ABUSE_SPIKE_THRESHOLD=2.0
BILLING_ABUSE_NOTIFY_SOFT=true
BILLING_ABUSE_NOTIFY_HARD=true
BILLING_ABUSE_NOTIFY_ANOMALY=true
BILLING_ABUSE_NOTIFY_EMAILS=admin@example.com
# Logging configuration
BILLING_LOGGING_ENABLED=true
BILLING_LOG_CHANNEL=stack
BILLING_LOG_LEVEL=info
# Plaid Bank Integration Configuration
# ========================================
# Plaid API for bank account syncing and reconciliation
# Get your credentials from https://dashboard.plaid.com
PLAID_ENABLED=false
PLAID_CLIENT_ID=your_plaid_client_id
PLAID_SECRET=your_plaid_secret
PLAID_ENVIRONMENT=sandbox # Options: sandbox, development, production
PLAID_PRODUCTS=transactions,auth,balance
PLAID_COUNTRY_CODES=US
PLAID_WEBHOOK_URL=https://yourdomain.com/api/webhooks/plaid
PLAID_CLIENT_NAME="Nestogy ERP"
PLAID_LANGUAGE=en
PLAID_REDIRECT_URI=https://yourdomain.com/financial/bank-connections
# OpenRouter AI Configuration (Server-Level)
# ========================================
# NOTE: API keys and model settings are configured per-company in Settings > AI Integration
# Only server-level timeout setting is configured here
OPENROUTER_TIMEOUT=60