-
-
Notifications
You must be signed in to change notification settings - Fork 72
Expand file tree
/
Copy path.env.example
More file actions
executable file
·181 lines (152 loc) · 5.43 KB
/
Copy path.env.example
File metadata and controls
executable file
·181 lines (152 loc) · 5.43 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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
APP_NAME="Liberu Genealogy"
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=liberu_genealogy
DB_USERNAME=root
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
# config/session.php defaults 'secure' to true, so the session cookie is
# Secure-only. That is correct for production and invisible on http://localhost,
# because browsers treat localhost as a trustworthy context and send Secure
# cookies to it anyway.
#
# It is NOT invisible on any other plain-http host (e.g. a *.test domain behind
# a local proxy): the browser silently refuses to return the cookie, so there is
# no session and every POST — login, register, contact — fails with 419 Page
# Expired. If you serve this app over http on a non-localhost hostname,
# uncomment the line below. Leave it commented for https and for localhost.
# SESSION_SECURE_COOKIE=false
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
CONTACT_EMAIL="contact@example.com"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
# Stripe Configuration for Premium Subscriptions
STRIPE_KEY=pk_test_your_stripe_publishable_key_here
STRIPE_SECRET=sk_test_your_stripe_secret_key_here
STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret_here
# Premium Feature Configuration
PREMIUM_ENABLED=false
# Affiliate/referral program (issue #1621). Refer users who buy premium to earn
# free months. The program is DORMANT whenever PREMIUM_ENABLED=true — a free-month
# reward is meaningless when everyone is already premium.
AFFILIATE_ENABLED=true
# Qualified (paid) referrals required to earn one free month. Repeatable, no cap.
AFFILIATE_REFERRALS_PER_FREE_MONTH=5
# The paywall (issue #1638). On, the whole app panel requires an active
# subscription and every registration goes straight to checkout; off, the panel is
# open and only the per-resource premium gates apply. The code default is false so
# a fresh checkout isn't paywalled — this file ships it on because this deployment
# sells access. Turning it off does NOT refund or downgrade anyone.
SUBSCRIPTION_PAYWALL_ENABLED=true
# Require a card before granting premium access. When true (default), the no-card
# trial is disabled and premium is only reachable via a card checkout (issue #1614).
SUBSCRIPTION_REQUIRE_CARD=true
# Trial length in days. 0 = no trial: the subscriber is charged immediately.
SUBSCRIPTION_PREMIUM_TRIAL_DAYS=14
# The app creates and owns the Stripe Product/Price from these amounts — no Stripe
# Dashboard setup required. Amounts are in minor units (cents); the displayed price
# is derived from them so it can't drift from the charge. Currency = CASHIER_CURRENCY.
SUBSCRIPTION_PREMIUM_PRODUCT_NAME=Premium
SUBSCRIPTION_PREMIUM_MONTHLY_AMOUNT=299
SUBSCRIPTION_PREMIUM_YEARLY_AMOUNT=2999
# Currencies shown beside the price as a converted estimate (issue #1636). Display
# only — the charge is always CASHIER_CURRENCY. Rates come from the ECB's daily
# reference feed, which publishes for information purposes only; if the feed is
# unreachable the estimate is simply omitted. Empty disables it.
SUBSCRIPTION_DISPLAY_CURRENCIES=GBP,EUR
# Cashier Configuration
CASHIER_CURRENCY=usd
CASHIER_CURRENCY_LOCALE=en_US
# Social Media OAuth Configuration
# Facebook
FACEBOOK_CLIENT_ID=
FACEBOOK_CLIENT_SECRET=
FACEBOOK_REDIRECT_URI="${APP_URL}/oauth/facebook/callback"
# Google
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI="${APP_URL}/oauth/google/callback"
# Twitter
TWITTER_CLIENT_ID=
TWITTER_CLIENT_SECRET=
TWITTER_REDIRECT_URI="${APP_URL}/oauth/twitter/callback"
# Laravel Octane Configuration
OCTANE_SERVER=swoole
OCTANE_HOST=0.0.0.0
OCTANE_PORT=8000
OCTANE_WORKERS=auto
OCTANE_TASK_WORKERS=auto
OCTANE_MAX_EXECUTION_TIME=30
OCTANE_MAX_REQUEST_SIZE=10485760
OCTANE_AUTO_RELOAD=false
# Docker Configuration
CONTAINER_MODE=http
WITH_HORIZON=false
WITH_SCHEDULER=true
RUNNING_MIGRATIONS_AND_SEEDERS=false
# Google Cloud Vision API for Handwriting Recognition
# Get your API key from: https://console.cloud.google.com/apis/credentials
GOOGLE_VISION_API_KEY=
# Genealogy Service API Keys
# MyHeritage API Configuration
MYHERITAGE_API_KEY=
MYHERITAGE_BASE_URL=https://api.myheritage.com/v1
MYHERITAGE_TIMEOUT=30
# Ancestry API Configuration
ANCESTRY_API_KEY=
ANCESTRY_BASE_URL=https://api.ancestry.com/v1
ANCESTRY_TIMEOUT=30
# FamilySearch API Configuration
FAMILYSEARCH_API_KEY=
FAMILYSEARCH_BASE_URL=https://api.familysearch.org/platform
FAMILYSEARCH_TIMEOUT=30
# Laravel Reverb (WebSockets)
REVERB_APP_ID=your-app-id
REVERB_APP_KEY=your-app-key
REVERB_APP_SECRET=your-app-secret
REVERB_HOST=0.0.0.0
REVERB_PORT=8080
REVERB_SCHEME=http
VITE_REVERB_APP_KEY="${REVERB_APP_KEY}"
VITE_REVERB_HOST="${REVERB_HOST}"
VITE_REVERB_PORT="${REVERB_PORT}"
VITE_REVERB_SCHEME="${REVERB_SCHEME}"