]> BookStack Code Mirror - bookstack/blob - .env.example.complete
Updated CSP with frame-src rules
[bookstack] / .env.example.complete
1 # Full list of environment variables that can be used with BookStack.
2 # Selectively copy these to your '.env' file as required.
3 # Each option is shown with it's default value.
4 # Do not copy this whole file to use as your '.env' file.
5
6 # Application environment
7 # Can be 'production', 'development', 'testing' or 'demo'
8 APP_ENV=production
9
10 # Enable debug mode
11 # Shows advanced debug information and errors.
12 # CAN EXPOSE OTHER VARIABLES, LEAVE DISABLED
13 APP_DEBUG=false
14
15 # Application key
16 # Used for encryption where needed.
17 # Run `php artisan key:generate` to generate a valid key.
18 APP_KEY=SomeRandomString
19
20 # Application URL
21 # This must be the root URL that you want to host BookStack on.
22 # All URL's in BookStack will be generated using this value.
23 APP_URL=https://example.com
24
25 # Application default language
26 # The default language choice to show.
27 # May be overridden by user-preference or visitor browser settings.
28 APP_LANG=en
29
30 # Auto-detect language for public visitors.
31 # Uses browser-sent headers to infer a language.
32 # APP_LANG will be used if such a header is not provided.
33 APP_AUTO_LANG_PUBLIC=true
34
35 # Application timezone
36 # Used where dates are displayed such as on exported content.
37 # Valid timezone values can be found here: https://www.php.net/manual/en/timezones.php
38 APP_TIMEZONE=UTC
39
40 # Application theme
41 # Used to specific a themes/<APP_THEME> folder where BookStack UI
42 # overrides can be made. Defaults to disabled.
43 APP_THEME=false
44
45 # Trusted proxies
46 # Used to indicate trust of systems that proxy to the application so
47 # certain header values (Such as "X-Forwarded-For") can be used from the
48 # incoming proxy request to provide origin detail.
49 # Set to an IP address, or multiple comma seperated IP addresses.
50 # Can alternatively be set to "*" to trust all proxy addresses.
51 APP_PROXIES=null
52
53 # Database details
54 # Host can contain a port (localhost:3306) or a separate DB_PORT option can be used.
55 DB_HOST=localhost
56 DB_PORT=3306
57 DB_DATABASE=database_database
58 DB_USERNAME=database_username
59 DB_PASSWORD=database_user_password
60
61 # MySQL specific connection options
62 # Path to Certificate Authority (CA) certificate file for your MySQL instance.
63 # When this option is used host name identity verification will be performed
64 # which checks the hostname, used by the client, against names within the
65 # certificate itself (Common Name or Subject Alternative Name).
66 MYSQL_ATTR_SSL_CA="/path/to/ca.pem"
67
68 # Mail system to use
69 # Can be 'smtp' or 'sendmail'
70 MAIL_DRIVER=smtp
71
72 # Mail sending options
73 [email protected]
74 MAIL_FROM_NAME=BookStack
75
76 # SMTP mail options
77 MAIL_HOST=localhost
78 MAIL_PORT=1025
79 MAIL_USERNAME=null
80 MAIL_PASSWORD=null
81 MAIL_ENCRYPTION=null
82
83 # Cache & Session driver to use
84 # Can be 'file', 'database', 'memcached' or 'redis'
85 CACHE_DRIVER=file
86 SESSION_DRIVER=file
87
88 # Session configuration
89 SESSION_LIFETIME=120
90 SESSION_COOKIE_NAME=bookstack_session
91 SESSION_SECURE_COOKIE=false
92
93 # Cache key prefix
94 # Can be used to prevent conflicts multiple BookStack instances use the same store.
95 CACHE_PREFIX=bookstack
96
97 # Memcached server configuration
98 # If using a UNIX socket path for the host, set the port to 0
99 # This follows the following format: HOST:PORT:WEIGHT
100 # For multiple servers separate with a comma
101 MEMCACHED_SERVERS=127.0.0.1:11211:100
102
103 # Redis server configuration
104 # This follows the following format: HOST:PORT:DATABASE
105 # or, if using a password: HOST:PORT:DATABASE:PASSWORD
106 # For multiple servers separate with a comma. These will be clustered.
107 REDIS_SERVERS=127.0.0.1:6379:0
108
109 # Queue driver to use
110 # Can be 'sync', 'database' or 'redis'
111 QUEUE_CONNECTION=sync
112
113 # Storage system to use
114 # Can be 'local', 'local_secure' or 's3'
115 STORAGE_TYPE=local
116
117 # Image storage system to use
118 # Defaults to the value of STORAGE_TYPE if unset.
119 # Accepts the same values as STORAGE_TYPE.
120 STORAGE_IMAGE_TYPE=local
121
122 # Attachment storage system to use
123 # Defaults to the value of STORAGE_TYPE if unset.
124 # Accepts the same values as STORAGE_TYPE although 'local' will be forced to 'local_secure'.
125 STORAGE_ATTACHMENT_TYPE=local_secure
126
127 # Amazon S3 storage configuration
128 STORAGE_S3_KEY=your-s3-key
129 STORAGE_S3_SECRET=your-s3-secret
130 STORAGE_S3_BUCKET=s3-bucket-name
131 STORAGE_S3_REGION=s3-bucket-region
132
133 # S3 endpoint to use for storage calls
134 # Only set this if using a non-Amazon s3-compatible service such as Minio
135 STORAGE_S3_ENDPOINT=https://my-custom-s3-compatible.service.com:8001
136
137 # Storage URL prefix
138 # Used as a base for any generated image urls.
139 # An s3-format URL will be generated if not set.
140 STORAGE_URL=false
141
142 # Authentication method to use
143 # Can be 'standard', 'ldap', 'saml2' or 'oidc'
144 AUTH_METHOD=standard
145
146 # Social authentication configuration
147 # All disabled by default.
148 # Refer to https://www.bookstackapp.com/docs/admin/third-party-auth/
149
150 AZURE_APP_ID=false
151 AZURE_APP_SECRET=false
152 AZURE_TENANT=false
153 AZURE_AUTO_REGISTER=false
154 AZURE_AUTO_CONFIRM_EMAIL=false
155
156 DISCORD_APP_ID=false
157 DISCORD_APP_SECRET=false
158 DISCORD_AUTO_REGISTER=false
159 DISCORD_AUTO_CONFIRM_EMAIL=false
160
161 FACEBOOK_APP_ID=false
162 FACEBOOK_APP_SECRET=false
163 FACEBOOK_AUTO_REGISTER=false
164 FACEBOOK_AUTO_CONFIRM_EMAIL=false
165
166 GITHUB_APP_ID=false
167 GITHUB_APP_SECRET=false
168 GITHUB_AUTO_REGISTER=false
169 GITHUB_AUTO_CONFIRM_EMAIL=false
170
171 GITLAB_APP_ID=false
172 GITLAB_APP_SECRET=false
173 GITLAB_BASE_URI=false
174 GITLAB_AUTO_REGISTER=false
175 GITLAB_AUTO_CONFIRM_EMAIL=false
176
177 GOOGLE_APP_ID=false
178 GOOGLE_APP_SECRET=false
179 GOOGLE_SELECT_ACCOUNT=false
180 GOOGLE_AUTO_REGISTER=false
181 GOOGLE_AUTO_CONFIRM_EMAIL=false
182
183 OKTA_BASE_URL=false
184 OKTA_APP_ID=false
185 OKTA_APP_SECRET=false
186 OKTA_AUTO_REGISTER=false
187 OKTA_AUTO_CONFIRM_EMAIL=false
188
189 SLACK_APP_ID=false
190 SLACK_APP_SECRET=false
191 SLACK_AUTO_REGISTER=false
192 SLACK_AUTO_CONFIRM_EMAIL=false
193
194 TWITCH_APP_ID=false
195 TWITCH_APP_SECRET=false
196 TWITCH_AUTO_REGISTER=false
197 TWITCH_AUTO_CONFIRM_EMAIL=false
198
199 TWITTER_APP_ID=false
200 TWITTER_APP_SECRET=false
201 TWITTER_AUTO_REGISTER=false
202 TWITTER_AUTO_CONFIRM_EMAIL=false
203
204 # LDAP authentication configuration
205 # Refer to https://www.bookstackapp.com/docs/admin/ldap-auth/
206 LDAP_SERVER=false
207 LDAP_BASE_DN=false
208 LDAP_DN=false
209 LDAP_PASS=false
210 LDAP_USER_FILTER=false
211 LDAP_VERSION=false
212 LDAP_START_TLS=false
213 LDAP_TLS_INSECURE=false
214 LDAP_ID_ATTRIBUTE=uid
215 LDAP_EMAIL_ATTRIBUTE=mail
216 LDAP_DISPLAY_NAME_ATTRIBUTE=cn
217 LDAP_THUMBNAIL_ATTRIBUTE=null
218 LDAP_FOLLOW_REFERRALS=true
219 LDAP_DUMP_USER_DETAILS=false
220
221 # LDAP group sync configuration
222 # Refer to https://www.bookstackapp.com/docs/admin/ldap-auth/
223 LDAP_USER_TO_GROUPS=false
224 LDAP_GROUP_ATTRIBUTE="memberOf"
225 LDAP_REMOVE_FROM_GROUPS=false
226
227 # SAML authentication configuration
228 # Refer to https://www.bookstackapp.com/docs/admin/saml2-auth/
229 SAML2_NAME=SSO
230 SAML2_EMAIL_ATTRIBUTE=email
231 SAML2_DISPLAY_NAME_ATTRIBUTES=username
232 SAML2_EXTERNAL_ID_ATTRIBUTE=null
233 SAML2_IDP_ENTITYID=null
234 SAML2_IDP_SSO=null
235 SAML2_IDP_SLO=null
236 SAML2_IDP_x509=null
237 SAML2_ONELOGIN_OVERRIDES=null
238 SAML2_DUMP_USER_DETAILS=false
239 SAML2_AUTOLOAD_METADATA=false
240 SAML2_IDP_AUTHNCONTEXT=true
241 SAML2_SP_x509=null
242 SAML2_SP_x509_KEY=null
243
244 # SAML group sync configuration
245 # Refer to https://www.bookstackapp.com/docs/admin/saml2-auth/
246 SAML2_USER_TO_GROUPS=false
247 SAML2_GROUP_ATTRIBUTE=group
248 SAML2_REMOVE_FROM_GROUPS=false
249
250 # OpenID Connect authentication configuration
251 # Refer to https://www.bookstackapp.com/docs/admin/oidc-auth/
252 OIDC_NAME=SSO
253 OIDC_DISPLAY_NAME_CLAIMS=name
254 OIDC_CLIENT_ID=null
255 OIDC_CLIENT_SECRET=null
256 OIDC_ISSUER=null
257 OIDC_ISSUER_DISCOVER=false
258 OIDC_PUBLIC_KEY=null
259 OIDC_AUTH_ENDPOINT=null
260 OIDC_TOKEN_ENDPOINT=null
261 OIDC_DUMP_USER_DETAILS=false
262
263 # Disable default third-party services such as Gravatar and Draw.IO
264 # Service-specific options will override this option
265 DISABLE_EXTERNAL_SERVICES=false
266
267 # Use custom avatar service, Sets fetch URL
268 # Possible placeholders: ${hash} ${size} ${email}
269 # If set, Avatars will be fetched regardless of DISABLE_EXTERNAL_SERVICES option.
270 # Example: AVATAR_URL=https://seccdn.libravatar.org/avatar/${hash}?s=${size}&d=identicon
271 AVATAR_URL=
272
273 # Enable diagrams.net integration
274 # Can simply be true/false to enable/disable the integration.
275 # Alternatively, It can be URL to the diagrams.net instance you want to use.
276 # For URLs, The following URL parameters should be included: embed=1&proto=json&spin=1
277 DRAWIO=true
278
279 # Default item listing view
280 # Used for public visitors and user's without a preference.
281 # Can be 'list' or 'grid'.
282 APP_VIEWS_BOOKS=list
283 APP_VIEWS_BOOKSHELVES=grid
284 APP_VIEWS_BOOKSHELF=grid
285
286 # Use dark mode by default
287 # Will be overriden by any user/session preference.
288 APP_DEFAULT_DARK_MODE=false
289
290 # Page revision limit
291 # Number of page revisions to keep in the system before deleting old revisions.
292 # If set to 'false' a limit will not be enforced.
293 REVISION_LIMIT=50
294
295 # Recycle Bin Lifetime
296 # The number of days that content will remain in the recycle bin before
297 # being considered for auto-removal. It is not a guarantee that content will
298 # be removed after this time.
299 # Set to 0 for no recycle bin functionality.
300 # Set to -1 for unlimited recycle bin lifetime.
301 RECYCLE_BIN_LIFETIME=30
302
303 # File Upload Limit
304 # Maximum file size, in megabytes, that can be uploaded to the system.
305 FILE_UPLOAD_SIZE_LIMIT=50
306
307 # Export Page Size
308 # Primarily used to determine page size of PDF exports.
309 # Can be 'a4' or 'letter'.
310 EXPORT_PAGE_SIZE=a4
311
312 # Allow <script> tags in page content
313 # Note, if set to 'true' the page editor may still escape scripts.
314 ALLOW_CONTENT_SCRIPTS=false
315
316 # Indicate if robots/crawlers should crawl your instance.
317 # Can be 'true', 'false' or 'null'.
318 # The behaviour of the default 'null' option will depend on the 'app-public' admin setting.
319 # Contents of the robots.txt file can be overridden, making this option obsolete.
320 ALLOW_ROBOTS=null
321
322 # Allow server-side fetches to be performed to potentially unknown
323 # and user-provided locations. Primarily used in exports when loading
324 # in externally referenced assets.
325 # Can be 'true' or 'false'.
326 ALLOW_UNTRUSTED_SERVER_FETCHING=false
327
328 # A list of hosts that BookStack can be iframed within.
329 # Space separated if multiple. BookStack host domain is auto-inferred.
330 # For Example: ALLOWED_IFRAME_HOSTS="https://example.com https://a.example.com"
331 # Setting this option will also auto-adjust cookies to be SameSite=None.
332 ALLOWED_IFRAME_HOSTS=null
333
334 # A list of sources/hostnames that can be loaded within iframes within BookStack.
335 # Space separated if multiple. BookStack host domain is auto-inferred.
336 # Can be set to a lone "*" to allow all sources for iframe content (Not advised).
337 # Defaults to a set of common services.
338 # Current host and source for the "DRAWIO" setting will be auto-appended to the sources configured.
339 ALLOWED_IFRAME_SOURCES="https://*.draw.io https://*.youtube.com https://*.youtube-nocookie.com https://*.vimeo.com"
340
341 # The default and maximum item-counts for listing API requests.
342 API_DEFAULT_ITEM_COUNT=100
343 API_MAX_ITEM_COUNT=500
344
345 # The number of API requests that can be made per minute by a single user.
346 API_REQUESTS_PER_MIN=180
347
348 # Enable the logging of failed email+password logins with the given message.
349 # The default log channel below uses the php 'error_log' function which commonly
350 # results in messages being output to the webserver error logs.
351 # The message can contain a %u parameter which will be replaced with the login
352 # user identifier (Username or email).
353 LOG_FAILED_LOGIN_MESSAGE=false
354 LOG_FAILED_LOGIN_CHANNEL=errorlog_plain_webserver