-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Expand file tree
/
Copy pathentrypoint.sh
More file actions
62 lines (54 loc) · 2.44 KB
/
Copy pathentrypoint.sh
File metadata and controls
62 lines (54 loc) · 2.44 KB
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
#!/usr/bin/env bash
set -e
if [ ! -f "$FARADAY_HOME/.faraday/config/server.ini" ]; then
if [ -z "$PGSQL_USER" ] || [ -z "$PGSQL_PASSWD" ] || [ -z "$PGSQL_HOST" ] || [ -z "$PGSQL_DBNAME" ] ; then
echo "$(date) Missing database configuration..."
exit 1
fi
CREATE_TABLES=1
CREATE_ADMIN=1
echo "$(date) Creating server.ini"
mkdir -p $FARADAY_HOME/.faraday/config
mkdir -p $FARADAY_HOME/.faraday/storage
mkdir -p $FARADAY_HOME/.faraday/logs
mkdir -p $FARADAY_HOME/.faraday/session
touch $FARADAY_HOME/.faraday/logs/alembic.log
cp /docker_server.ini $FARADAY_HOME/.faraday/config/server.ini
CONNECTION_STRING="connection_string = postgresql+psycopg2:\/\/$PGSQL_USER:$PGSQL_PASSWD@$PGSQL_HOST\/$PGSQL_DBNAME"
sed -i "s/connection_string = .*/$CONNECTION_STRING/" $FARADAY_HOME/.faraday/config/server.ini
if [ ! -z "$REDIS_SERVER" ]; then
REDIS_CELERY_BROKER_URL_STRING="celery_broker_url = $REDIS_SERVER"
sed -i "s/celery_broker_url = .*/$REDIS_CELERY_BROKER_URL_STRING/" $FARADAY_HOME/.faraday/config/server.ini
REDIS_CELERY_BACKEND_STRING="celery_backend_url = $REDIS_SERVER"
sed -i "s/celery_backend_url = .*/$REDIS_CELERY_BACKEND_STRING/" $FARADAY_HOME/.faraday/config/server.ini
REDIS_SESSION_STORAGE_STRING="redis_session_storage = $REDIS_SERVER"
sed -i "s/#redis_session_storage = .*/$REDIS_SESSION_STORAGE_STRING/" $FARADAY_HOME/.faraday/config/server.ini
fi
else
echo "$(date) Using existing server.ini"
CREATE_TABLES=0
CREATE_ADMIN=0
sleep 3
fi
if [ $CREATE_TABLES -eq 1 ]; then
echo "Waiting for postgres on $PGSQL_HOST"
while ! nc -z $PGSQL_HOST 5432; do
sleep 0.5
done
echo "$(date) Creating tables on database $PGSQL_DBNAME..."
faraday-manage create-tables
fi
if [ $CREATE_ADMIN -eq 1 ]; then
if [ -z "$FARADAY_PASSWORD" ]; then
FARADAY_PASSWORD=$(tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_{|}~' </dev/urandom |head -c 13 ; echo)
fi
echo "$(date) Creating superuser..."
faraday-manage create-superuser --username faraday --password $FARADAY_PASSWORD --email "user@email.com"
echo "Admin user created with username: faraday password: $FARADAY_PASSWORD"
fi
echo "Update swagger..."
faraday-manage openapi-swagger --server https://$FQDN
echo "$(date) Running migrations ..."
faraday-manage migrate
echo "$(date) Starting Faraday server with workers..."
faraday-server --with-workers --bind 0.0.0.0