diff --git a/docker/Dockerfile b/docker/Dockerfile index 32eea72b81..c9fa36c609 100755 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -22,6 +22,7 @@ RUN set -x \ && DEBIAN_FRONTEND=noninteractive \ apt-get update \ && apt-get install -y --no-install-recommends \ + ca-certificates \ exiftool \ ghostscript \ gpgv \ @@ -29,11 +30,11 @@ apt-get update \ graphviz \ libfuse2 \ libmagic1 \ - libmmariadb3 \ + libmariadb3 \ libreoffice \ libpq5 \ poppler-utils \ - redis-server \ + python3-distutils \ sane-utils \ sudo \ supervisor \ @@ -52,22 +53,20 @@ apt-get update \ && if [ "$(uname -m)" = "armv7l" ]; then \ ln -s /usr/lib/arm-linux-gnueabihf/libz.so /usr/lib/ \ && ln -s /usr/lib/arm-linux-gnueabihf/libjpeg.so /usr/lib/ \ -; fi \ -# Discard data when Redis runs out of memory -&& echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf \ -# Disable saving the Redis database -echo "save \"\"" >> /etc/redis/redis.conf \ -# Only provision 1 database -&& echo "databases 1" >> /etc/redis/redis.conf - +; fi #### -# BUILDER_IMAGE - This image buildS the Python package and is discarded afterwards +# BUILDER_IMAGE - This image builds the Python package and is discarded afterwards +# only the build artifact is carried over to the next image. #### # Reuse image FROM BASE_IMAGE as BUILDER_IMAGE +# Python libraries caching +ARG PIP_INDEX_URL +ARG PIP_TRUSTED_HOST + WORKDIR /src # Copy the source files needed to build the Python package @@ -110,6 +109,7 @@ RUN python3 -m venv "${PROJECT_INSTALL_DIR}" \ mysqlclient==1.4.2.post1 \ psycopg2==2.8.3 \ redis==3.2.1 \ + flower==0.9.3 \ # psutil is needed by ARM builds otherwise gevent and gunicorn fail to start && UNAME=`uname -m` && if [ "${UNAME#*arm}" != $UNAME ]; then \ pip install --no-cache-dir \ @@ -118,7 +118,7 @@ RUN python3 -m venv "${PROJECT_INSTALL_DIR}" \ # Install the Python packages needed to build Mayan EDMS && pip install --no-cache-dir -r /src/requirements/build.txt \ # Build Mayan EDMS -&& python setup.py sdist \ +&& python3 setup.py sdist \ # Install the built Mayan EDMS package && pip install --no-cache-dir dist/mayan* \ # Install the static content @@ -128,7 +128,7 @@ RUN python3 -m venv "${PROJECT_INSTALL_DIR}" \ COPY --chown=mayan:mayan requirements/testing-base.txt "${PROJECT_INSTALL_DIR}" #### -# Final image - BASE_IMAGE + Mayan install directory from the builder image +# Final image - BASE_IMAGE + BUILDER_IMAGE artifact (Mayan install directory) #### FROM BASE_IMAGE diff --git a/docker/docker-compose-development.yml b/docker/docker-compose-development.yml deleted file mode 100755 index 48c71afe26..0000000000 --- a/docker/docker-compose-development.yml +++ /dev/null @@ -1,72 +0,0 @@ -version: '2.1' - -volumes: - broker: - driver: local - app: - driver: local - db: - driver: local - results: - driver: local - -services: - broker: - container_name: mayan-edms-broker - image: healthcheck/rabbitmq - environment: - RABBITMQ_DEFAULT_USER: mayan - RABBITMQ_DEFAULT_PASS: mayan - RABBITMQ_DEFAULT_VHOST: mayan - volumes: - - broker:/var/lib/rabbitmq - results: - container_name: mayan-edms-results - image: healthcheck/redis - volumes: - - results:/data - #db: - # container_name: mayan-edms-db - # image: healthcheck/mysql - # environment: - # MYSQL_DATABASE: mayan - # MYSQL_PASSWORD: mayan-password - # MYSQL_ROOT_PASSWORD: root-password - # MYSQL_USER: mayan - # volumes: - # - db:/var/lib/mysql - db: - container_name: mayan-edms-db - image: healthcheck/postgres - environment: - POSTGRES_DB: mayan - POSTGRES_PASSWORD: mayan-password - POSTGRES_USER: mayan - volumes: - - db:/var/lib/postgresql/data - mayan-edms: - container_name: mayan-edms-app - image: mayan-edms/next - build: - context: ./ - args: - - APT_PROXY=172.18.0.1:3142 - depends_on: - broker: - condition: service_healthy - db: - condition: service_healthy - results: - condition: service_healthy - environment: - MAYAN_BROKER_URL: amqp://mayan:mayan@broker:5672/mayan - MAYAN_CELERY_RESULT_BACKEND: redis://results:6379/0 - MAYAN_DATABASE_ENGINE: django.db.backends.postgresql - MAYAN_DATABASE_HOST: db - MAYAN_DATABASE_NAME: mayan - MAYAN_DATABASE_PASSWORD: mayan-password - MAYAN_DATABASE_USER: mayan - ports: - - "80:80" - volumes: - - app:/var/lib/mayan diff --git a/docker/rootfs/usr/local/bin/run-tests.sh b/docker/rootfs/usr/local/bin/run_tests.sh similarity index 100% rename from docker/rootfs/usr/local/bin/run-tests.sh rename to docker/rootfs/usr/local/bin/run_tests.sh