#!make include config.env HOST_IP = `/sbin/ip route|awk '/docker0/ { print $$9 }'` APT_PROXY ?= $(HOST_IP):3142 CONSOLE_COLUMNS ?= `echo $$(tput cols)` CONSOLE_LINES ?= `echo $$(tput lines)` IMAGE_VERSION ?= `cat docker/rootfs/version` PIP_INDEX_URL ?= http://$(HOST_IP):3141/root/pypi/+simple/ PIP_TRUSTED_HOST ?= $(HOST_IP) docker-build: ## Build a new image locally. docker build -t mayanedms/mayanedms:$(IMAGE_VERSION) -f docker/Dockerfile . docker-build-with-proxy: ## Build a new image locally using an APT proxy as APT_PROXY. docker build -t mayanedms/mayanedms:$(IMAGE_VERSION) -f docker/Dockerfile --build-arg APT_PROXY=$(APT_PROXY) --build-arg PIP_INDEX_URL=$(PIP_INDEX_URL) --build-arg PIP_TRUSTED_HOST=$(PIP_TRUSTED_HOST) --build-arg HTTP_PROXY=$(HTTP_PROXY) --build-arg HTTPS_PROXY=$(HTTPS_PROXY) . docker-shell: ## Launch a bash instance inside a running container. Pass the container name via DOCKER_CONTAINER. docker exec -e TERM=$(TERM) -e "COLUMNS=$(CONSOLE_COLUMNS)" -e "LINES=$(CONSOLE_LINES)" -it $(DOCKER_CONTAINER) /bin/bash docker-runtest-container: ## Run a test container. docker-runtest-container: docker-test-cleanup docker run \ -d \ --name test-mayan-edms \ -p 80:8000 \ -v test-mayan_data:/var/lib/mayan \ mayanedms/mayanedms:$(IMAGE_VERSION) docker-runtest-cleanup: ## Delete the test container and the test volume. @docker rm -f test-mayan-edms || true @docker volume rm test-mayan_data || true docker-runtest-all: ## Executed the test suite in a test container. docker run --rm run-tests docker-compose-build: docker-compose -f docker/docker-compose.yml -p mayan-edms build docker-compose-build-with-proxy: docker-compose -f docker/docker-compose.yml -p mayan-edms build --build-arg APT_PROXY=$(APT_PROXY) --build-arg PIP_INDEX_URL=$(PIP_INDEX_URL) --build-arg PIP_TRUSTED_HOST=$(PIP_TRUSTED_HOST) --build-arg HTTP_PROXY=$(HTTP_PROXY) --build-arg HTTPS_PROXY=$(HTTPS_PROXY) docker-compose-up: docker-compose -f docker/docker-compose.yml -p mayan-edms up docker-staging-network-create: @docker network rm mayan-staging || true docker network create mayan-staging docker-staging-container-postgresql-start: docker run \ -d \ --name mayan-staging-postgres \ --network=mayan-staging \ -e POSTGRES_USER=mayan \ -e POSTGRES_DB=mayan \ -e POSTGRES_PASSWORD=mayanuserpass \ -v mayan-staging-postgres:/var/lib/postgresql/data \ $(DOCKER_POSTGRES_IMAGE_VERSION) docker-staging-container-redis-start: docker run \ -d \ --name mayan-staging-redis \ --network=mayan-staging \ $(DOCKER_REDIS_IMAGE_VERSION) \ redis-server \ --databases \ "2" \ --maxmemory-policy \ allkeys-lru \ --save \ "" docker-staging-container-mayan-start: docker run \ -d \ --name mayan-staging-app \ --network=mayan-staging \ -p 80:8000 \ -e MAYAN_DATABASE_ENGINE=django.db.backends.postgresql \ -e MAYAN_DATABASE_HOST=mayan-staging-postgres \ -e MAYAN_DATABASE_NAME=mayan \ -e MAYAN_DATABASE_PASSWORD=mayanuserpass \ -e MAYAN_DATABASE_USER=mayan \ -e MAYAN_BROKER_URL="redis://mayan-staging-redis:6379/0" \ -e MAYAN_CELERY_RESULT_BACKEND="redis://mayan-staging-redis:6379/1" \ -v mayan-staging-app:/var/lib/mayan \ mayanedms/mayanedms:$(IMAGE_VERSION) docker-staging-start: docker-staging-network-create docker-staging-container-postgresql-start docker-staging-container-redis-start docker-staging-container-mayan-start docker logs -f mayan-staging-app docker-staging-cleanup: ## Delete the test container and the test volume. @docker rm -f mayan-staging-app || true @docker rm -f mayan-staging-redis || true @docker rm -f mayan-staging-postgres || true @docker volume rm mayan-staging-app || true @docker volume rm mayan-staging-postgres || true @docker network rm mayan-staging || true