|
|
@ -0,0 +1,54 @@ |
|
|
|
ARG BUILD_DATE="" |
|
|
|
ARG ARCH=amd64 |
|
|
|
ARG PYTHON_VERSION=3 |
|
|
|
|
|
|
|
|
|
|
|
# First stage |
|
|
|
FROM docker.io/${ARCH}/python:${PYTHON_VERSION}-alpine3.8 as builder |
|
|
|
|
|
|
|
# Install deps |
|
|
|
COPY requirements.txt /tmp |
|
|
|
|
|
|
|
RUN apk add --no-cache \ |
|
|
|
build-base \ |
|
|
|
postgresql-dev \ |
|
|
|
linux-headers |
|
|
|
|
|
|
|
RUN pip install --prefix="/install" --no-warn-script-location -r /tmp/requirements.txt \ |
|
|
|
braintree \ |
|
|
|
uWSGI |
|
|
|
|
|
|
|
|
|
|
|
## Second stage |
|
|
|
FROM docker.io/${ARCH}/python:${PYTHON_VERSION}-alpine3.8 |
|
|
|
|
|
|
|
ENV DEBUG False |
|
|
|
ENV DB_NAME /data/hc.sqlite |
|
|
|
|
|
|
|
RUN apk add --no-cache libpq \ |
|
|
|
mailcap |
|
|
|
|
|
|
|
RUN addgroup -g 900 -S healthchecks && \ |
|
|
|
adduser -u 900 -S healthchecks -G healthchecks |
|
|
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
COPY --from=builder /install /usr/local |
|
|
|
COPY . . |
|
|
|
|
|
|
|
RUN ./manage.py collectstatic --noinput && \ |
|
|
|
./manage.py compress |
|
|
|
|
|
|
|
RUN mkdir /data && chown healthchecks:healthchecks /data |
|
|
|
|
|
|
|
VOLUME /data |
|
|
|
|
|
|
|
USER healthchecks |
|
|
|
|
|
|
|
EXPOSE 8000/tcp |
|
|
|
|
|
|
|
ARG SYNAPSE_VERSION |
|
|
|
ARG PYTHON_VERSION |
|
|
|
ARG BUILD_DATE |
|
|
|
|
|
|
|
CMD ["uwsgi", "--enable-threads", "uwsgi.ini"] |