Skip to content

Commit 67ce848

Browse files
committed
feature: Added generate-compose script.
1 parent 43438bf commit 67ce848

File tree

3 files changed

+59
-2
lines changed

3 files changed

+59
-2
lines changed

.config

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#! /bin/bash
2+
3+
# Mandatory settings
4+
SETTING_EXTERNAL_HOST='localhost.localdomain'
5+
SETTING_ZULIP_ADMINISTRATOR='[email protected]'
6+
7+
# Optional secrets config
8+
POSTGRES_PASSWORD='REPLACE_WITH_SECURE_POSTGRES_PASSWORD'
9+
MEMCACHED_PASSWORD='REPLACE_WITH_SECURE_MEMCACHED_PASSWORD'
10+
RABBITMQ_DEFAULT_PASS='REPLACE_WITH_SECURE_RABBITMQ_PASSWORD'
11+
REDIS_PASSWORD='REPLACE_WITH_SECURE_REDIS_PASSWORD'
12+
SECRETS_secret_key='REPLACE_WITH_SECURE_SECRET_KEY'

docker-compose.yml docker-compose.yml.in

+2-2
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ services:
7676
SECRETS_memcached_password: 'REPLACE_WITH_SECURE_MEMCACHED_PASSWORD'
7777
SECRETS_redis_password: 'REPLACE_WITH_SECURE_REDIS_PASSWORD'
7878
SECRETS_secret_key: 'REPLACE_WITH_SECURE_SECRET_KEY'
79-
SETTING_EXTERNAL_HOST: 'localhost.localdomain'
80-
SETTING_ZULIP_ADMINISTRATOR: '[email protected]'
79+
SETTING_EXTERNAL_HOST: 'REPLACE_WITH_EXTERNAL_HOST'
80+
SETTING_ZULIP_ADMINISTRATOR: 'REPLACE_WITH_ADMIN_EMAIL'
8181
SETTING_EMAIL_HOST: '' # e.g. smtp.example.com
8282
SETTING_EMAIL_HOST_USER: '[email protected]'
8383
SETTING_EMAIL_PORT: '587'

scripts/generate-compose.sh

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#! /bin/bash
2+
source .config
3+
4+
compose=`cat ./docker-compose.yml.in`
5+
6+
compose="${compose//REPLACE_WITH_EXTERNAL_HOST/$SETTING_EXTERNAL_HOST}";
7+
compose="${compose//REPLACE_WITH_ADMIN_EMAIL/$SETTING_ZULIP_ADMINISTRATOR}";
8+
9+
if [ $POSTGRES_PASSWORD == "REPLACE_WITH_SECURE_POSTGRES_PASSWORD" ];
10+
then
11+
compose="${compose//REPLACE_WITH_SECURE_POSTGRES_PASSWORD/$(tr -dc 'abcdef1234567890' </dev/urandom | head -c 32 ; echo)}";
12+
else
13+
compose="${compose//REPLACE_WITH_SECURE_POSTGRES_PASSWORD/$POSTGRES_PASSWORD}";
14+
fi;
15+
16+
if [ $MEMCACHED_PASSWORD == "REPLACE_WITH_SECURE_MEMCACHED_PASSWORD" ];
17+
then
18+
compose="${compose//REPLACE_WITH_SECURE_MEMCACHED_PASSWORD/$(tr -dc 'abcdef1234567890' </dev/urandom | head -c 32 ; echo)}";
19+
else
20+
compose="${compose//REPLACE_WITH_SECURE_MEMCACHED_PASSWORD/$MEMCACHED_PASSWORD}";
21+
fi;
22+
23+
if [ $RABBITMQ_DEFAULT_PASS == "REPLACE_WITH_SECURE_RABBITMQ_PASSWORD" ];
24+
then
25+
compose="${compose//REPLACE_WITH_SECURE_RABBITMQ_PASSWORD/$(tr -dc 'abcdef1234567890' </dev/urandom | head -c 32 ; echo)}";
26+
else
27+
compose="${compose//REPLACE_WITH_SECURE_RABBITMQ_PASSWORD/$RABBITMQ_DEFAULT_PASS}";
28+
fi;
29+
30+
if [ $REDIS_PASSWORD == "REPLACE_WITH_SECURE_REDIS_PASSWORD" ];
31+
then
32+
compose="${compose//REPLACE_WITH_SECURE_REDIS_PASSWORD/$(tr -dc 'abcdef1234567890' </dev/urandom | head -c 32 ; echo)}";
33+
else
34+
compose="${compose//REPLACE_WITH_SECURE_REDIS_PASSWORD/$REDIS_PASSWORD}";
35+
fi;
36+
37+
if [ $SECRETS_secret_key == "REPLACE_WITH_SECURE_SECRET_KEY" ];
38+
then
39+
compose="${compose//REPLACE_WITH_SECURE_SECRET_KEY/$(tr -dc 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' </dev/urandom | head -c 64 ; echo)}";
40+
else
41+
compose="${compose//REPLACE_WITH_SECURE_SECRET_KEY/$SECRETS_secret_key}";
42+
fi;
43+
44+
45+
echo "$compose" > "docker-compose.yml"

0 commit comments

Comments
 (0)