]> BookStack Code Mirror - bookstack/blob - app/Config/app.php
Followed Laravel 9 update steps and file changes
[bookstack] / app / Config / app.php
1 <?php
2
3 /**
4  * Global app configuration options.
5  *
6  * Changes to these config files are not supported by BookStack and may break upon updates.
7  * Configuration should be altered via the `.env` file or environment variables.
8  * Do not edit this file unless you're happy to maintain any changes yourself.
9  */
10
11 use Illuminate\Support\Facades\Facade;
12
13 return [
14
15     // The environment to run BookStack in.
16     // Options: production, development, demo, testing
17     'env' => env('APP_ENV', 'production'),
18
19     // Enter the application in debug mode.
20     // Shows much more verbose error messages. Has potential to show
21     // private configuration variables so should remain disabled in public.
22     'debug' => env('APP_DEBUG', false),
23
24     // The number of revisions to keep in the database.
25     // Once this limit is reached older revisions will be deleted.
26     // If set to false then a limit will not be enforced.
27     'revision_limit' => env('REVISION_LIMIT', 100),
28
29     // The number of days that content will remain in the recycle bin before
30     // being considered for auto-removal. It is not a guarantee that content will
31     // be removed after this time.
32     // Set to 0 for no recycle bin functionality.
33     // Set to -1 for unlimited recycle bin lifetime.
34     'recycle_bin_lifetime' => env('RECYCLE_BIN_LIFETIME', 30),
35
36     // The limit for all uploaded files, including images and attachments in MB.
37     'upload_limit' => env('FILE_UPLOAD_SIZE_LIMIT', 50),
38
39     // Allow <script> tags to entered within page content.
40     // <script> tags are escaped by default.
41     // Even when overridden the WYSIWYG editor may still escape script content.
42     'allow_content_scripts' => env('ALLOW_CONTENT_SCRIPTS', false),
43
44     // Allow server-side fetches to be performed to potentially unknown
45     // and user-provided locations. Primarily used in exports when loading
46     // in externally referenced assets.
47     'allow_untrusted_server_fetching' => env('ALLOW_UNTRUSTED_SERVER_FETCHING', false),
48
49     // Override the default behaviour for allowing crawlers to crawl the instance.
50     // May be ignored if view has be overridden or modified.
51     // Defaults to null since, if not set, 'app-public' status used instead.
52     'allow_robots' => env('ALLOW_ROBOTS', null),
53
54     // Application Base URL, Used by laravel in development commands
55     // and used by BookStack in URL generation.
56     'url' => env('APP_URL', '') === 'http://bookstack.dev' ? '' : env('APP_URL', ''),
57
58     // A list of hosts that BookStack can be iframed within.
59     // Space separated if multiple. BookStack host domain is auto-inferred.
60     'iframe_hosts' => env('ALLOWED_IFRAME_HOSTS', null),
61
62     // A list of sources/hostnames that can be loaded within iframes within BookStack.
63     // Space separated if multiple. BookStack host domain is auto-inferred.
64     // Can be set to a lone "*" to allow all sources for iframe content (Not advised).
65     // Defaults to a set of common services.
66     // Current host and source for the "DRAWIO" setting will be auto-appended to the sources configured.
67     'iframe_sources' => env('ALLOWED_IFRAME_SOURCES', 'https://*.draw.io https://*.youtube.com https://*.youtube-nocookie.com https://*.vimeo.com'),
68
69     // Alter the precision of IP addresses stored by BookStack.
70     // Integer value between 0 (IP hidden) to 4 (Full IP usage)
71     'ip_address_precision' => env('IP_ADDRESS_PRECISION', 4),
72
73     // Application timezone for back-end date functions.
74     'timezone' => env('APP_TIMEZONE', 'UTC'),
75
76     // Default locale to use
77     'locale' => env('APP_LANG', 'en'),
78
79     // Locales available
80     'locales' => ['en', 'ar', 'bg', 'bs', 'ca', 'cs', 'cy', 'da', 'de', 'de_informal', 'el', 'es', 'es_AR', 'et', 'eu', 'fa', 'fr', 'he', 'hr', 'hu', 'id', 'it', 'ja', 'ka', 'ko', 'lt', 'lv', 'nl', 'nb', 'pt', 'pt_BR', 'sk', 'sl', 'sv', 'pl',  'ro', 'ru', 'tr', 'uk', 'uz', 'vi', 'zh_CN', 'zh_TW'],
81
82     //  Application Fallback Locale
83     'fallback_locale' => 'en',
84
85     // Faker Locale
86     'faker_locale' => 'en_GB',
87
88     // Enable right-to-left text control.
89     'rtl' => false,
90
91     // Auto-detect the locale for public users
92     // For public users their locale can be guessed by headers sent by their
93     // browser. This is usually set by users in their browser settings.
94     // If not found the default app locale will be used.
95     'auto_detect_locale' => env('APP_AUTO_LANG_PUBLIC', true),
96
97     // Encryption key
98     'key' => env('APP_KEY', 'AbAZchsay4uBTU33RubBzLKw203yqSqr'),
99
100     // Encryption cipher
101     'cipher' => 'AES-256-CBC',
102
103     // Maintenance Mode Driver
104     'maintenance' => [
105         'driver' => 'file',
106         // 'store'  => 'redis',
107     ],
108
109     // Application Service Providers
110     'providers' => [
111
112         // Laravel Framework Service Providers...
113         Illuminate\Auth\AuthServiceProvider::class,
114         Illuminate\Broadcasting\BroadcastServiceProvider::class,
115         Illuminate\Bus\BusServiceProvider::class,
116         Illuminate\Cache\CacheServiceProvider::class,
117         Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
118         Illuminate\Cookie\CookieServiceProvider::class,
119         Illuminate\Database\DatabaseServiceProvider::class,
120         Illuminate\Encryption\EncryptionServiceProvider::class,
121         Illuminate\Filesystem\FilesystemServiceProvider::class,
122         Illuminate\Foundation\Providers\FoundationServiceProvider::class,
123         Illuminate\Hashing\HashServiceProvider::class,
124         Illuminate\Mail\MailServiceProvider::class,
125         Illuminate\Notifications\NotificationServiceProvider::class,
126         Illuminate\Pagination\PaginationServiceProvider::class,
127         Illuminate\Pipeline\PipelineServiceProvider::class,
128         Illuminate\Queue\QueueServiceProvider::class,
129         Illuminate\Redis\RedisServiceProvider::class,
130         Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
131         Illuminate\Session\SessionServiceProvider::class,
132         Illuminate\Validation\ValidationServiceProvider::class,
133         Illuminate\View\ViewServiceProvider::class,
134
135         // Third party service providers
136         Barryvdh\DomPDF\ServiceProvider::class,
137         Barryvdh\Snappy\ServiceProvider::class,
138         Intervention\Image\ImageServiceProvider::class,
139         SocialiteProviders\Manager\ServiceProvider::class,
140
141         // BookStack custom service providers
142         BookStack\Providers\ThemeServiceProvider::class,
143         BookStack\Providers\AppServiceProvider::class,
144         BookStack\Providers\AuthServiceProvider::class,
145         BookStack\Providers\EventServiceProvider::class,
146         BookStack\Providers\RouteServiceProvider::class,
147         BookStack\Providers\TranslationServiceProvider::class,
148         BookStack\Providers\ValidationRuleServiceProvider::class,
149         BookStack\Providers\ViewTweaksServiceProvider::class,
150     ],
151
152     // Class Aliases
153     // This array of class aliases to be registered on application start.
154     'aliases' => Facade::defaultAliases()->merge([
155         // Laravel Packages
156         'Socialite'    => Laravel\Socialite\Facades\Socialite::class,
157
158         // Third Party
159         'ImageTool' => Intervention\Image\Facades\Image::class,
160
161         // Custom BookStack
162         'Activity'    => BookStack\Facades\Activity::class,
163         'Theme'       => BookStack\Facades\Theme::class,
164     ])->toArray(),
165
166     // Proxy configuration
167     'proxies' => env('APP_PROXIES', ''),
168
169 ];