diff --git a/Dockerfile b/Dockerfile index 150c6eaf..0618243f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,15 @@ FROM python:3.8-buster RUN set -e \ && apt-get update \ && apt-get install -y --no-install-recommends sqlite3 \ + && apt-get install -y gosu \ && apt-get clean && rm -rf /var/lib/apt/lists/* +ARG USER_NAME=liquid +ARG UID=666 +ARG GID=666 +RUN groupadd -g $GID -o $USER_NAME +RUN useradd -m -u $UID -g $GID -o -s /bin/bash $USER_NAME + RUN mkdir -p /app WORKDIR /app @@ -15,10 +22,19 @@ RUN set -e \ ADD liquidcore ./liquidcore ADD manage.py dockercmd ./ +ADD docker-entrypoint.sh ./ ENV PYTHONUNBUFFERED 1 + +ENV DATA_DIR "/app/var" +ENV USER_NAME $USER_NAME +ENV UID $UID +ENV GID $GID + VOLUME /app/var RUN SECRET_KEY=x ./manage.py collectstatic -CMD ./dockercmd +ENTRYPOINT ["/app/docker-entrypoint.sh"] + +CMD /app/dockercmd diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100755 index 00000000..e7515698 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/bash -ex + +./manage.py initialize + +chown -R $UID:$GID $DATA_DIR + +gosu $USER_NAME ./manage.py migrate + +exec gosu $USER_NAME "$@" diff --git a/dockercmd b/dockercmd index dc798aba..4cc795cd 100755 --- a/dockercmd +++ b/dockercmd @@ -1,5 +1,3 @@ #!/bin/bash -ex -./manage.py initialize -# exec ./manage.py runserver 0.0.0.0:8000 exec waitress-serve --port 8000 liquidcore.site.wsgi:application