diff --git a/.gitignore b/.gitignore index e8bac47aa..52baa1622 100644 --- a/.gitignore +++ b/.gitignore @@ -94,3 +94,4 @@ bower_components media whoosh/ postgres-data/ +data/ diff --git a/gen-env.py b/gen-env.py deleted file mode 100644 index 284825a84..000000000 --- a/gen-env.py +++ /dev/null @@ -1,40 +0,0 @@ -import os -import subprocess -from genkey import generate_secret - -key = None -if os.path.exists('data/secret.key'): - with open('data/secret.key', 'r') as f: - key = f.read() -else: - with open('data/secret.key', 'w') as f: - key = generate_secret() - f.write("%s" % key) - -with open("sapl/.env", "w") as f: - - DATABASE_URL = 'postgresql://sapl:sapl@sapldb:5432/sapl' - URL = os.environ['DATABASE_URL'] if 'DATABASE_URL' in os.environ else DATABASE_URL - - f.write("DATABASE_URL = %s\n" % URL) - f.write("SECRET_KEY = %s\n" % key) - - # TODO use template and dict? - f.write("DEBUG = False\n") - - f.write("EMAIL_USE_TLS = True\n") - - EMAIL_PORT = os.environ['EMAIL_PORT'] if 'EMAIL_PORT' in os.environ else '587' - f.write("EMAIL_PORT = %s\n" % EMAIL_PORT) - - EMAIL_HOST = os.environ['EMAIL_HOST'] if 'EMAIL_HOST' in os.environ else '' - f.write("EMAIL_HOST = %s\n" % EMAIL_HOST) - - EMAIL_HOST_USER = os.environ['EMAIL_HOST_USER'] if 'EMAIL_HOST_USER' in os.environ else '' - f.write("EMAIL_HOST_USER = %s\n" % EMAIL_HOST_USER) - - EMAIL_HOST_PASSWORD = os.environ['EMAIL_HOST_PASSWORD'] if 'EMAIL_HOST_PASSWORD' in os.environ else '' - f.write("EMAIL_HOST_PASSWORD = %s\n" % EMAIL_HOST_PASSWORD) - - -#subprocess.call("./start.sh") diff --git a/start.sh b/start.sh index 102fb4a04..335734742 100755 --- a/start.sh +++ b/start.sh @@ -1,6 +1,44 @@ #!/bin/sh -python3 gen-env.py + +create_env() { + # check if file exists + if [ ! -f "data/secret.key" ]; then + KEY=`cat data/secret.key` + else + KEY=`python3 genkey.py` + echo $KEY > data/secret.key + fi + + # TODO: rename env-test-bash to .env + FILENAME="sapl/.env" + + if [ -z "${DATABASE_URL:-}" ]; then + DATABASE_URL="postgresql://sapl:sapl@sapldb:5432/sapl" + fi + + # ALWAYS replace the content of .env variable + # If want to conditionally create only if absent then use IF below + # if [ ! -f $FILENAME ]; then + + touch $FILENAME + + # explicitly use '>' to erase any previous content + echo "SECRET_KEY="$KEY > $FILENAME + # now only appends + echo "DATABASE_URL = "$DATABASE_URL >> $FILENAME + echo "DEBUG = False" >> $FILENAME + echo "EMAIL_USE_TLS = True" >> $FILENAME + echo "EMAIL_PORT = 587" >> $FILENAME + echo "EMAIL_HOST = ""${EMAIL_HOST-''}" >> $FILENAME + echo "EMAIL_HOST_USER = ""${EMAIL_HOST_USER-''}" >> $FILENAME + echo "EMAIL_HOST_PASSWORD = ""${EMAIL_HOST_PASSWORD-''}" >> $FILENAME +} + +create_env + +# python3 gen-env.py + python3 manage.py bower install /bin/sh busy-wait.sh