-
Notifications
You must be signed in to change notification settings - Fork 0
/
chatwoot.yml
415 lines (400 loc) · 14.8 KB
/
chatwoot.yml
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
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
---
namespace: chatwoot
chatwoot-common:
metadata:
name: chatwoot
shortname: Chatwoot
description: |
Chatwoot is a powerful and intuitive customer engagement platform that enables businesses to communicate with their customers seamlessly across multiple channels.
With Chatwoot, businesses can manage all their customer conversations in one place, including email, social media, and messaging apps. The platform offers a range of features, including automated responses, chatbots, and real-time analytics, to help businesses improve their customer experience and increase customer satisfaction.
Chatwoot is easy to set up and use, making it an ideal solution for businesses of all sizes looking to streamline their customer
engagement processes.
---
Notes:
To start properly you need to run custom action in `chatwoot-rails` runnable: `prepare-db`
website: https://www.chatwoot.com/
publisher: monk.io
icon: https://camo.githubusercontent.com/778ffdc9c0cb0bf52e04ffc22f3d392f028ceedc0f60c0e74741aac7c4375eb4/68747470733a2f2f73332e75732d776573742d322e616d617a6f6e6177732e636f6d2f67682d6173736574732e63686174776f6f742e636f6d2f6272616e642e737667
version: 2.0
source: https://github.com/chatwoot/chatwoot
tags: chatbot, ticketing, livechat, crm, socialmedia, helpdesk, customer engagement, omnichannel, customer support, teamcollaboration
private: true
connections:
database:
runnable: chatwoot/chatwoot-db
service: postgres
redis:
runnable: chatwoot/chatwoot-rds
service: redis
variables:
random-uuid:
type: string
value: <- random-uuid
chawoot-secret-key:
env: SECRET_KEY_BASE
type: string
value: <- $chatwoot_secret_key default($random-uuid)
chatwoot-frontend-url:
env: FRONTEND_URL
type: string
value: <- $chatwoot_frontend_url default("http://0.0.0.0:3000")
chatwoot-helpcenter-url:
env: HELPCENTER_URL
type: string
value: <- $chatwoot_helpcenter_url default("http://0.0.0.0:3000")
chatwoot-default-locale:
env: DEFAULT_LOCALE
type: string
value: <- $chatwoot_default_locale default("en")
chatwoot-asset-cdn:
env: ASSET_CDN_HOST
type: string
value: <- $chatwoot_asset_cdn default("")
chatwoot-force-ssl:
env: FORCE_SSL
type: string
value: <- $chatwoot_force_ssl default("false")
chatwoot-enable-account:
env: ENABLE_ACCOUNT_SIGNUP
type: string
value: <- $chatwoot_enable_account default("false")
chatwoot_redis_host:
type: string
value: <- connection-hostname("redis")
chatwoot_redis_url:
type: string
value: <- "redis://" $chatwoot_redis_host ":6379" concat-all
chatwoot-redis-url:
env: REDIS_URL
type: string
value: <- $chatwoot_redis_url
chatwoot-redis-password:
env: REDIS_PASSWORD
type: string
value: <- $chatwoot_redis_password default("")
chatwoot-redis-sentinels:
env: REDIS_SENTINELS
type: string
value: <- $chatwoot_redis_sentinels default("")
chatwoot-redis-sentinels-master:
env: REDIS_SENTINELS_MASTER
type: string
value: <- $chatwoot_redis_sentinels_master default("")
chatwoot-redis-sentinel-password:
env: REDIS_SENTINEL_PASSWORD
type: string
value: <- $chatwoot_redis_sentinel_password default("")
chatwoot-redis-openssl-verify:
env: REDIS_OPENSSL_VERIFY_MODE
type: string
value: <- $chatwoot_redis_openssl_verify default("")
chatwoot-database:
env: POSTGRES_DATABASE
type: string
value: <- $chatwoot_database default("chatwoot")
chatwoot-database-host:
env: POSTGRES_HOST
type: string
value: <- connection-hostname("database")
chatwoot-database-user:
env: POSTGRES_USERNAME
type: string
value: <- $chatwoot_database_user default("monk")
chatwoot-database-password:
env: POSTGRES_PASSWORD
type: string
value: <- $chatwoot_database_password default("monk")
chatwoot-rails-env:
env: RAILS_ENV
type: string
value: production
chatwoot-rails-max-threads:
env: RAILS_MAX_THREADS
type: string
value: <- $chatwoot_rails_max_threads default("5")
chatwoot-mail-sender:
env: MAILER_SENDER_EMAIL
type: string
value: <- $chatwoot_mail_sender default("Chatwoot <accounts@monk.io>")
chatwoot-smtp-domain:
env: SMTP_DOMAIN
type: string
value: <- $chatwoot_smtp_domain default("monk.io")
chatwoot-smtp-address:
env: SMTP_ADDRESS
type: string
value: <- $chatwoot_smtp_address default("mailhog")
chatwoot-smtp-user:
env: SMTP_USERNAME
type: string
value: <- $chatwoot_smtp_user default("")
chatwoot-smtp-password:
env: SMTP_PASSWORD
type: string
value: <- $chatwoot_smtp_password default("")
chatwoot-smtp-authentication:
env: SMTP_AUTHENTICATION
type: string
value: <- $chatwoot_smtp_authentication default("")
chatwoot-enable-starttls-auto:
env: SMTP_ENABLE_STARTTLS_AUTO
type: string
value: <- $chatwoot_enable_starttls_auto default("true")
chatwoot-openssl-verify:
env: SMTP_OPENSSL_VERIFY_MODE
type: string
value: <- $chatwoot_openssl_verify default("peer")
chatwoot-mailer-inbound-email-domain:
env: MAILER_INBOUND_EMAIL_DOMAIN
type: string
value: <- $chatwoot_mailer_inbound_email_domain default("")
chatwoot-rails-inbound-email-service:
env: RAILS_INBOUND_EMAIL_SERVICE
type: string
value: <- $chatwoot_rails_inbound_email_service default("")
chatwoot-rails-inbound-email-password:
env: RAILS_INBOUND_EMAIL_PASSWORD
type: string
value: <- $chatwoot_rails_inbound_email_password default("")
chatwoot-mailgun-ingress-api-key:
env: MAILGUN_INGRESS_API_KEY
type: string
value: <- $chatwoot_mailgun_ingress_api_key default("")
chatwoot-mandrill-ingress-api-key:
env: MANDRILL_INGRESS_API_KEY
type: string
value: <- $chatwoot_mandrill_ingress_api_key default("")
chatwoot-active-storage-service:
env: ACTIVE_STORAGE_SERVICE
type: string
value: <- $chatwoot_active_storage_service default("local")
chatwoot-s3-bucket-name:
env: S3_BUCKET_NAME
type: string
value: <- $chatwoot_s3_bucket_name default("")
chatwoot-aws-access-key-id:
env: AWS_ACCESS_KEY_ID
type: string
value: <- $chatwoot_aws_access_key_id default("")
chatwoot-aws-secret-access-key:
env: AWS_SECRET_ACCESS_KEY
type: string
value: <- $chatwoot_aws_secret_access_key default("")
chatwoot-aws-region:
env: AWS_REGION
type: string
value: <- $chatwoot_aws_region default("")
chatwoot-rails-log-to-stdout:
env: RAILS_LOG_TO_STDOUT
type: string
value: <- $chatwoot_rails_log_to_stdout default("true")
chatwoot-log-level:
env: LOG_LEVEL
type: string
value: <- $chatwoot_log_level default("info")
chatwoot-log-size:
env: LOG_SIZE
type: string
value: <- $chatwoot_log_size default("500")
chatwoot-fb-verify-token:
env: FB_VERIFY_TOKEN
type: string
value: <- $chatwoot_fb_verify_token default("")
chatwoot-fb-app-secret:
env: FB_APP_SECRET
type: string
value: <- $chatwoot_fb_app_secret default("")
chatwoot-fb-app-id:
env: FB_APP_ID
type: string
value: <- $chatwoot_fb_app_id default("")
chatwoot-ig-verify-token:
env: IG_VERIFY_TOKEN
type: string
value: <- $chatwoot_ig_verify_token default("")
chatwoot-twitter-app-id:
env: TWITTER_APP_ID
type: string
value: <- $chatwoot_twitter_app_id default("")
chatwoot-twitter-comsumer-key:
env: TWITTER_CONSUMER_KEY
type: string
value: <- $chatwoot_twitter_comsumer_key default("")
chatwoot-twitter-consumer-secret:
env: TWITTER_CONSUMER_SECRET
type: string
value: <- $chatwoot_twitter_consumer_secret default("")
chatwoot-twitter-env:
env: TWITTER_ENVIRONMENT
type: string
value: <- $chatwoot_twitter_env default("")
chatwoot-slack-client-id:
env: SLACK_CLIENT_ID
type: string
value: <- $chatwoot_slack_client_id default("")
chatwoot-slack-client-secret:
env: SLACK_CLIENT_SECRET
type: string
value: <- $chatwoot_slack_client_secret default("")
chatwoot-ios-app-id:
env: IOS_APP_ID
type: string
value: <- $chatwoot_ios_app_id default("L7YLMN4634.com.chatwoot.app")
chatwoot-android-bundle-id:
env: ANDROID_BUNDLE_ID
type: string
value: <- $chatwoot_android_bundle_id default("com.chatwoot.app")
chatwoot-android-sha256-cert-fingerprint:
env: ANDROID_SHA256_CERT_FINGERPRINT
type: string
value: <- $chatwoot_android_sha256_cert_fingerprint default("AC:73:8E:DE:EB:56:EA:CC:10:87:02:A7:65:37:7B:38:D4:5D:D4:53:F8:3B:FB:D3:C6:28:64:1D:AA:08:1E:D8")
chatwoot-use-inbox-avatar-forbot:
env: USE_INBOX_AVATAR_FOR_BOT
type: string
value: <- $chatwoot_use_inbox_avatar_forbot default("true")
chatwoot-ios-app-identifier:
env: IOS_APP_IDENTIFIER
type: string
value: <- $chatwoot_ios_app_identifier default("")
chatwoot-enable-push-relay-server:
env: ENABLE_PUSH_RELAY_SERVER
type: string
value: <- $chatwoot_enable_push_relay_server default("true")
chatwoot-stripe-secret-key:
env: STRIPE_SECRET_KEY
type: string
value: <- $chatwoot_stripe_secret_key default("")
chatwoot-stripe-webhook-secret:
env: STRIPE_WEBHOOK_SECRET
type: string
value: <- $chatwoot_stripe_webhook_secret default("")
chatwoot-direct-uploads-enabled:
env: DIRECT_UPLOADS_ENABLED
type: string
value: <- $chatwoot_direct_uploads_enabled default("true")
chatwoot-rails:
defines: runnable
inherits: chatwoot/chatwoot-common
containers:
rails:
image: chatwoot/chatwoot
entrypoint: docker/entrypoints/rails.sh
bash: bundle exec rails s -p 3000 -b 0.0.0.0
environment:
- NODE_ENV=production
- RAILS_ENV=production
- INSTALLATION_ENV=docker
actions:
prepare-db:
code: exec("rails", "/bin/sh", "-c", `/app/docker/entrypoints/rails.sh bundle exec rake db:chatwoot_prepare`)
description: Prepare database
services:
chatwoot:
port: 3000
container: rails
protocol: tcp
host-port: 3000
chatwoot-sidekiq:
defines: runnable
inherits: chatwoot/chatwoot-common
depends:
wait-for:
runnables:
- chatwoot/chatwoot-rds
timeout: 60
containers:
rails:
image: chatwoot/chatwoot
bash: <- `bundle exec sidekiq -C /config/sidekiq.yml`
files:
sidekiq-conf:
path: /config/sidekiq.yml
container: rails
contents: |
:verbose: false
:concurrency: 5
:timeout: 25
:queues:
- [low, 1]
- [scheduled_jobs, 1]
- [webhooks, 1]
- [bots, 1]
- [active_storage_analysis, 1]
- [action_mailbox_incineration, 1]
- [integrations, 2]
- [default, 2]
- [mailers, 2]
- [medium, 3]
- [events, 3]
- [action_mailbox_routing, 3]
- [high, 5]
- [critical, 10]
production:
:concurrency: 10
staging:
:concurrency: 5
chatwoot-db:
defines: runnable
metadata:
name: PostgreSQL
website: https://www.postgresql.org
source: https://github.com/postgres
publisher: monk.io
icon: https://www.postgresql.org/media/img/about/press/elephant.png
tags: frameworks, object-relational, indexing, data types, query optimization, postgresql, security, open-source, mvcc, community
description: |
PostgreSQL is a powerful open-source object-relational database management system (DBMS) that provides robustness, reliability, and performance to meet the demanding needs of enterprise-level applications. It was first released in 1989 and has since become one of the most popular and widely used relational databases in the world.
One of the key features of PostgreSQL is its flexibility, which allows it to be used in a wide range of applications, from small-scale projects to large, complex enterprise systems. It supports a wide range of data types, including arrays, hstore, and JSON, and provides advanced indexing and query optimization features to ensure fast and efficient data retrieval.
PostgreSQL also has a strong reputation for data security and integrity, with support for advanced security features like row-level security, data masking, and encryption. It also supports multi-version concurrency control (MVCC), which allows multiple transactions to access and modify data concurrently without interfering with each other.
In addition to its powerful features, PostgreSQL has a large and active community of developers and users who contribute to its development and provide support through forums, mailing lists, and other channels. It is available on multiple platforms, including Linux, Windows, and macOS, and can be used with a wide range of programming languages and frameworks, making it a versatile and reliable choice for database management in a wide range of applications.
license: PostgreSQL License
private: true
containers:
db:
image: postgres
services:
postgres:
port: 5432
container: db
protocol: tcp
variables:
database:
env: POSTGRES_DB
type: string
value: <- $chatwoot_database default("chatwoot")
user:
env: POSTGRES_USER
type: string
value: <- $chatwoot_database_user default("monk")
pass:
env: POSTGRES_PASSWORD
type: string
value: <- $chatwoot_database_password default("monk")
chatwoot-rds:
defines: runnable
metadata:
name: Redis
description: Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.
website: https://redis.io
publisher: monk.io
icon: https://cdn.icon-icons.com/icons2/2415/PNG/512/redis_original_wordmark_logo_icon_146369.png
source: https://github.com/redis/redis
license: BSD-3-Clause license
private: true
tags: data structures, high availability, persistence, in-memory database, redis, scalability, key-value store, caching, nosql, pub/sub, performance, memory optimization, replication, open source
version: 1.0
private: true
containers:
redis:
image: redis
bash: <- `redis-server --requirepass "${redis-password}"`
services:
redis:
port: 6379
container: redis
protocol: tcp
variables:
redis-password:
env: REDIS_PASSWORD
type: string
value: <- $chatwoot_redis_password default("")