blob: 7aa7ff6761c6762bd3602c1e3119e6847f2fdf4f (
plain)
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
|
captainVersion: 4
services:
$$cap_appname:
depends_on:
- $$cap_appname-db
environment:
DATABASE_URL: 'ecto://postgres:$$cap_postgres_password@srv-captain--$$cap_appname-db/postgres'
SECRET_KEY_BASE: $$cap_secret_key
BACKEND_URL: $$cap_appname.$$cap_root_domain
MIX_ENV: $$cap_mix_env
REACT_APP_URL: $$cap_appname.$$cap_root_domain
FROM_ADDRESS: $$cap_email_from_address
MAILGUN_API_KEY: $$cap_mailgun_api_key
DOMAIN: $$cap_email_from_domain
SLACK_BOT_ACCESS_TOKEN: $$cap_slack_bot_access_token
PAPERCUPS_SLACK_CLIENT_ID: $$cap_slack_client_id
PAPERCUPS_SLACK_CLIENT_SECRET: $$cap_slack_client_secret
SENTRY_DSN: $$cap_sentry_dsn
PAPERCUPS_STRIPE_SECRET: $$cap_stripe_secret
REACT_APP_GOOGLE_ANALYTICS_ID: $$cap_react_google_analytics_id
REACT_APP_SLACK_CLIENT_ID: $$cap_react_slack_client_id
REACT_APP_SENTRY_DSN: $$cap_react_sentry_dsn
REACT_APP_LOGROCKET_ID: $$cap_react_logrocket_id
REACT_APP_STRIPE_PUBLIC_KEY: $$cap_react_stripe_public_id
REACT_APP_FILE_UPLOADS_ENABLED: $$cap_upload_enabled
CUSTOMER_IO_SITE_ID: $$cap_customer_io_site_id
CUSTOMER_IO_API_KEY: $$cap_customer_io_api_key
AWS_ACCESS_KEY_ID: $$cap_aws_access_key_id
AWS_SECRET_ACCESS_KEY: $$cap_aws_secret_key
BUCKET_NAME: $$cap_aws_bucket
AWS_REGION: $$cap_aws_region
REQUIRE_DB_SSL: $$cap_db_require_ssl
caproverExtra:
containerHttpPort: '4000'
dockerfileLines:
- FROM papercups/papercups:$$cap_papercups_tag
- ENTRYPOINT sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && echo 'running' && /entrypoint.sh run"
$$cap_appname-db:
image: postgres:$$cap_postgres_tag
volume:
- '$$cap_appname-db-data:/var/lib/postgresql/data'
environment:
POSTGRES_PASSWORD: $$cap_postgres_password
caproverExtra:
notExposeAsWebApp: true
caproverOneClickApp:
variables:
- id: $$cap_papercups_tag
label: Papercups Tag
defaultValue: 1.1.0
description: 'Check out their docker page for the valid tags https://hub.docker.com/r/papercups/papercups/tags'
- id: $$cap_postgres_tag
label: Postgres Tag
defaultValue: 9.6-alpine
description: 'Check out their docker page for the valid tags https://hub.docker.com/_/postgres?tab=tags'
- id: $$cap_postgres_password
label: Postgres Password
defaultValue: $$cap_gen_random_hex(16)
- id: $$cap_secret_key
label: Papercups Secret Key
defaultValue: $$cap_gen_random_hex(64)
validRegex: /.{64,}/
description: 'Must be at least 64 bytes'
- id: $$cap_mix_env
label: Mix Env
defaultValue: prod
description: 'Learn more at https://hexdocs.pm/mix/Mix.html#module-environments'
- id: $$cap_upload_enabled
label: Enable Papercups Upload
defaultValue: 1
- id: $$cap_email_from_address
label: Email From Address
defaultValue: '[email protected]'
- id: $$cap_mailgun_api_key
label: Mailgun API Key
defaultValue: ''
- id: $$cap_email_from_domain
label: Email From Domain
defaultValue: '$$cap_appname.$$cap_root_domain'
- id: $$cap_slack_bot_access_token
label: Slack Bot Access Token
defaultValue: ''
- id: $$cap_slack_client_id
label: Slack Bot Client ID
defaultValue: ''
- id: $$cap_slack_client_secret
label: Slack Bot Client Secret
defaultValue: ''
- id: $$cap_sentry_dsn
label: Sentry DSN
defaultValue: ''
- id: $$cap_stripe_secret
label: Stripe Secret
defaultValue: ''
- id: $$cap_react_google_analytics_id
label: Google Analytics ID
defaultValue: ''
- id: $$cap_react_slack_client_id
label: Papercups's React Slack Client ID
defaultValue: ''
- id: $$cap_react_sentry_dsn
label: Papercups's React Sentry DSN
defaultValue: ''
- id: $$cap_react_logrocket_id
label: Papercups's React LogRocket ID
defaultValue: ''
- id: $$cap_react_stripe_public_id
label: Papercups's React Stripe Public ID
defaultValue: ''
- id: $$cap_customer_io_site_id
label: Customer.io Site ID
defaultValue: ''
- id: $$cap_customer_io_api_key
label: Customer.io API Key
defaultValue: ''
- id: $$cap_aws_access_key_id
label: AWS Access Key ID
defaultValue: ''
- id: $$cap_aws_secret_key
label: AWS Secret Key ID
defaultValue: ''
- id: $$cap_aws_bucket
label: AWS Bucket
defaultValue: ''
- id: $$cap_aws_region
label: AWS Region
defaultValue: ''
- id: $$cap_db_require_ssl
label: DB Require SSL
defaultValue: 'false'
instructions:
start: >-
Papercups is an open source live customer chat web app written in Elixir.
For more info visit https://papercups.io/
end: |-
Papercups has been successfully deployed!
--------------------------------------------
Before you proceed, you must:
1. Enable HTTPS
2. Enable Websocket Support
--------------------------------------------
App is available as http://$$cap_appname.$$cap_root_domain
displayName: Papercups
isOfficial: false
description: >-
Papercups is an open source live customer chat web app written in Elixir.
documentation: >-
This docker-compose is taken from https://github.com/papercups-io/papercups/blob/master/docker-compose.prod.yml
Papercups's example environment https://github.com/papercups-io/papercups/blob/master/.env.example
|