]>
Commit | Line | Data |
---|---|---|
91a21c27 | 1 | # Shaarli configuration |
992af0b9 | 2 | |
fdf88d19 | 3 | Once your Shaarli instance is installed, the file `data/config.json.php` is generated: |
fdf88d19 | 4 | |
91a21c27 | 5 | - it contains all settings in JSON format, and can be edited to customize values |
6 | - it defines which [plugins](Plugins.md) are enabled | |
7 | - its values override those defined in `index.php` | |
8 | - it is wrapped in a PHP comment so that its contents are never served by the web server, regardless of configuration | |
1a47014f | 9 | |
650a5f09 | 10 | **Do not edit configuration options in index.php! Your changes would be lost.** |
fdf88d19 | 11 | |
91a21c27 | 12 | ## Tools menu |
fdf88d19 | 13 | |
91a21c27 | 14 | Some settings can be configured directly from a web browser by accesing the `Tools` menu. Values are read/written to/from the configuration file. |
fdf88d19 | 15 | |
91a21c27 | 16 | ![](https://i.imgur.com/boaaibC.png) |
fdf88d19 | 17 | |
cc2ded54 SN |
18 | ### LDAP |
19 | ||
20 | - **host**: LDAP host used for user authentication | |
21 | - **dn**: user DN template (`sprintf` format, `%s` being replaced by user login) | |
22 | ||
fdf88d19 A |
23 | ## Configuration file example |
24 | ||
25 | ```json | |
26 | <?php /* | |
27 | { | |
28 | "credentials": { | |
29 | "login": "<login>", | |
30 | "hash": "<password hash>", | |
31 | "salt": "<password salt>" | |
32 | }, | |
33 | "security": { | |
34 | "ban_after": 4, | |
35 | "session_protection_disabled": false, | |
36 | "ban_duration": 1800, | |
53ed6d7d | 37 | "trusted_proxies": [ |
fdf88d19 A |
38 | "1.2.3.4", |
39 | "5.6.7.8" | |
53ed6d7d | 40 | ], |
41 | "allowed_protocols": [ | |
42 | "ftp", | |
43 | "ftps", | |
44 | "magnet" | |
fdf88d19 A |
45 | ] |
46 | }, | |
47 | "resources": { | |
48 | "data_dir": "data", | |
49 | "config": "data\/config.php", | |
50 | "datastore": "data\/datastore.php", | |
51 | "ban_file": "data\/ipbans.php", | |
52 | "updates": "data\/updates.txt", | |
53 | "log": "data\/log.txt", | |
54 | "update_check": "data\/lastupdatecheck.txt", | |
55 | "raintpl_tmp": "tmp\/", | |
56 | "raintpl_tpl": "tpl\/", | |
57 | "thumbnails_cache": "cache", | |
58 | "page_cache": "pagecache" | |
59 | }, | |
60 | "general": { | |
61 | "check_updates": true, | |
62 | "rss_permalinks": true, | |
63 | "links_per_page": 20, | |
64 | "default_private_links": true, | |
65 | "enable_thumbnails": true, | |
66 | "enable_localcache": true, | |
67 | "check_updates_branch": "stable", | |
68 | "check_updates_interval": 86400, | |
53ed6d7d | 69 | "enabled_plugins": [ |
fdf88d19 A |
70 | "markdown", |
71 | "wallabag", | |
72 | "archiveorg" | |
73 | ], | |
74 | "timezone": "Europe\/Paris", | |
75 | "title": "My Shaarli", | |
76 | "header_link": "?" | |
b3bd8c3e | 77 | "tags_separator": " " |
fdf88d19 | 78 | }, |
5cacf290 | 79 | "dev": { |
80 | "debug": false, | |
81 | } | |
fdf88d19 A |
82 | "extras": { |
83 | "show_atom": false, | |
84 | "hide_public_links": false, | |
85 | "hide_timestamps": false, | |
86 | "open_shaarli": false, | |
fdf88d19 A |
87 | }, |
88 | "general": { | |
89 | "header_link": "?", | |
90 | "links_per_page": 20, | |
53ed6d7d | 91 | "enabled_plugins": [ |
fdf88d19 A |
92 | "markdown", |
93 | "wallabag" | |
94 | ], | |
95 | "timezone": "Europe\/Paris", | |
96 | "title": "My Shaarli" | |
97 | }, | |
98 | "updates": { | |
99 | "check_updates": true, | |
100 | "check_updates_branch": "stable", | |
101 | "check_updates_interval": 86400 | |
102 | }, | |
103 | "feed": { | |
104 | "rss_permalinks": true, | |
105 | "show_atom": false | |
106 | }, | |
107 | "privacy": { | |
108 | "default_private_links": true, | |
109 | "hide_public_links": false, | |
27e21231 | 110 | "force_login": false, |
2e07e775 WE |
111 | "hide_timestamps": false, |
112 | "remember_user_default": true | |
fdf88d19 A |
113 | }, |
114 | "thumbnail": { | |
115 | "enable_thumbnails": true, | |
116 | "enable_localcache": true | |
117 | }, | |
fdf88d19 A |
118 | "plugins": { |
119 | "WALLABAG_URL": "http://demo.wallabag.org", | |
120 | "WALLABAG_VERSION": "1" | |
1a47014f A |
121 | }, |
122 | "translation": { | |
123 | "language": "fr", | |
124 | "mode": "php", | |
125 | "extensions": { | |
126 | "demo": "plugins/demo_plugin/languages/" | |
127 | } | |
cc2ded54 SN |
128 | }, |
129 | "ldap": { | |
130 | "host": "ldap://localhost", | |
131 | "dn": "uid=%s,ou=people,dc=example,dc=org" | |
fdf88d19 A |
132 | } |
133 | } ?> | |
992af0b9 | 134 | ``` |
5409ade2 | 135 | |
91a21c27 | 136 | ## Settings |
137 | ||
138 | ### Credentials | |
650a5f09 | 139 | |
91a21c27 | 140 | _These settings should not be edited_ |
141 | ||
650a5f09 A |
142 | - **login**: Login username. |
143 | - **hash**: Generated password hash. | |
91a21c27 | 144 | - **salt**: Password salt. |
145 | ||
146 | ### General | |
147 | ||
650a5f09 A |
148 | - **title**: Shaarli's instance title. |
149 | - **header_link**: Link to the homepage. | |
150 | - **links_per_page**: Number of Shaares displayed per page. | |
151 | - **timezone**: See [the list of supported timezones](http://php.net/manual/en/timezones.php). | |
91a21c27 | 152 | - **enabled_plugins**: List of enabled plugins. |
153 | - **default_note_title**: Default title of a new note. | |
4cf3564d | 154 | - **enable_async_metadata** (boolean): Retrieve external bookmark metadata asynchronously to prevent bookmark creation slowdown. |
91a21c27 | 155 | - **retrieve_description** (boolean): If set to true, for every new Shaare Shaarli will try to retrieve the description and keywords from the HTML meta tags. |
650a5f09 | 156 | - **root_url**: Overrides automatic discovery of Shaarli instance's URL (e.g.) `https://sub.domain.tld/shaarli-folder/`. |
b3bd8c3e | 157 | - **tags_separator**: Defines your tags separator (default: whitespace). |
91a21c27 | 158 | |
159 | ### Security | |
160 | ||
650a5f09 A |
161 | - **session_protection_disabled**: Disable session cookie hijacking protection (not recommended). |
162 | It might be useful if your IP adress often changes. | |
163 | - **ban_after**: Failed login attempts before being IP banned. | |
164 | - **ban_duration**: IP ban duration in seconds. | |
165 | - **open_shaarli**: Anyone can add a new Shaare while logged out if enabled. | |
166 | - **trusted_proxies**: List of trusted IP which won't be banned after failed login attemps. Useful if Shaarli is behind a reverse proxy. | |
91a21c27 | 167 | - **allowed_protocols**: List of allowed protocols in shaare URLs or markdown-rendered descriptions. Useful if you want to store `javascript:` links (bookmarklets) in Shaarli (default: `["ftp", "ftps", "magnet"]`). |
168 | ||
740b32b5 A |
169 | ### Formatter |
170 | ||
171 | Single string value. Default available: | |
172 | ||
173 | - `default`: supports line breaks, URL and hashtag auto-links. | |
174 | - `markdown`: supports [Markdown](https://daringfireball.net/projects/markdown/syntax). | |
175 | - `markdownExtra`: adds [extra](https://michelf.ca/projects/php-markdown/extra/) flavor to Markdown. | |
176 | ||
177 | ### Formatter Settings | |
178 | ||
179 | Additional settings applied to formatters. | |
180 | ||
181 | #### default | |
182 | ||
183 | - **autolink**: boolean to enable or disable automatic linkification of URL and hashtags. | |
184 | ||
91a21c27 | 185 | ### Resources |
186 | ||
650a5f09 A |
187 | - **data_dir**: Data directory. |
188 | - **datastore**: Shaarli's Shaares database file path. | |
91a21c27 | 189 | - **history**: Shaarli's operation history file path. |
650a5f09 A |
190 | - **updates**: File path for the ran updates file. |
191 | - **log**: Log file path. | |
192 | - **update_check**: Last update check file path. | |
193 | - **raintpl_tpl**: Templates directory. | |
194 | - **raintpl_tmp**: Template engine cache directory. | |
195 | - **thumbnails_cache**: Thumbnails cache directory. | |
196 | - **page_cache**: Shaarli's internal cache directory. | |
91a21c27 | 197 | - **ban_file**: Banned IP file path. |
198 | ||
199 | ### Translation | |
200 | ||
201 | - **language**: translation language (also see [Translations](Translations)) | |
650a5f09 A |
202 | - **auto** (default): The translation language is chosen from the browser locale. |
203 | It means that the language can be different for 2 different visitors depending on their locale. | |
91a21c27 | 204 | - **en**: Use the English translation. |
205 | - **fr**: Use the French translation. | |
650a5f09 | 206 | - **mode**: |
91a21c27 | 207 | - **auto** or **php** (default): Use the PHP implementation of gettext (slower) |
650a5f09 | 208 | - **gettext**: Use PHP builtin gettext extension |
91a21c27 | 209 | (faster, but requires `php-gettext` to be installed and to reload the web server on update) |
650a5f09 | 210 | - **extension**: Translation extensions for custom themes or plugins. |
91a21c27 | 211 | Must be an associative array: `translation domain => translation path`. |
212 | ||
213 | ### Updates | |
214 | ||
650a5f09 A |
215 | - **check_updates**: Enable or disable update check to the git repository. |
216 | - **check_updates_branch**: Git branch used to check updates (e.g. `stable` or `master`). | |
91a21c27 | 217 | - **check_updates_interval**: Look for new version every N seconds (default: every day). |
218 | ||
219 | ### Privacy | |
220 | ||
650a5f09 A |
221 | - **default_private_links**: Check the private checkbox by default for every new Shaare. |
222 | - **hide_public_links**: All Shaares are hidden while logged out. | |
91a21c27 | 223 | - **force_login**: if **hide_public_links** and this are set to `true`, all anonymous users are redirected to the login page. |
224 | - **hide_timestamps**: Timestamps are hidden. | |
225 | - **remember_user_default**: Default state of the login page's *remember me* checkbox | |
226 | - `true`: checked by default, `false`: unchecked by default | |
227 | ||
228 | ### Feed | |
229 | ||
650a5f09 | 230 | - **rss_permalinks**: Enable this to redirect RSS links to Shaarli's permalinks instead of shaared URL. |
91a21c27 | 231 | - **show_atom**: Display ATOM feed button. |
232 | ||
233 | ### Thumbnail | |
234 | ||
650a5f09 | 235 | - **enable_thumbnails**: Enable or disable thumbnail display. |
91a21c27 | 236 | - **enable_localcache**: Enable or disable local cache. |
5409ade2 | 237 | |
91a21c27 | 238 | ## Plugins configuration |
fdf88d19 | 239 | |
650a5f09 | 240 | See [Plugins](Plugins.md) |