Update docker install to deploy a Redis container
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -21,6 +21,9 @@ set -e
|
||||
: ${DOCKER_POSTGRES_CONTAINER:=mayan-edms-postgres}
|
||||
: ${DOCKER_POSTGRES_VOLUME:=/docker-volumes/mayan-edms/postgres}
|
||||
: ${DOCKER_POSTGRES_PORT:=5432}
|
||||
: ${DOCKER_REDIS_IMAGE:=redis:5.0-alpine}
|
||||
: ${DOCKER_REDIS_CONTAINER:=mayan-edms-redis}
|
||||
: ${DOCKER_REDIS_PORT:=6379}
|
||||
: ${DOCKER_MAYAN_IMAGE:=mayanedms/mayanedms:latest}
|
||||
: ${DOCKER_MAYAN_CONTAINER:=mayan-edms}
|
||||
: ${DOCKER_MAYAN_VOLUME:=/docker-volumes/mayan-edms/media}
|
||||
@@ -54,6 +57,9 @@ echo "DOCKER_POSTGRES_IMAGE: $DOCKER_POSTGRES_IMAGE"
|
||||
echo "DOCKER_POSTGRES_CONTAINER: $DOCKER_POSTGRES_CONTAINER"
|
||||
echo "DOCKER_POSTGRES_VOLUME: $DOCKER_POSTGRES_VOLUME"
|
||||
echo "DOCKER_POSTGRES_PORT: $DOCKER_POSTGRES_PORT"
|
||||
echo "DOCKER_REDIS_IMAGE: $DOCKER_REDIS_IMAGE"
|
||||
echo "DOCKER_REDIS_CONTAINER: $DOCKER_REDIS_CONTAINER"
|
||||
echo "DOCKER_REDIS_PORT: $DOCKER_REDIS_PORT"
|
||||
echo "DOCKER_MAYAN_IMAGE: $DOCKER_MAYAN_IMAGE"
|
||||
echo "DOCKER_MAYAN_CONTAINER: $DOCKER_MAYAN_CONTAINER"
|
||||
echo "DOCKER_MAYAN_VOLUME: $DOCKER_MAYAN_VOLUME"
|
||||
@@ -79,20 +85,23 @@ if [ -z `which docker` ]; then
|
||||
fi
|
||||
|
||||
echo -n "* Removing existing Mayan EDMS and PostgreSQL containers (no data will be lost)..."
|
||||
true || docker stop $DOCKER_MAYAN_CONTAINER >/dev/null 2>&1
|
||||
true || docker rm $DOCKER_MAYAN_CONTAINER >/dev/null 2>&1
|
||||
true || docker stop $DOCKER_POSTGRES_CONTAINER >/dev/null 2>&1
|
||||
true || docker rm $DOCKER_POSTGRES_CONTAINER >/dev/null 2>&1
|
||||
docker rm -f $DOCKER_REDIS_CONTAINER >/dev/null 2>&1 || true
|
||||
docker rm -f $DOCKER_POSTGRES_CONTAINER >/dev/null 2>&1 || true
|
||||
docker rm -f $DOCKER_MAYAN_CONTAINER >/dev/null 2>&1 || true
|
||||
echo "Done"
|
||||
|
||||
if [ "$DELETE_VOLUMES" = true ]; then
|
||||
echo -n "* Deleting Docker volumes in 5 seconds (warning: this delete all document data)..."
|
||||
echo -n "* Deleting Docker volumes in 5 seconds (warning: this will delete all document data). Press CTRL+C to cancel..."
|
||||
sleep 5
|
||||
true || rm DOCKER_MAYAN_VOLUME -Rf
|
||||
true || rm DOCKER_POSTGRES_VOLUME -Rf
|
||||
rm DOCKER_MAYAN_VOLUME -Rf || true
|
||||
rm DOCKER_POSTGRES_VOLUME -Rf || true
|
||||
echo "Done"
|
||||
fi
|
||||
|
||||
echo -n "* Pulling (downloading) the Redis Docker image..."
|
||||
docker pull $DOCKER_REDIS_IMAGE > /dev/null
|
||||
echo "Done"
|
||||
|
||||
echo -n "* Pulling (downloading) the PostgreSQL Docker image..."
|
||||
docker pull $DOCKER_POSTGRES_IMAGE > /dev/null
|
||||
echo "Done"
|
||||
@@ -111,17 +120,21 @@ fi
|
||||
if [ "$USE_DOCKER_NETWORK" = true ]; then
|
||||
NETWORK_ARGUMENT="--network=$DOCKER_NETWORK_NAME"
|
||||
POSTGRES_PORT_ARGUMENT=""
|
||||
REDIS_PORT_ARGUMENT=""
|
||||
MAYAN_DATABASE_PORT_ARGUMENT=""
|
||||
MAYAN_DATABASE_HOST_ARGUMENT="-e MAYAN_DATABASE_HOST=$DOCKER_POSTGRES_CONTAINER"
|
||||
MAYAN_BROKER_URL_ARGUMENT="-e MAYAN_BROKER_URL=redis://$DOCKER_REDIS_CONTAINER:6379/0"
|
||||
MAYAN_CELERY_RESULT_BACKEND_ARGUMENT="-e MAYAN_CELERY_RESULT_BACKEND=redis://$DOCKER_REDIS_CONTAINER:6379/1"
|
||||
else
|
||||
NETWORK_ARGUMENT=""
|
||||
POSTGRES_PORT_ARGUMENT="-e $DOCKER_POSTGRES_PORT:5432"
|
||||
REDIS_PORT_ARGUMENT="-e $DOCKER_REDIS_PORT:6379"
|
||||
MAYAN_DATABASE_PORT_ARGUMENT="-e MAYAN_DATABASE_PORT=$DOCKER_POSTGRES_PORT"
|
||||
MAYAN_DATABASE_HOST_ARGUMENT="-e MAYAN_DATABASE_HOST=172.17.0.1"
|
||||
MAYAN_BROKER_URL_ARGUMENT="-e MAYAN_BROKER_URL=redis://172.17.0.1:6379/0"
|
||||
MAYAN_CELERY_RESULT_BACKEND_ARGUMENT="-e MAYAN_CELERY_RESULT_BACKEND=redis://172.17.0.1:6379/1"
|
||||
fi
|
||||
|
||||
docker rm -f $DOCKER_POSTGRES_CONTAINER >/dev/null 2>&1 || true
|
||||
|
||||
echo -n "* Deploying the PostgreSQL container..."
|
||||
docker run -d \
|
||||
--name $DOCKER_POSTGRES_CONTAINER \
|
||||
@@ -135,12 +148,28 @@ $POSTGRES_PORT_ARGUMENT \
|
||||
$DOCKER_POSTGRES_IMAGE >/dev/null
|
||||
echo "Done"
|
||||
|
||||
echo -n "* Deploying the Redis container..."
|
||||
docker run -d \
|
||||
--name $DOCKER_REDIS_CONTAINER \
|
||||
$NETWORK_ARGUMENT \
|
||||
--restart=always \
|
||||
$REDIS_PORT_ARGUMENT \
|
||||
$DOCKER_REDIS_IMAGE \
|
||||
redis-server \
|
||||
--appendonly no \
|
||||
--databases 2 \
|
||||
--maxmemory 100mb \
|
||||
--maxmemory-policy allkeys-lru \
|
||||
--maxclients 500 \
|
||||
--save "" \
|
||||
--tcp-backlog 256 \
|
||||
>/dev/null
|
||||
echo "Done"
|
||||
|
||||
echo -n "* Waiting for the PostgreSQL container to be ready (10 seconds)..."
|
||||
sleep 10
|
||||
echo "Done"
|
||||
|
||||
docker rm -f $DOCKER_MAYAN_CONTAINER >/dev/null 2>&1 || true
|
||||
|
||||
echo -n "* Deploying Mayan EDMS container..."
|
||||
docker run -d \
|
||||
--name $DOCKER_MAYAN_CONTAINER \
|
||||
@@ -154,6 +183,8 @@ $MAYAN_DATABASE_PORT_ARGUMENT \
|
||||
-e MAYAN_DATABASE_PASSWORD=$DATABASE_PASSWORD \
|
||||
-e MAYAN_DATABASE_USER=$DATABASE_USER \
|
||||
-e MAYAN_DATABASE_CONN_MAX_AGE=0 \
|
||||
$MAYAN_BROKER_URL_ARGUMENT \
|
||||
$MAYAN_CELERY_RESULT_BACKEND_ARGUMENT \
|
||||
-v $DOCKER_MAYAN_VOLUME:/var/lib/mayan \
|
||||
$DOCKER_MAYAN_IMAGE >/dev/null
|
||||
echo "Done"
|
||||
|
||||
Reference in New Issue
Block a user