settings.json 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  1. /*
  2. * This file must be valid JSON. But comments are allowed
  3. *
  4. * Please edit settings.json, not settings.json.template
  5. *
  6. * Please note that since Etherpad 1.6.0 you can store DB credentials in a
  7. * separate file (credentials.json).
  8. */
  9. {
  10. /*
  11. * Name your instance!
  12. */
  13. "title": "Video Chat",
  14. /*
  15. * favicon default name
  16. * alternatively, set up a fully specified Url to your own favicon
  17. */
  18. "favicon": "favicon.ico",
  19. /*
  20. * IP and port which etherpad should bind at
  21. */
  22. "ip": "0.0.0.0",
  23. "port" : 9001,
  24. /*
  25. * Option to hide/show the settings.json in admin page.
  26. *
  27. * Default option is set to true
  28. */
  29. "showSettingsInAdminPage" : true,
  30. /*
  31. * Node native SSL support
  32. *
  33. * This is disabled by default.
  34. * Make sure to have the minimum and correct file access permissions set so
  35. * that the Etherpad server can access them
  36. */
  37. /*
  38. "ssl" : {
  39. "key" : "/path-to-your/epl-server.key",
  40. "cert" : "/path-to-your/epl-server.crt",
  41. "ca": ["/path-to-your/epl-intermediate-cert1.crt", "/path-to-your/epl-intermediate-cert2.crt"]
  42. },
  43. */
  44. /*
  45. * The type of the database.
  46. *
  47. * You can choose between many DB drivers, for example: dirty, postgres,
  48. * sqlite, mysql.
  49. *
  50. * You shouldn't use "dirty" for for anything else than testing or
  51. * development.
  52. *
  53. * For a complete list of the supported drivers, please consult:
  54. * https://www.npmjs.com/package/ueberdb2
  55. */
  56. "dbType" : "dirty",
  57. /*
  58. * Database specific settings (dependent on dbType).
  59. *
  60. * Remember that since Etherpad 1.6.0 you can also store these informations in
  61. * credentials.json.
  62. */
  63. "dbSettings" : {
  64. "filename" : "var/dirty.db"
  65. },
  66. /*
  67. * An Example of MySQL Configuration (commented out).
  68. *
  69. * See: https://github.com/ether/etherpad-lite/wiki/How-to-use-Etherpad-Lite-with-MySQL
  70. */
  71. /*
  72. "dbType" : "mysql",
  73. "dbSettings" : {
  74. "user" : "etherpaduser",
  75. "host" : "localhost",
  76. "port" : 3306,
  77. "password": "PASSWORD",
  78. "database": "etherpad_lite_db",
  79. "charset" : "utf8mb4"
  80. },
  81. */
  82. /*
  83. * The default text of a pad
  84. */
  85. "defaultPadText" : "Welcome to Web Chat!\n\n",
  86. /*
  87. * Default Pad behavior.
  88. *
  89. * Change them if you want to override.
  90. */
  91. "padOptions": {
  92. "noColors": false,
  93. "showControls": true,
  94. "showChat": true,
  95. "showLineNumbers": true,
  96. "useMonospaceFont": false,
  97. "userName": false,
  98. "userColor": false,
  99. "rtl": false,
  100. "alwaysShowChat": false,
  101. "chatAndUsers": false,
  102. "lang": "en-gb"
  103. },
  104. /*
  105. * Pad Shortcut Keys
  106. */
  107. "padShortcutEnabled" : {
  108. "altF9" : true, /* focus on the File Menu and/or editbar */
  109. "altC" : true, /* focus on the Chat window */
  110. "cmdShift2" : true, /* shows a gritter popup showing a line author */
  111. "delete" : true,
  112. "return" : true,
  113. "esc" : true, /* in mozilla versions 14-19 avoid reconnecting pad */
  114. "cmdS" : true, /* save a revision */
  115. "tab" : true, /* indent */
  116. "cmdZ" : true, /* undo/redo */
  117. "cmdY" : true, /* redo */
  118. "cmdI" : true, /* italic */
  119. "cmdB" : true, /* bold */
  120. "cmdU" : true, /* underline */
  121. "cmd5" : true, /* strike through */
  122. "cmdShiftL" : true, /* unordered list */
  123. "cmdShiftN" : true, /* ordered list */
  124. "cmdShift1" : true, /* ordered list */
  125. "cmdShiftC" : true, /* clear authorship */
  126. "cmdH" : true, /* backspace */
  127. "ctrlHome" : true, /* scroll to top of pad */
  128. "pageUp" : true,
  129. "pageDown" : true
  130. },
  131. /*
  132. * Should we suppress errors from being visible in the default Pad Text?
  133. */
  134. "suppressErrorsInPadText" : true,
  135. /*
  136. * If this option is enabled, a user must have a session to access pads.
  137. * This effectively allows only group pads to be accessed.
  138. */
  139. "requireSession" : false,
  140. /*
  141. * Users may edit pads but not create new ones.
  142. *
  143. * Pad creation is only via the API.
  144. * This applies both to group pads and regular pads.
  145. */
  146. "editOnly" : false,
  147. /*
  148. * If set to true, those users who have a valid session will automatically be
  149. * granted access to password protected pads.
  150. */
  151. "sessionNoPassword" : false,
  152. /*
  153. * If true, all css & js will be minified before sending to the client.
  154. *
  155. * This will improve the loading performance massively, but makes it difficult
  156. * to debug the javascript/css
  157. */
  158. "minify" : true,
  159. /*
  160. * How long may clients use served javascript code (in seconds)?
  161. *
  162. * Not setting this may cause problems during deployment.
  163. * Set to 0 to disable caching.
  164. */
  165. "maxAge" : 21600, // 60 * 60 * 6 = 6 hours
  166. /*
  167. * Absolute path to the Abiword executable.
  168. *
  169. * Abiword is needed to get advanced import/export features of pads. Setting
  170. * it to null disables Abiword and will only allow plain text and HTML
  171. * import/exports.
  172. */
  173. "abiword" : null,
  174. /*
  175. * This is the absolute path to the soffice executable.
  176. *
  177. * LibreOffice can be used in lieu of Abiword to export pads.
  178. * Setting it to null disables LibreOffice exporting.
  179. */
  180. "soffice" : null,
  181. /*
  182. * Path to the Tidy executable.
  183. *
  184. * Tidy is used to improve the quality of exported pads.
  185. * Setting it to null disables Tidy.
  186. */
  187. "tidyHtml" : null,
  188. /*
  189. * Allow import of file types other than the supported ones:
  190. * txt, doc, docx, rtf, odt, html & htm
  191. */
  192. "allowUnknownFileEnds" : true,
  193. /*
  194. * This setting is used if you require authentication of all users.
  195. *
  196. * Note: "/admin" always requires authentication.
  197. */
  198. "requireAuthentication" : false,
  199. /*
  200. * Require authorization by a module, or a user with is_admin set, see below.
  201. */
  202. "requireAuthorization" : false,
  203. /*
  204. * When you use NGINX or another proxy/load-balancer set this to true.
  205. */
  206. "trustProxy" : false,
  207. /*
  208. * Privacy: disable IP logging
  209. */
  210. "disableIPlogging" : false,
  211. /*
  212. * Time (in seconds) to automatically reconnect pad when a "Force reconnect"
  213. * message is shown to user.
  214. *
  215. * Set to 0 to disable automatic reconnection.
  216. */
  217. "automaticReconnectionTimeout" : 0,
  218. /*
  219. * By default, when caret is moved out of viewport, it scrolls the minimum
  220. * height needed to make this line visible.
  221. */
  222. "scrollWhenFocusLineIsOutOfViewport": {
  223. /*
  224. * Percentage of viewport height to be additionally scrolled.
  225. *
  226. * E.g.: use "percentage.editionAboveViewport": 0.5, to place caret line in
  227. * the middle of viewport, when user edits a line above of the
  228. * viewport
  229. *
  230. * Set to 0 to disable extra scrolling
  231. */
  232. "percentage": {
  233. "editionAboveViewport": 0,
  234. "editionBelowViewport": 0
  235. },
  236. /*
  237. * Time (in milliseconds) used to animate the scroll transition.
  238. * Set to 0 to disable animation
  239. */
  240. "duration": 0,
  241. /*
  242. * Flag to control if it should scroll when user places the caret in the
  243. * last line of the viewport
  244. */
  245. "scrollWhenCaretIsInTheLastLineOfViewport": false,
  246. /*
  247. * Percentage of viewport height to be additionally scrolled when user
  248. * presses arrow up in the line of the top of the viewport.
  249. *
  250. * Set to 0 to let the scroll to be handled as default by Etherpad
  251. */
  252. "percentageToScrollWhenUserPressesArrowUp": 0
  253. },
  254. /*
  255. * Users for basic authentication.
  256. *
  257. * is_admin = true gives access to /admin.
  258. * If you do not uncomment this, /admin will not be available!
  259. *
  260. * WARNING: passwords should not be stored in plaintext in this file.
  261. * If you want to mitigate this, please install ep_hash_auth and
  262. * follow the section "secure your installation" in README.md
  263. */
  264. /*
  265. "users": {
  266. "admin": {
  267. // "password" can be replaced with "hash" if you install ep_hash_auth
  268. "password": "changeme1",
  269. "is_admin": true
  270. },
  271. "user": {
  272. // "password" can be replaced with "hash" if you install ep_hash_auth
  273. "password": "changeme1",
  274. "is_admin": false
  275. }
  276. },
  277. */
  278. /*
  279. * Restrict socket.io transport methods
  280. */
  281. "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
  282. /*
  283. * Allow Load Testing tools to hit the Etherpad Instance.
  284. *
  285. * WARNING: this will disable security on the instance.
  286. */
  287. "loadTest": false,
  288. /*
  289. * Disable indentation on new line when previous line ends with some special
  290. * chars (':', '[', '(', '{')
  291. */
  292. /*
  293. "indentationOnNewLine": false,
  294. */
  295. /*
  296. * Toolbar buttons configuration.
  297. *
  298. * Uncomment to customize.
  299. */
  300. /*
  301. "toolbar": {
  302. "left": [
  303. ["bold", "italic", "underline", "strikethrough"],
  304. ["orderedlist", "unorderedlist", "indent", "outdent"],
  305. ["undo", "redo"],
  306. ["clearauthorship"]
  307. ],
  308. "right": [
  309. ["importexport", "timeslider", "savedrevision"],
  310. ["settings", "embed"],
  311. ["showusers"]
  312. ],
  313. "timeslider": [
  314. ["timeslider_export", "timeslider_returnToPad"]
  315. ]
  316. },
  317. */
  318. /*
  319. * The log level we are using.
  320. *
  321. * Valid values: DEBUG, INFO, WARN, ERROR
  322. */
  323. "loglevel": "INFO",
  324. /*
  325. * Logging configuration. See log4js documentation for further information:
  326. * https://github.com/nomiddlename/log4js-node
  327. *
  328. * You can add as many appenders as you want here.
  329. */
  330. "logconfig" :
  331. { "appenders": [
  332. { "type": "console"
  333. //, "category": "access"// only logs pad access
  334. }
  335. /*
  336. , { "type": "file"
  337. , "filename": "your-log-file-here.log"
  338. , "maxLogSize": 1024
  339. , "backups": 3 // how many log files there're gonna be at max
  340. //, "category": "test" // only log a specific category
  341. }
  342. */
  343. /*
  344. , { "type": "logLevelFilter"
  345. , "level": "warn" // filters out all log messages that have a lower level than "error"
  346. , "appender":
  347. { Use whatever appender you want here }
  348. }
  349. */
  350. /*
  351. , { "type": "logLevelFilter"
  352. , "level": "error" // filters out all log messages that have a lower level than "error"
  353. , "appender":
  354. { "type": "smtp"
  355. , "subject": "An error occurred in your EPL instance!"
  356. , "recipients": "bar@blurdybloop.com, baz@blurdybloop.com"
  357. , "sendInterval": 300 // 60 * 5 = 5 minutes -- will buffer log messages; set to 0 to send a mail for every message
  358. , "transport": "SMTP", "SMTP": { // see https://github.com/andris9/Nodemailer#possible-transport-methods
  359. "host": "smtp.example.com", "port": 465,
  360. "secureConnection": true,
  361. "auth": {
  362. "user": "foo@example.com",
  363. "pass": "bar_foo"
  364. }
  365. }
  366. }
  367. }
  368. */
  369. ]
  370. } // logconfig
  371. }