Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
242 lines (200 loc) · 10 KB
/
Copy path.env.example
File metadata and controls
242 lines (200 loc) · 10 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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
# This file is a "template" of which env vars need to be defined for your application.
# Copy this file as .env in the project root folder, and replace the values with your own settings.
# This version contains all possible variables required to run your own YAFFA instance.
# These are grouped into sections, especially highlighting the most important, fundamental ones.
###############################
### Basic app configuration ###
###############################
# Encryption key used to encrypt session and other data
# You can use the "php artisan key:generate" command to generate a random key, which will overwrite this value.
# If you use the official Docker image (docker/docker-compose.yml), leave this empty: the container
# generates a key on first boot and persists it in the storage volume, so no manual step is needed.
# Make sure to keep this key secret, and don't share it with anyone.
# Also, don't change it after you have started using the application.
APP_KEY=
### Database configuration ###
DB_CONNECTION=mysql
# Use localhost or 127.0.0.1 for the host, if the database is running on the same server as the application
DB_HOST=127.0.0.1
# Use the name of the database service, if the database is running in a Docker container. This is 'db' in the default Docker setup of YAFFA.
# DB_HOST=db
DB_PORT=3306
DB_DATABASE=yaffa_db
DB_USERNAME=yaffa_user
DB_PASSWORD=yaffa_password
DB_SOCKET=
### Application behavior and settings ###
# The maximum number of users that can be registered in the system.
# For a personal instance, you can set this to 1 to prevent other people from registering.
# Increase this value if you want to allow other users to register, or set it to empty to allow unlimited registrations.
REGISTERED_USER_LIMIT=1
# Do new users have to verify their email address before they can log in?
# For a local, personal instance, without access to outgoing emails, this should be set to false.
# For a public instance, this should probably be set to true, but you need to configure the email settings below according to your server setup.
EMAIL_VERIFICATION_REQUIRED=FALSE
# The email address of the administrator of the system, who will receive notifications about new users, logins, etc.
# Leave this empty if you don't want to receive any notifications
ADMIN_EMAIL=
### Define the configuration for sending emails ###
# This is needed if you want your users to verify their email addresses,
# or if you want to receive notifications about new users, etc.
MAIL_MAILER=log
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_SCHEME=null
MAIL_FROM_ADDRESS=info@yaffa.test
MAIL_FROM_NAME=YAFFA
# The URL of the application, used for generating links in emails and to set the base URL for the application
APP_URL=http://localhost
# System-wide defaults. The UI language is chosen per-user (See app/Http/Middleware/SetLocale.php).
# These are fallback defaults only — users can override them in their profile or session.
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
# Used during generation of fake data, mostly for testing and development
APP_FAKER_LOCALE=en_US
# The timezone used by the server-side application logic (Carbon::today(), scheduled commands, etc.).
# YAFFA stores only calendar dates, so this mainly controls which calendar day "today" resolves to
# when the automatic transaction recording command runs.
# Set this to the timezone where the server (or the primary user) is located.
# A full list of supported values: https://www.php.net/manual/en/timezones.php
# Leave as UTC unless you have a specific reason to change it.
APP_TIMEZONE=UTC
# Maintenance mode driver and storage (Laravel-related) — adjust if you run a clustered setup.
# file = single-server maintenance mode file
# database = store maintenance mode data in database (useful for multi-server setups)
APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database
# Number of rounds used by bcrypt (higher = slower but stronger). Adjust to balance security vs CPU.
# Default 12 is reasonable for most modern servers. Lower it in low-resource environments (not recommended).
BCRYPT_ROUNDS=12
# Domain settings for cookies and sessions
# These settings are required if you are running the application on a different port or subdomain
# SANCTUM_STATEFUL_DOMAINS=yoursubdomain.yourdomain.com:yourport
# SESSION_DOMAIN=.yourdomain.com
# The list of trusted proxies, which are used to determine the client's IP address
# Uncomment and adjust this if your server is behind a proxy, like the optional Caddy server in the Docker setup
# You can enable all sources with the below setting, or you can provide a list of IP addresses or ranges for more specific and secure configuration
# TRUSTED_PROXIES=*
#############################
### Advanced app features ###
#############################
# Your configuration for the Mailbox service, which is used to receive emails
MAILBOX_DRIVER=sendgrid
MAILBOX_HTTP_PASSWORD=
# The email address where incoming receipts are sent, and which is monitored by the Mailbox service
INCOMING_RECEIPTS_EMAIL=
### AI Document Processing Configuration ###
# File upload limits
AI_DOCUMENT_MAX_FILES_PER_SUBMISSION=3
AI_DOCUMENT_MAX_FILE_SIZE_MB=20
AI_DOCUMENT_ALLOWED_TYPES=pdf,jpg,jpeg,png,txt
# OCR configuration (optional)
TESSERACT_ENABLED=TRUE
TESSERACT_MODE=binary # 'binary' (local) or 'http' (Docker sidecar)
TESSERACT_PATH=/usr/bin/tesseract
TESSERACT_HTTP_HOST=localhost # Tesseract container hostname
TESSERACT_HTTP_PORT=8888 # Tesseract HTTP API port
TESSERACT_HTTP_TIMEOUT=30 # Timeout in seconds for HTTP requests
# AI import profile suggestion timeout (seconds)
PRISM_REQUEST_TIMEOUT=20
### API Access & Documentation ###
# Maximum lifetime (in days) a user can set when creating a personal access token via /user/settings
API_TOKEN_MAX_LIFETIME_DAYS=365
# Controls who can view the auto-generated API docs (/docs/api) outside the local environment.
# Ignored in the local environment, where docs are always open.
# none - always denied (default)
# user - allowed for authenticated, email-verified users only
# guest - allowed for anyone
# SCRAMBLE_PROD_AUTH=none
############################################################################################
### The values below should be left as is, unless you really need to use custom settings ###
############################################################################################
# The name of the application, used in the UI
APP_NAME=YAFFA
# The environment in which the application is running
# Set to "production" for general use, or "local" for development
APP_ENV=production
### Logging and debugging configuration ###
# This is relevant, if you encounter any issues with the application, and you would like to see detailed error messages
# Set this to true if you need to see detailed error messages
APP_DEBUG=false
# Laravel Telescope for debugging and monitoring - disable in production unless you really need it
TELESCOPE_ENABLED=FALSE
# You can specify the log channel to be used for logging
LOG_CHANNEL=stack
LOG_STACK=single
# When running in a container runtime, you can route Laravel logs to the
# container's stderr stream so they show up in `docker logs`:
# LOG_STACK=stderr # stream-only, recommended for prod containers
# LOG_STACK=single,stderr # also keep the file in storage/logs/laravel.log
# Note: the bundled docker-compose.yml already sets LOG_STACK=stderr on the
# `app` and `scheduler` services, which overrides this value inside containers.
# The minimum log level to be written to the log files
LOG_LEVEL=error
### Internal tools and services ###
BROADCAST_CONNECTION=log
CACHE_STORE=redis
CACHE_PREFIX=yaffa_cache_
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_COOKIE=yaffa_session
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
REDIS_PREFIX=yaffa_database_
RUNS_SCHEDULER=TRUE
#####################################################################################
### The settings below are used by the special, public-facing Sandbox environment ###
#####################################################################################
# You probably won't need them, and can leave them as is
# Feel free to provide your own values, if you need any of these features
# General flag to enable/disable some custom behavior or the Sandbox environment
SANDBOX_MODE=FALSE
# Google Tag Manager - used for tracking and analytics
GTM_CONTAINER_ID=
# AI provider and Google Drive integration settings
DEMO_AI_PROVIDER=
DEMO_AI_MODEL=
DEMO_AI_API_KEY=
# Optional demo investment provider config for app:sandbox:reset-database.
# Supported providers currently include: alpha_vantage, web_scraping
#
# Two supported credential formats:
# 1) Simple API key shortcut (mapped to credentials.api_key)
# DEMO_INVESTMENT_PROVIDER_KEY=alpha_vantage
# DEMO_INVESTMENT_PROVIDER_API_KEY=your-alpha-vantage-api-key
#
# 2) Full JSON credentials object (takes precedence over API key shortcut)
# DEMO_INVESTMENT_PROVIDER_KEY=alpha_vantage
# DEMO_INVESTMENT_PROVIDER_CREDENTIALS={"api_key":"your-alpha-vantage-api-key"}
#
# Optional: disable provider config while keeping credentials configured
# DEMO_INVESTMENT_PROVIDER_ENABLED=FALSE
DEMO_INVESTMENT_PROVIDER_KEY=
DEMO_INVESTMENT_PROVIDER_API_KEY=
DEMO_INVESTMENT_PROVIDER_CREDENTIALS=
DEMO_INVESTMENT_PROVIDER_ENABLED=TRUE
DEMO_GOOGLE_DRIVE_FOLDER_ID=
DEMO_GOOGLE_DRIVE_JSON_KEY_FILE=
#######################################################################################################
### The settings below are related to development and testing, and should not be used in production ###
#######################################################################################################
# Laravel Sail settings
WWWGROUP=1000
WWWUSER=1000
APP_SERVICE=yaffa.test
SAIL_XDEBUG_ENABLED=false
SAIL_XDEBUG_PORT=9003
SAIL_XDEBUG_MODE=develop,debug
SAIL_XDEBUG_CONFIG="client_host=host.docker.internal"
# SSL settings for Sail
SERVER_NAME=yaffa.test
SSL_DOMAIN=yaffa.test
# Debugbar should not be enabled, unless Composer dev dependencies are installed
DEBUGBAR_ENABLED=FALSE
DEBUGBAR_OPEN_STORAGE=