THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

test
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

439 lines
15 KiB

  1. application.conf 설명
  2. ===
  3. conf 디렉터리의 application.conf 를 통해 설정 가능한 기능들
  4. ----
  5. - 사이트 이름
  6. - application.siteName = "Yona"
  7. - 어플리케이션 루트 지정
  8. - application.context = /myroot
  9. - 로그인 하지 않은 유저 접근 제한
  10. - application.allowsAnonymousAccess = true
  11. - 게스트 사용자 접두사 설정. 해당 접두사의 아이디는 가입시 자동으로 Guest 계정이 됩니다.
  12. - application.guest.user.login.id.prefix = ""
  13. - 가입 후 관리자가 승인을 해야만 활동 가능하도록 제한
  14. - signup.require.admin.confirm = true
  15. - 메일 발송을 허용할 메일 도메인. 실수로 외부로 메일 발송이 되지 않도록 제한할 때 사용.
  16. - application.allowed.sending.mail.domains = ""
  17. - 가입시 유효한 이메일인지 확인하는 기능 사용여부
  18. - application.use.email.verification = true
  19. - 알림메일 발송 사용 여부
  20. - notification.bymail.enabled = true
  21. - 서버 고유 보안키 (어드민 계정 리셋시에 필요함)
  22. - 언어 표시 우선순위
  23. - application.langs="en-US, ko-KR, ja-JP"
  24. - DB 접속설정
  25. - HTTP 헤더에 표시할 서버 이름
  26. - URL 구성 요소 설정
  27. - application.scheme="http"
  28. - application.hostname="www.yourdomain.com"
  29. - application.port="9000"
  30. - Yona 시스템이 사용할 EMAIL 설정
  31. - 사용자 업로드 임시파일의 정리 일정(초)
  32. - application.temporaryfiles.keep-up.time = 86400
  33. - 알림메일 발송 지연시간
  34. - Yona 페이지에서 링크로 타 사이트로 이동했을때 referer 헤더에서 Yona를 숨기는 기능
  35. - application.noreferrer = true
  36. - 프로젝트 목록보기에서 private 프로젝트를 표시해 줄지 여부
  37. - application.displayPrivateRepositories = false
  38. - 프로젝트 생성 시 기본 선택되는 공개 범위 지정
  39. - project.default.scope.when.create = "public"
  40. - 공개 프로젝트 전체 목록을 볼 수 없도록 숨기는 기능
  41. - application.hide.project.listing = false
  42. - Github 으로 이전(Migration)기능 활성화 여부
  43. - github.allow.migration = false
  44. - github.client.id = "TYPE YOUR GITHUB CILENT ID"
  45. - github.client.secret = "TYPE YOUR GITHUB CILENT SECRET"
  46. - 파일 업로드시에 단일 파일 최대 업로드 크기 제한(기본 2Gb)
  47. - application.maxFileSize = 2147483454
  48. - 프로젝트 생성시 기본으로 선택되어서 표시할 메뉴
  49. - project.creation.default.menus = "code, issue, pullRequest, review, milestone, board"
  50. - 오직 소셜 로그인(Github/Gmail)을 통한 가입/로그인만으로 제한 (자체 계정 생성 및 로그인 금지)
  51. - application.use.social.login.only = false
  52. - 소셜 로그인 사용 시 사용자 이름 동기화 여부
  53. - application.use.social.login.name.sync = false
  54. - 지원 소셜 로그인 제공자 설정
  55. - application.social.login.support = "github, google"
  56. - Github Enterprise 연동시 추가 옵션
  57. - 로그인 버튼 이름 변경
  58. - application.social.login.github.name = "Github Enterprise"
  59. - LDAP 로그인 지원
  60. - application.use.ldap.login.supoort = false
  61. application.conf 기본 설정
  62. -----
  63. ```
  64. # This is the main configuration file for the application.
  65. # ~~~~~
  66. # Site Name
  67. # ~~~~~~~~~
  68. # The name of your website
  69. application.siteName="Yona"
  70. # Application Context
  71. # ~~~~~~~~~~~~~~~~~~~
  72. # If you want your own application context root, you can set it.
  73. # Don't miss first / (slash) letter!
  74. # application.context = /myroot
  75. # Anonymous access
  76. # ~~~~~~~~~~~~~~~~
  77. # This site allows anonymous access. (default: true)
  78. # If this is false, Yona refuses anonymous access to any page except for the
  79. # ones to be needed for login, login and creating accout.
  80. # NOTE: Even if this is false, anyone can create a account freely. If you don't
  81. # want to allow that, set signup.require.confirm to true.
  82. application.allowsAnonymousAccess=true
  83. # Guest User Id Rule
  84. # ~~~~~~~~~~~~~
  85. # If login id is created with following prefixes,
  86. # Yona treat that user is Guest User.
  87. # Guest user is extremely restricted in use of Yona.
  88. # They can not see any project listing of instance and
  89. # only create own account's projects.
  90. # In other words, they cannot create organization.
  91. # If multiple prefixes are needed, user , (comma)
  92. #
  93. # eg.
  94. # "PT_, GUEST_"
  95. application.guest.user.login.id.prefix = ""
  96. #
  97. # Signup options
  98. # ~~~~~~~~~~~~~~
  99. # If you wants to make the user available to use yona
  100. # after the server administrator approved,uncomment below
  101. #
  102. # signup.require.admin.confirm = true
  103. # If you only want to allow for signing up in specific email domains,
  104. # use the following option.
  105. # application.allowed.sending.mail.domains = "gmail.com, your-company.com"
  106. # And "" is option for no restriction.
  107. #
  108. # application.allowed.sending.mail.domains = ""
  109. # If following email verification option is true, all user will be locked when it sign-up,
  110. # until user click the verification link of verification confirm mail
  111. #
  112. # application.use.email.verification = true
  113. # If you enable to use social login or email verification, set followings
  114. play-easymail {
  115. from {
  116. # Mailing from address
  117. email="projects.yona@gmail.com"
  118. # Mailing name
  119. name="yona-no-reply"
  120. # Seconds between sending mail through Akka (defaults to 1)
  121. # delay=1
  122. }
  123. }
  124. # Notification
  125. # ~~~~~
  126. # Notfication email is delivered by default.
  127. # If you want to disable the delivery, set the 'notification.bymail.enabled' to 'false'.
  128. notification.bymail.enabled = true
  129. # Secret key
  130. # ~~~~~
  131. # The secret key is used to secure cryptographics functions.
  132. # If you deploy your application to several instances be sure to use the same key!
  133. #
  134. # If you want to reset admin account, set this value to default.
  135. # Default: "VA2v:_I=h9>?FYOH:@ZhW]01P<mWZAKlQ>kk>Bo`mdCiA>pDw64FcBuZdDh<47Ew"
  136. application.secret="VA2v:_I=h9>?FYOH:@ZhW]01P<mWZAKlQ>kk>Bo`mdCiA>pDw64FcBuZdDh<47Ew"
  137. # The application languages
  138. # ~~~~~
  139. application.langs="en-US, ko-KR, ja-JP"
  140. # Global object class
  141. # ~~~~~
  142. # Define the Global object class for this application.
  143. # Default to Global in the root package.
  144. application.global=Global
  145. # Database configuration
  146. # ~~~~~
  147. # You can declare as many datasources as you want.
  148. # By convention, the default datasource is named `default`
  149. #
  150. ebeanconfig.datasource.default=default
  151. # H2 Configuration
  152. # db.default.driver=org.h2.Driver
  153. # db.default.url="jdbc:h2:mem:yona;MODE=PostgreSQL;DB_CLOSE_DELAY=-1"
  154. # db.default.url="jdbc:h2:file:./yona;MODE=PostgreSQL;MV_STORE=FALSE;MVCC=FALSE;CACHE_SIZE=131072;AUTO_SERVER=TRUE"
  155. # db.default.user=sa
  156. # db.default.password=sa
  157. # db.default.logStatements=true
  158. # db.default.partitionCount=20
  159. # db.default.maxConnectionsPerPartition=10
  160. # db.default.minConnectionsPerPartition=2
  161. # db.default.acquireIncrement=4
  162. # db.default.acquireRetryAttempts=3
  163. # db.default.acquireRetryDelay=1 seconds
  164. # db.default.connectionTimeout=3 second
  165. # db.default.statementsCacheSize=1000
  166. # MySQL Configuration
  167. # db.default.driver=com.mysql.jdbc.Driver
  168. # db.default.url="jdbc:mysql://127.0.0.1:3306/yona?characterEncoding=utf-8"
  169. # db.default.user=yona
  170. # db.default.password=""
  171. # MariaDB
  172. db.default.driver=org.mariadb.jdbc.Driver
  173. db.default.url="jdbc:mariadb://127.0.0.1:3306/yona?useServerPrepStmts=true"
  174. db.default.user=yona
  175. db.default.password="password"
  176. # Local
  177. # db.default.url="jdbc:postgresql://localhost:5432/yona"
  178. # db.default.user=postgres
  179. # db.default.password=password
  180. # You can expose this datasource via JNDI if needed (Useful for JPA)
  181. # db.default.jndiName=DefaultDS
  182. # Ebean configuration
  183. # ~~~~~
  184. # You can declare as many Ebean servers as you want.
  185. # By convention, the default server is named `default`
  186. #
  187. ebean.default="models.*"
  188. # Evolutions
  189. # ~~~~~
  190. # You can disable evolutions if needed
  191. # evolutionplugin=disabled
  192. applyEvolutions.default=true
  193. # Logger
  194. # ~~~~~
  195. # You can also configure logback (http://logback.qos.ch/), by providing a logger.xml file in the conf directory .
  196. # Server
  197. # ~~~~~
  198. # Server name used by servlet, as the value of "Server" field in HTTP response message.
  199. application.server="Play/2.3"
  200. # Components used to construct the URL to this application.
  201. application.scheme="http"
  202. # application.hostname="www.yourdomain.com"
  203. # application.port="8080"
  204. # Application feedback url at top layout menu. You can remove feedback menu by commenting it.
  205. application.feedback.url="https://github.com/yona-projects/yona/issues"
  206. # Mailer
  207. # ~~~~~~
  208. # You have to configure SMTP to send mails.
  209. # Example settings, it assume that you use gmail smtp
  210. smtp.host = smtp.gmail.com
  211. smtp.port = 465
  212. smtp.ssl = true
  213. smtp.user = yourGmailId
  214. # Be careful!!! Not to leak password
  215. smtp.password = yourGmailPassword
  216. smtp.domain = gmail.com
  217. #true to use mock mailer for testing, false for using real mail server
  218. smtp.mock = true
  219. # optional, size of mail archive for tests, default: 5
  220. smtp.archive.size = 5
  221. # Mailbox Service
  222. # ~~~~~~~~~~~~~~~
  223. #
  224. # Mailbox Service fetches and process mails from IMAP server. For example, if
  225. # the service fetches an email to a project, it posts the email as an issue of
  226. # the project.
  227. #
  228. # If you want to use this feature, your IMAP server has to be configured to
  229. # support the address alias using '+' sign, also known as 'subaddressing' or
  230. # 'detailed addressing'. For example, emails to 'yona+issue@yourmail.com' have
  231. # to be delivered to 'yona@yourmail.com'.
  232. #
  233. # SECURITY WARNING: Yona believes the email address in From header of the
  234. # received email is truthful and use it for authentication without doubt. To
  235. # avoid this problem, your imap server must deny every email whose From header
  236. # is forged.
  237. #
  238. # Here is an example if you use Gmail.
  239. #
  240. # Set imap.use to true if you want to use this feature.
  241. imap.use = false
  242. imap.host = imap.googlemail.com
  243. imap.ssl = true
  244. imap.user = "your-yona-email-address@gmail.com"
  245. # The email address of Yona. Mailbox Service processes an email only if its
  246. # address is as follows.
  247. imap.address = "your-yona-email-address@gmail.com"
  248. # Be careful!!!
  249. imap.password = yourGmailPassword
  250. imap.folder = inbox
  251. # Production configuration
  252. %prod.http.port=80
  253. %prod.application.log=INFO
  254. %prod.application.mode=prod
  255. # User uploaded temporary files cleanup schedule (sec, default 24hour: 24*60*60 = 86400)
  256. # application.temporaryfiles.keep-up.time = 86400
  257. # Notification
  258. # ~~~~~~~~~~~~
  259. # Check mails to send every this seconds.
  260. application.notification.bymail.interval = 60s
  261. # Sending a notification mail delays this seconds.
  262. application.notification.bymail.delay = 180s
  263. # Split notification emails by the recipient limit.
  264. # The value is number of maximum recipients per an email and inclusive.
  265. # (default: 0, This means there is no limitation.)
  266. application.notification.bymail.recipientLimit = 100
  267. # Hide recipients of notification email by using bcc. (default: true)
  268. application.notification.bymail.hideAddress = true
  269. # A new event notification can be merged if possible with previous one which is
  270. # not older than this seconds.
  271. application.notification.draft-time = 30s
  272. # Delete notifications which are older than this days.
  273. # If this value is undefined or not positive number, notifications will remain forever.
  274. # application.notification.keep-time = 60
  275. # Software Update
  276. # ~~~~~~~~~~~~~~~
  277. # Check for updates of Yona at this interval if it is grater than 0.
  278. application.update.notification.interval = 6h
  279. # A url to the git repository for Yona releases.
  280. application.update.check.use = true
  281. application.update.repositoryUrl = "https://github.com/yona-projects/yona"
  282. # A format to construct the url to latest Yona release. "%s" is a format
  283. # specifier for Yona version to download like "0.5.7".
  284. application.update.releaesUrlFormat = "https://github.com/yona-projects/yona/releases/tag/v%s"
  285. # customize play default thread pool size
  286. # see: https://www.playframework.com/documentation/2.3.x/ThreadPools
  287. play {
  288. akka {
  289. event-handlers = ["akka.event.Logging$DefaultLogger", "akka.event.slf4j.Slf4jEventHandler"]
  290. loglevel = WARNING
  291. actor {
  292. default-dispatcher = {
  293. fork-join-executor {
  294. parallelism-min = 50
  295. parallelism-max = 300
  296. }
  297. }
  298. }
  299. }
  300. }
  301. # customize akka thread pool size
  302. akka {
  303. loggers = ["akka.event.Logging$DefaultLogger", "akka.event.slf4j.Slf4jLogger"]
  304. loglevel = WARNING
  305. actor {
  306. default-dispatcher = {
  307. fork-join-executor {
  308. # Min number of threads to cap factor-based parallelism number to
  309. parallelism-min = 8
  310. # The parallelism factor is used to determine thread pool size using the
  311. # following formula: ceil(available processors * factor). Resulting size
  312. # is then bounded by the parallelism-min and parallelism-max values.
  313. parallelism-factor = 3.0
  314. # Max number of threads to cap factor-based parallelism number to
  315. parallelism-max = 64
  316. }
  317. }
  318. }
  319. }
  320. # No referrer information is to be leaked when following the link from yona pages. If you don't want, set it false
  321. application.noreferrer = true
  322. # Display private repositories in the list
  323. application.displayPrivateRepositories = false
  324. # Hide project listing for security
  325. application.hide.project.listing = false
  326. # choice: "public" or "private"
  327. # default: "public"
  328. project.default.scope.when.create = "public"
  329. # Google Analytics
  330. # ~~~~~~~~~~~~~~~~~
  331. # This data is used to better understand how users interact with the Web UI which gives us valuable information
  332. # in improving Yona user experience. To disable this for any reason, set the following option to false.
  333. application.send.yona.usage = true
  334. # Github Migration
  335. # ~~~~~~~~~~~~~~~~~
  336. # User can migrate their own projects to github
  337. #
  338. github.allow.migration = false
  339. github.client.id = "TYPE YOUR GITHUB CILENT ID"
  340. github.client.secret = "TYPE YOUR GITHUB CILENT SECRET"
  341. # Attachment Upload File Size Limit
  342. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  343. # 2,147,483,454 bytes = 2Gb
  344. application.maxFileSize = 2147483454
  345. # Project Creation Menu Settings
  346. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  347. # Default: "code, issue, pullRequest, review, milestone, board"
  348. project.creation.default.menus = "issue, milestone, board"
  349. # Social Login Support
  350. # ~~~~~~~~~~~~~~~~~~~~
  351. # Social login settings for Yona
  352. # Detail settings are described at social-login.conf
  353. # Prevent using Yona's own login system
  354. application.use.social.login.only = false
  355. # If true, update local user name with social login account name
  356. application.use.social.login.name.sync = false
  357. # Allowed OAuth social login provider
  358. # choice: github, google
  359. application.social.login.support = "github, google"
  360. # LDAP Login Support
  361. # ~~~~~~~~~~~~~~~~~
  362. #
  363. application.use.ldap.login.supoort = false
  364. ldap {
  365. host = "ldap.forumsys.com"
  366. # default: ldap.port=389, ldaps.port=636
  367. port = 389
  368. # protocol: ldap or ldaps. If you want to use SSL/TLS, use 'ldaps'
  369. protocol = "ldap"
  370. baseDN = "ou=scientists,dc=example,dc=com"
  371. # If your ldap service's distinguishedName is 'CN=username,OU=user,DC=abc,DC=com', postfix is 'OU=xxx,DC=abc,DC=com'
  372. distinguishedNamePostfix = "OU=user,DC=abc,DC=com"
  373. loginProperty = "sAMAccountName"
  374. displayNameProperty = "displayName"
  375. userNameProperty = "CN"
  376. emailProperty = "mail"
  377. options {
  378. # If your LDAP configuration support email login
  379. useEmailBaseLogin = false
  380. fallbackToLocalLogin = false
  381. }
  382. }
  383. include "social-login.conf"
  384. ```