diff --git a/docker/Dockerfile.heroku b/docker/Dockerfile.heroku index 7d09665f..e6deb1e9 100644 --- a/docker/Dockerfile.heroku +++ b/docker/Dockerfile.heroku @@ -1,82 +1 @@ -ARG PYTHON_VERSION="3.8.12-slim-buster" -ARG NODE_VERSION="16.14-buster-slim" -FROM node:${NODE_VERSION} AS frontend-builder - -COPY frontend/ /frontend/ -WORKDIR /frontend -ENV PUBLIC_PATH="/static/_nuxt/" -# hadolint ignore=DL3008 -RUN apt-get update \ - && apt-get install -y --no-install-recommends git python3 make g++ ca-certificates \ - && git config --global url."https://github.com/".insteadOf git://github.com/ \ - && yarn install \ - && yarn build \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -FROM python:${PYTHON_VERSION} AS backend-builder - -# hadolint ignore=DL3008 -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - netcat=1.* \ - libpq-dev=11.* \ - unixodbc-dev=2.* \ - g++=4:* \ - libssl-dev=1.* \ - curl \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -WORKDIR /tmp -COPY backend/pyproject.toml backend/poetry.lock /tmp/ -SHELL ["/bin/bash", "-o", "pipefail", "-c"] - -RUN pip install --no-cache-dir pip==22.0.4 \ - && curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - \ - && PATH="${PATH}:$HOME/.poetry/bin" \ - && poetry export --without-hashes -o /requirements.txt \ - && echo "psycopg2-binary==2.8.6" >> /requirements.txt \ - && echo "django-heroku==0.3.1" >> /requirements.txt \ - && pip install --no-cache-dir -r /requirements.txt - -FROM python:${PYTHON_VERSION} AS runtime - -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - libpq-dev=11.* \ - unixodbc-dev=2.* \ - libssl-dev=1.* \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -RUN useradd -ms /bin/sh doccano -RUN mkdir /data \ - && chown doccano:doccano /data - -COPY --from=backend-builder /usr/local/lib/python3.8/site-packages /usr/local/lib/python3.8/site-packages -COPY --from=backend-builder /usr/local/bin/celery /usr/local/bin/celery -COPY --from=backend-builder /usr/local/bin/gunicorn /usr/local/bin/gunicorn - -COPY --chown=doccano:doccano . /doccano -WORKDIR /doccano/backend -COPY --from=frontend-builder /frontend/dist /doccano/backend/client/dist -RUN python manage.py collectstatic --noinput \ - && chown -R doccano:doccano . - -VOLUME /data -ENV DATABASE_URL="sqlite:////data/doccano.db" - -ENV DEBUG="False" -ENV STANDALONE="True" -ENV SECRET_KEY="change-me-in-production" -ENV PORT="8000" -ENV WORKERS="2" -ENV CELERY_WORKERS="2" -ENV GOOGLE_TRACKING_ID="" -ENV DJANGO_SETTINGS_MODULE="config.settings.production" - -USER doccano -EXPOSE ${PORT} - -CMD ["/doccano/tools/run.sh"] +FROM doccano/doccano:fix-herokuDeploy