forked from actorapp/actor-platform
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapplication.conf.example
321 lines (283 loc) · 8.44 KB
/
application.conf.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
# Example configuration for Actor Platform
# This file uses HOCON syntax (https://github.com/typesafehub/config/blob/master/HOCON.md)
# To start server you need:
# * Configure PostgreSQL service
# * Configure one of supported SMS gateway service (Telesign, Clickatel, Twilio)
# or
# Configure email service
# Configuration of storage engines for server
# Comminity distribution can store all required data
# in PostgreSQL and store files at Amazon S3.
# In enterprise versions you can configure
# other storage engines
storage {
# Can be only postgresql in Community distribution
database: "postgresql"
# Can be only s3 in Community distribution
files: "s3"
}
# We strictly recommend to use TLS
# Most of modern browsers are not working with websockets over
# non-encrypted connection
tls {
# Ceritifcate keystore in Java Keystore format
# with single key with alias password with password
# equals to keystore password
#
# Written in format:
# name { Unique name for certificate
# path: Path to keystore
# password: Password to keystore
# }
keystores {
<write_keystore_name_here> {
path: <write_keystore_path_here>
password: <write_keystore_password_here>
}
}
}
# Web App settings
# {
# host: Listening host
# post: Listening port
# domain: Domain
# keystore: [Optional] Keystore
# }
webapp {
interface: "0.0.0.0"
port: 9090
host: "localhost"
}
# Endpoints for Mobile/Web API
# It is strictly recommended to use 443 port
# for all connections. There are a lot of problems
# on any other ports.
#
# Array of elements in format:
# {
# type: "tcp" or "websocket"
# host: Listening host
# post: Listening port
# keystore: [Optional] Keystore
# }
endpoints: [
{
type: tcp
interface: "0.0.0.0"
port: 9070
},
{
type: websocket
interface: "0.0.0.0"
port: 9080
}
]
# Enabled mobules for server
# Default distribution has two modules: auth and enricher.
# * auth: enables authentication support
# * enricher: enables encriching of messages
# for example, downloading previews of images by URL, or
# loading gif images from Gliphy
enabled-modules {
# Configuration for messaging module
# messaging {
# Configure url for group invites here
# groups {
# invite {
# base-uri: <write_base_uri_here>
# }
# }
# }
# Configuration for authentication.
# Default distribution can authenticate with one-time
# code or oauth2.
#
# If you comment this module authentication will be disabled.
# Useful for some security-related cases.
auth {
# You can enable or disable types of authentication by
# adding or removing from types variable.
# Supported types:
# * sms: one-time password by SMS,
# * email: one-time password by email
# * oauth2: OAuth2 authentication for some mail domains
types: [sms, email, oauth2]
# Time and attempt for sms/email auth code expiration
# code-expiration: 1 day
# code-attempts: 3
# Uncomment if you want to tweak sms authentication parameters
# sms {
# Uncomment to change SMS send repeat limit on double sms request
# repeat-limit = 1m
# Uncomment to force some specific gateway for sending sms
# primary-gateway = telesign
# }
}
# Message enricher
# Comment this module if you don't want to use message
# enriching feature
enricher {
# Uncomment to customize max image preview size
# max-preview-size = 2 M
# Uncomment for disabling gliphy integration
# NOTE: If glyphy integration is not set this feature
# will be automatically disabled
# glyphy-enabled = false
}
}
# Services that are used by the server.
# Default distribution support services:
# * [REQUIRED] postgresql: PostgreSQL database
# * email: Email integration
# * aws: Amazon Web Services integration
# * google: Accessing Google services
# * apple: Accessing Apple services
# * gliphy: Giphy.com integration (for Message Enricher)
# * telesign: Telesign SMS gateway
# * twilio: Twilio SMS gateway
# * clickatel: Clickatel SMS gateway
services {
# PostgreSQL storage for data
# The only required service to start server
postgresql {
# Host of PostgreSQL instance
host: <write_psql_server_host_here>
# Port of PostgreSQL instance
port: 5432
# Database name
db: actor
# User name in PostgreSQL
user: <write_psql_user_here>
# Password in PostgreSQL
password: <write_psql_password_here>
}
# AWS configuration
# It is strictly recommended to configure s3 storage for
# enabling file sharing in apps
aws {
# S3 Storage, used for file sharing
s3 {
# S3 Api Key
key: <write_your_s3_key_here>
# S3 Api Secret
secret: <write_your_s3_secret_here>
# File bucket
bucket: <write_your_s3_bucket_here>
}
}
# Service used for sending activation codes
activation {
# Allow client to repeat code sending after this interval
repeat-limit = 1m
}
# Email configuration
email {
# Sender information for outgoing emails
sender {
# Sender Email address
address: <write_sender_address_here>
# Sender Name
name: <write_sender_full_name_here>
# Mail theme prefix
prefix: <write_mail_theme_prefix_here>
}
# SMTP server configuration
smtp {
# SMTP server host
host: <write_smtp_server_host_here>
# SMTP server port
port: <write_smtp_server_port_here>
# SMTP server username
username: <write_smtp_server_username_here>
# SMTP server password
password: <write_smtp_server_password_here>
# Is TLS required
tls: true
}
}
# Telesign SMS gate (best gate for authentication)
# To get tokens ask at telesign web site: https://www.telesign.com
telesign {
customer-id: <write_your_customer_id_here>
api-key: <write_your_api_key_here>
}
# Twilio SMS gate (fast, but sometimes unstable)
# To get tokens signup at Twilio web site: https://www.twilio.com
# twilio {
# account:
# token:
# }
# Clickatell SMS (slowest gate, but more stable than Twilio)
# To get tokens signup at Clickatel web site: https://www.clickatell.com/
# clickatell {
# user:
# password:
# app_id:
# }
# Accessing Google Services
# Used for OAuth2 in gmail mailboxes
# and sending push notifications in Android & Chrome
#
# How to get OAuth2:
# * Open https://console.developers.google.com/
# * Go To Api&Auth, then to Credentials
# * Press "Client Id" and create id for Web Application
# * In created Client Id there are values "Client Id" and "Client Secret"
# for web OAuth configuration
# * Same steps for Android & iOS applications
#
# How to get Push keys
# * Open https://console.developers.google.com/
# * Go To Api&Auth, then to Credentials
# * Press "Create new key" for Android Application
# * Allow any IP
# * Get API key from created "Key for Android Application"
# * Project Id can be found on Overview page
google {
# Uncomment if you want to perform OAuth authentication
# for GMail accounts
# oauth {
# auth-uri: "https://accounts.google.com/o/oauth2/auth"
# token-uri: "https://accounts.google.com/o/oauth2/token"
# profile-uri: "https://www.googleapis.com/oauth2/v2/userinfo"
# client-id: <write_your_client_id_here>
# client-secret: <write_your_client_secret_here>
# scope: "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://www.google.com/m8/feeds/"
#}
# Android & Chrome push notifications
# push {
# # Keys for push notifications in format:
# # {
# # projectId: Key project ID (see comments above)
# # key: Secret Key (see comments above)
# # }
# keys = [
# {
# project-id:
# key:
# }
# ]
# }
}
# Accessing Apple servers for push notifications
apple {
# Safari & iOS notifications
# push {
# # Mobile push certificates in format:
# # {
# # certId: Random Int unique value for certificate
# # path: Path to certificate file
# # password: Password to certificate
# # }
# mobile-certs = [ {
# certId: <write_your_certificate_id_here>
# path: <write_your_certificate_path_here>
# password: <write_your_certificate_password_here>
# }]
# }
}
# Accessing Gliphy for gif image downloading
# gliphy {
# api-token=<write_your_api_token_here>
# }
}