aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile29
-rwxr-xr-xconf/entrypoint.sh (renamed from conf/confandrun.sh)23
2 files changed, 35 insertions, 17 deletions
diff --git a/Dockerfile b/Dockerfile
index 8f5e41e..5645a62 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,18 +1,7 @@
-FROM python:3.6-alpine
+FROM python:3.7-alpine
-RUN apk update && apk add gcc libc-dev libffi-dev openssl-dev &&\
- mkdir /ihatemoney &&\
- mkdir -p /etc/ihatemoney &&\
- pip install --no-cache-dir gunicorn pymysql
-
-COPY . /ihatemoney
-ARG INSTALL_FROM_PYPI="False"
-RUN if [ "$INSTALL_FROM_PYPI" = True ]; then\
- pip install --no-cache-dir ihatemoney ; else\
- pip install --no-cache-dir -e /ihatemoney ; \
- fi
-
-ENV DEBUG="False" \
+ENV NIGHTLY="" \
+ DEBUG="False" \
SQLALCHEMY_DATABASE_URI="sqlite:////database/ihatemoney.db" \
SQLALCHEMY_TRACK_MODIFICATIONS="False" \
SECRET_KEY="tralala" \
@@ -21,13 +10,19 @@ ENV DEBUG="False" \
MAIL_PORT=25 \
MAIL_USE_TLS=False \
MAIL_USE_SSL=False \
- MAIL_USERNAME=None \
- MAIL_PASSWORD=None \
+ MAIL_USERNAME= \
+ MAIL_PASSWORD= \
ACTIVATE_DEMO_PROJECT="True" \
ADMIN_PASSWORD="" \
ALLOW_PUBLIC_PROJECT_CREATION="True" \
ACTIVATE_ADMIN_DASHBOARD="False"
+RUN apk update && apk add git gcc libc-dev libffi-dev openssl-dev wget &&\
+ mkdir -p /etc/ihatemoney &&\
+ pip install --no-cache-dir gunicorn pymysql;
+
+COPY ./conf/entrypoint.sh /entrypoint.sh
+
VOLUME /database
EXPOSE 8000
-ENTRYPOINT ["/ihatemoney/conf/confandrun.sh"]
+ENTRYPOINT ["/entrypoint.sh"]
diff --git a/conf/confandrun.sh b/conf/entrypoint.sh
index b08bf97..07dcc63 100755
--- a/conf/confandrun.sh
+++ b/conf/entrypoint.sh
@@ -1,4 +1,8 @@
#!/bin/sh
+
+# Fail the whole script on the first failure.
+set -e
+
cat <<EOF > /etc/ihatemoney/ihatemoney.cfg
DEBUG = $DEBUG
SQLALCHEMY_DATABASE_URI = "$SQLALCHEMY_DATABASE_URI"
@@ -17,6 +21,25 @@ ADMIN_PASSWORD = '$ADMIN_PASSWORD'
ALLOW_PUBLIC_PROJECT_CREATION = $ALLOW_PUBLIC_PROJECT_CREATION
ACTIVATE_ADMIN_DASHBOARD = $ACTIVATE_ADMIN_DASHBOARD
EOF
+
+if [ ! -z "$NIGHTLY" ]; then
+ # Clone or update repository into /ihatemoney.
+ if [ ! -d /ihatemoney/.git ]; then
+ echo "Cloning..."
+ git clone --depth 1 https://github.com/spiral-project/ihatemoney /ihatemoney
+ echo "Done cloning."
+ else
+ cd /ihatemoney
+ echo "Updating..."
+ git pull || echo "Couldn't update; maybe Github is unreachable?"
+ echo "Done updating."
+ fi
+ pip install --no-cache-dir -e /ihatemoney
+else
+ # Get the latest release from PyPy.
+ pip install --no-cache-dir --upgrade ihatemoney
+fi
+
# Start gunicorn without forking
exec gunicorn ihatemoney.wsgi:application \
-b 0.0.0.0:8000 \