diff --git a/apps/cic-eth/docker/Dockerfile b/apps/cic-eth/docker/Dockerfile index 7e117c63..2404c5e7 100644 --- a/apps/cic-eth/docker/Dockerfile +++ b/apps/cic-eth/docker/Dockerfile @@ -13,11 +13,17 @@ ARG GITLAB_PYTHON_REGISTRY="https://gitlab.com/api/v4/projects/27624814/packages # --force-reinstall \ # --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL \ # -r requirements.txt - -COPY . . +COPY *requirements.txt . RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ pip install --index-url https://pypi.org/simple \ - --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL . + --extra-index-url $GITLAB_PYTHON_REGISTRY \ + --extra-index-url $EXTRA_INDEX_URL \ + -r requirements.txt \ + -r services_requirements.txt \ + -r admin_requirements.txt + +COPY . . +RUN python setup.py install ENV PYTHONPATH . @@ -35,30 +41,31 @@ COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/ #COPY util/liveness/health.sh /usr/local/bin/health.sh ENTRYPOINT [] -# --- RUNTIME --- -FROM python:3.8.6-slim-buster as runtime - -RUN apt-get update && \ - apt install -y gnupg libpq-dev procps - -WORKDIR /usr/src/cic-eth - -COPY --from=dev /usr/local/bin/ /usr/local/bin/ -COPY --from=dev /usr/local/lib/python3.8/site-packages/ \ - /usr/local/lib/python3.8/site-packages/ - -COPY docker/entrypoints/* ./ -RUN chmod 755 *.sh - -# # ini files in config directory defines the configurable parameters for the application -# # they can all be overridden by environment variables -# # to generate a list of environment variables from configuration, use: confini-dump -z (executable provided by confini package) -COPY config/ /usr/local/etc/cic-eth/ -COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/ -COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/ - -# TODO this kind of code sharing across projects should be discouraged...can we make util a library? -#COPY util/liveness/health.sh /usr/local/bin/health.sh - -ENTRYPOINT [] +## ------------------ PRODUCTION CONTAINER ---------------------- +#FROM python:3.8.6-slim-buster as prod +# +#RUN apt-get update && \ +# apt install -y gnupg libpq-dev procps +# +#WORKDIR /root +# +#COPY --from=dev /usr/local/bin/ /usr/local/bin/ +#COPY --from=dev /usr/local/lib/python3.8/site-packages/ \ +# /usr/local/lib/python3.8/site-packages/ +# +#COPY docker/entrypoints/* ./ +#RUN chmod 755 *.sh +# +## # ini files in config directory defines the configurable parameters for the application +## # they can all be overridden by environment variables +## # to generate a list of environment variables from configuration, use: confini-dump -z (executable provided by confini package) +#COPY config/ /usr/local/etc/cic-eth/ +#COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/ +#COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/ +#COPY scripts/ scripts/ +# +## TODO this kind of code sharing across projects should be discouraged...can we make util a library? +##COPY util/liveness/health.sh /usr/local/bin/health.sh +# +#ENTRYPOINT [] diff --git a/apps/cic-eth/docker/Dockerfile_ci b/apps/cic-eth/docker/Dockerfile_ci index cbdb7fb0..89efdcc6 100644 --- a/apps/cic-eth/docker/Dockerfile_ci +++ b/apps/cic-eth/docker/Dockerfile_ci @@ -14,10 +14,16 @@ ARG GITLAB_PYTHON_REGISTRY="https://gitlab.com/api/v4/projects/27624814/packages # --force-reinstall \ # --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL \ # -r requirements.txt - -COPY . . +COPY *requirements.txt . RUN pip install --index-url https://pypi.org/simple \ - --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL . + --extra-index-url $GITLAB_PYTHON_REGISTRY \ + --extra-index-url $EXTRA_INDEX_URL \ + -r requirements.txt \ + -r services_requirements.txt \ + -r admin_requirements.txt + +COPY . . +RUN python setup.py install COPY docker/entrypoints/* ./ RUN chmod 755 *.sh @@ -33,30 +39,31 @@ COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/ #COPY util/liveness/health.sh /usr/local/bin/health.sh ENTRYPOINT [] -# --- RUNTIME --- -FROM python:3.8.6-slim-buster as runtime - -RUN apt-get update && \ - apt install -y gnupg libpq-dev procps - -WORKDIR /usr/src/cic-eth - -COPY --from=dev /usr/local/bin/ /usr/local/bin/ -COPY --from=dev /usr/local/lib/python3.8/site-packages/ \ - /usr/local/lib/python3.8/site-packages/ - -COPY docker/entrypoints/* ./ -RUN chmod 755 *.sh - -# # ini files in config directory defines the configurable parameters for the application -# # they can all be overridden by environment variables -# # to generate a list of environment variables from configuration, use: confini-dump -z (executable provided by confini package) -COPY config/ /usr/local/etc/cic-eth/ -COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/ -COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/ - -# TODO this kind of code sharing across projects should be discouraged...can we make util a library? -#COPY util/liveness/health.sh /usr/local/bin/health.sh - -ENTRYPOINT [] - +# ------------------ PRODUCTION CONTAINER ---------------------- +#FROM python:3.8.6-slim-buster as prod +# +#RUN apt-get update && \ +# apt install -y gnupg libpq-dev procps +# +#WORKDIR /root +# +#COPY --from=dev /usr/local/bin/ /usr/local/bin/ +#COPY --from=dev /usr/local/lib/python3.8/site-packages/ \ +# /usr/local/lib/python3.8/site-packages/ +# +#COPY docker/entrypoints/* ./ +#RUN chmod 755 *.sh +# +## # ini files in config directory defines the configurable parameters for the application +## # they can all be overridden by environment variables +## # to generate a list of environment variables from configuration, use: confini-dump -z (executable provided by confini package) +#COPY config/ /usr/local/etc/cic-eth/ +#COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/ +#COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/ +#COPY scripts/ scripts/ +# +## TODO this kind of code sharing across projects should be discouraged...can we make util a library? +##COPY util/liveness/health.sh /usr/local/bin/health.sh +# +#ENTRYPOINT [] +#