2022-07-08 19:33:07 +02:00
|
|
|
#!/bin/bash
|
|
|
|
declare -a ENV_VARS=("COUCHDB_USER" "COUCHDB_PASSWORD" "MINIO_ACCESS_KEY" "MINIO_SECRET_KEY" "INTERNAL_API_KEY" "JWT_SECRET" "REDIS_PASSWORD")
|
|
|
|
if [ -f "/data/.env" ]; then
|
|
|
|
export $(cat /data/.env | xargs)
|
|
|
|
fi
|
|
|
|
# first randomise any unset environment variables
|
|
|
|
for ENV_VAR in "${ENV_VARS[@]}"
|
|
|
|
do
|
|
|
|
temp=$(eval "echo \$$ENV_VAR")
|
|
|
|
if [[ -z "${temp}" ]]; then
|
|
|
|
eval "export $ENV_VAR=$(uuidgen | sed -e 's/-//g')"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if [[ -z "${COUCH_DB_URL}" ]]; then
|
|
|
|
export COUCH_DB_URL=http://$COUCHDB_USER:$COUCHDB_PASSWORD@localhost:5984
|
|
|
|
fi
|
|
|
|
if [ ! -f "/data/.env" ]; then
|
|
|
|
touch /data/.env
|
|
|
|
for ENV_VAR in "${ENV_VARS[@]}"
|
|
|
|
do
|
|
|
|
temp=$(eval "echo \$$ENV_VAR")
|
|
|
|
echo "$ENV_VAR=$temp" >> /data/.env
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
|
|
|
# make these directories in runner, incase of mount
|
2022-07-18 12:16:33 +02:00
|
|
|
mkdir -p /data/couch/{dbs,views} /home/couch/{dbs,views}
|
|
|
|
chown -R couchdb:couchdb /data/couch /home/couch
|
2022-04-01 02:00:52 +02:00
|
|
|
redis-server --requirepass $REDIS_PASSWORD &
|
|
|
|
/opt/clouseau/bin/clouseau &
|
2022-07-08 15:28:09 +02:00
|
|
|
/minio/minio server /data/minio &
|
2022-04-01 02:00:52 +02:00
|
|
|
/docker-entrypoint.sh /opt/couchdb/bin/couchdb &
|
2022-06-22 14:38:33 +02:00
|
|
|
/etc/init.d/nginx restart
|
|
|
|
if [[ ! -z "${CUSTOM_DOMAIN}" ]]; then
|
2022-06-22 14:57:46 +02:00
|
|
|
# Add monthly cron job to renew certbot certificate
|
|
|
|
echo -n "* * 2 * * root exec /app/letsencrypt/certificate-renew.sh ${CUSTOM_DOMAIN}" >> /etc/cron.d/certificate-renew
|
|
|
|
chmod +x /etc/cron.d/certificate-renew
|
|
|
|
# Request the certbot certificate
|
2022-06-22 14:38:33 +02:00
|
|
|
/app/letsencrypt/certificate-request.sh ${CUSTOM_DOMAIN}
|
|
|
|
fi
|
|
|
|
|
2022-04-01 02:00:52 +02:00
|
|
|
/etc/init.d/nginx restart
|
|
|
|
pushd app
|
|
|
|
pm2 start --name app "yarn run:docker"
|
|
|
|
popd
|
|
|
|
pushd worker
|
|
|
|
pm2 start --name worker "yarn run:docker"
|
|
|
|
popd
|
|
|
|
sleep 10
|
2022-06-22 14:38:33 +02:00
|
|
|
curl -X PUT ${COUCH_DB_URL}/_users
|
|
|
|
curl -X PUT ${COUCH_DB_URL}/_replicator
|
2022-06-22 15:38:45 +02:00
|
|
|
sleep infinity
|