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
|
captainVersion: 4
services:
$$cap_appname:
caproverExtra:
containerHttpPort: 5000
dockerfileLines:
- FROM redash/redash:$$cap_REDASH_VERSION
- CMD ["server"]
environment:
REDASH_WEB_WORKERS: $$cap_REDASH_WEB_WORKERS
REDASH_HOST: http://$$cap_appname.$$cap_root_domain
REDASH_COOKIE_SECRET: $$cap_REDASH_COOKIE_SECRET
REDASH_SECRET_KEY: $$cap_REDASH_SECRET_KEY
REDASH_MAIL_SERVER: $$cap_REDASH_MAIL_SERVER
REDASH_MAIL_PORT: $$cap_REDASH_MAIL_PORT
REDASH_MAIL_USE_TLS: $$cap_REDASH_MAIL_USE_TLS
REDASH_MAIL_USE_SSL: $$cap_REDASH_MAIL_USE_SSL
REDASH_MAIL_USERNAME: $$cap_REDASH_MAIL_USERNAME
REDASH_MAIL_PASSWORD: $$cap_REDASH_MAIL_PASSWORD
REDASH_MAIL_DEFAULT_SENDER: $$cap_REDASH_MAIL_DEFAULT_SENDER
REDASH_REDIS_URL: redis://srv-captain--$$cap_appname-queue
REDASH_DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB
depends_on:
- $$cap_appname-db
- $$cap_appname-queue
$$cap_appname-scheduler:
caproverExtra:
notExposeAsWebApp: 'true'
dockerfileLines:
- FROM redash/redash:$$cap_REDASH_VERSION
- CMD ["scheduler"]
environment:
QUEUES: celery
WORKERS_COUNT: $$cap_REDASH_SCHEDULER_WORKERS
REDASH_COOKIE_SECRET: $$cap_REDASH_COOKIE_SECRET
REDASH_REDIS_URL: redis://srv-captain--$$cap_appname-queue
depends_on:
- $$cap_appname-db
- $$cap_appname-queue
$$cap_appname-scheduled-worker:
caproverExtra:
notExposeAsWebApp: 'true'
dockerfileLines:
- FROM redash/redash:$$cap_REDASH_VERSION
- CMD ["worker"]
environment:
QUEUES: scheduled_queries,schemas
WORKERS_COUNT: $$cap_REDASH_SCHEDULED_WORKERS
REDASH_COOKIE_SECRET: $$cap_REDASH_COOKIE_SECRET
REDASH_REDIS_URL: redis://srv-captain--$$cap_appname-queue
depends_on:
- $$cap_appname-db
- $$cap_appname-queue
$$cap_appname-adhoc-worker:
caproverExtra:
notExposeAsWebApp: 'true'
dockerfileLines:
- FROM redash/redash:$$cap_REDASH_VERSION
- CMD ["worker"]
environment:
QUEUES: queries
WORKERS_COUNT: $$cap_REDASH_ADHOC_WORKERS
REDASH_COOKIE_SECRET: $$cap_REDASH_COOKIE_SECRET
REDASH_REDIS_URL: redis://srv-captain--$$cap_appname-queue
depends_on:
- $$cap_appname-db
- $$cap_appname-queue
$$cap_appname-queue:
caproverExtra:
notExposeAsWebApp: 'true'
image: redis:$$cap_REDIS_VERSION
$$cap_appname-db:
caproverExtra:
notExposeAsWebApp: 'true'
image: postgres:$$cap_POSTGRES_VERSION
environment:
POSTGRES_DB: $$cap_POSTGRES_DB
POSTGRES_USER: $$cap_POSTGRES_USER
POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD
volumes:
- $$cap_appname-db:/var/lib/postgresql/data
caproverOneClickApp:
displayName: Redash
description: Connect to any data source, easily visualize and share your data
documentation: https://redash.io/help
isOfficial: true
instructions:
start: |-
Redash helps you make sense of your data.
Connect and query your data sources, build dashboards to visualize data and share them with your company.
**You will need access to your server via SSH to perform a command after deployment. This needs to be done only once.**
end: |-
Redash has been successfully deployed! It might take few moments before it's fully started.
Please execute the following command on your server in order to trigger database migrations:
`docker exec -it $(docker ps --filter name=srv-captain--$$cap_appname -q) sh -c "/app/bin/docker-entrypoint create_db"`
You can access your Redash instance at `http://$$cap_appname.$$cap_root_domain`.
variables:
- id: $$cap_REDASH_VERSION
label: Application | Version
description: Redash version. Check out their valid tags at https://hub.docker.com/r/redash/redash/tags
defaultValue: '10.1.0.b50633'
validRegex: /.{1,}/
- id: $$cap_REDASH_WEB_WORKERS
label: Application | Web Worker Count
description: Amount of web workers.
defaultValue: 4
validRegex: /.{1,}/
- id: $$cap_REDASH_SCHEDULER_WORKERS
label: Application | Scheduler Worker Count
description: Amount of workers for scheduler.
defaultValue: 1
validRegex: /.{1,}/
- id: $$cap_REDASH_SCHEDULED_WORKERS
label: Application | Scheduled Worker Count
description: Amount of scheduled workers.
defaultValue: 1
validRegex: /.{1,}/
- id: $$cap_REDASH_ADHOC_WORKERS
label: Application | Ad-Hoc Worker Count
description: Amount of ad-hoc workers.
defaultValue: 2
validRegex: /.{1,}/
- id: $$cap_REDASH_COOKIE_SECRET
label: Application | Cookie Secret
description: Secret for signing cookies.
defaultValue: $$cap_gen_random_hex(64)
validRegex: /.{1,}/
- id: $$cap_REDASH_SECRET_KEY
label: Application | Application Secret
description: Secret for encrypting settings.
defaultValue: $$cap_gen_random_hex(64)
validRegex: /.{1,}/
- id: $$cap_REDASH_MAIL_SERVER
label: Application | SMTP Host
description: SMTP server for system mail delivery. This is optional.
- id: $$cap_REDASH_MAIL_PORT
label: Application | SMTP Port
description: SMTP port for system mail delivery.
defaultValue: 25
validRegex: /.{1,}/
- id: $$cap_REDASH_MAIL_USERNAME
label: Application | SMTP Username
description: SMTP user name for system mail delivery. This is optional.
- id: $$cap_REDASH_MAIL_PASSWORD
label: Application | SMTP Password
description: SMTP password for system mail delivery. This is optional.
- id: $$cap_REDASH_MAIL_DEFAULT_SENDER
label: Application | SMTP Default Sender
description: Mail address to send from. This is optional.
- id: $$cap_REDASH_MAIL_USE_TLS
label: Application | SMTP Use TLS
description: Whether to use TLS for system mail delivery through SMTP.
defaultValue: 'false'
validRegex: /^(true|false)$/
- id: $$cap_REDASH_MAIL_USE_SSL
label: Application | SMTP Use SSL
description: Whether to use SSL for system mail delivery through SMTP.
defaultValue: 'false'
validRegex: /^(true|false)$/
- id: $$cap_REDIS_VERSION
label: Queue | Version
description: Redis version. Check out their valid tags at https://hub.docker.com/_/redis/tags
defaultValue: '7.0-alpine'
validRegex: /.{1,}/
- id: $$cap_POSTGRES_VERSION
label: Database | Version
description: PostgreSQL version. Check out their valid tags at https://hub.docker.com/_/postgres/tags
defaultValue: '15.0-alpine'
validRegex: /.{1,}/
- id: $$cap_POSTGRES_DB
label: Database | Name
description: Name of the PostgreSQL database.
defaultValue: redash
validRegex: /.{1,}/
- id: $$cap_POSTGRES_USER
label: Database | User Name
description: Name of the PostgreSQL user.
defaultValue: redash
validRegex: /.{1,}/
- id: $$cap_POSTGRES_PASSWORD
label: Database | User Password
description: Password of the PostgreSQL user.
defaultValue: $$cap_gen_random_hex(16)
validRegex: /.{1,}/
|