diff --git a/docker/Dockerfile b/docker/Dockerfile index 6c4f9c7d..8b93cf97 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -63,14 +63,21 @@ RUN rm -f /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/loc gosu \ nginx-light \ wget && \ + # Add MongoDB 4.4 repository wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add - && \ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list && \ + # Add MongoDB 5.0 repository + wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add - && \ + echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-5.0.list && \ + # Add NodeJS repository wget -qO- https://deb.nodesource.com/setup_${NODE_VERSION} | bash - && \ apt-get update && \ + # Install MongoDB 4.4 and 5.0 packages apt-get install -y --no-install-recommends \ nodejs \ mongodb-org-server=${MONGO_VERSION} \ - mongodb-org-shell=${MONGO_VERSION} && \ + mongodb-org-shell=${MONGO_VERSION} \ + mongodb-org-server=5.0.21 && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /var/cache/apt/* /tmp/* && \ mkdir -p /data/db /var/log/mongodb /var/run/mongodb && \ diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index a9ccf414..0696ffc8 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -18,7 +18,7 @@ check_mongo_version() { # First, start MongoDB 5.0 to set compatibility version echo "Starting MongoDB 5.0 to set compatibility version..." - MONGODB_VERSION=5.0 gosu mongodb mongod --dbpath $MONGODB_DATA_DIR --port 27017 --bind_ip 127.0.0.1 & + gosu mongodb /usr/bin/mongod --dbpath $MONGODB_DATA_DIR --port 27017 --bind_ip 127.0.0.1 --config /etc/mongod.conf & MONGO_PID=$! # Wait for MongoDB 5.0 to start @@ -52,9 +52,9 @@ check_mongo_version() { sleep 1 done - # Run repair - echo "Running repair..." - gosu mongodb mongod --dbpath $MONGODB_DATA_DIR --repair + # Run repair with MongoDB 4.4 + echo "Running repair with MongoDB 4.4..." + gosu mongodb /usr/bin/mongod --dbpath $MONGODB_DATA_DIR --repair return 0 fi @@ -82,9 +82,9 @@ if [ $MIGRATION_ATTEMPT -gt $MAX_MIGRATION_ATTEMPTS ]; then exit 1 fi -# Start MongoDB normally -echo "Starting MongoDB..." -gosu mongodb mongod --dbpath $MONGODB_DATA_DIR --logpath $MONGODB_LOG_DIR/mongodb.log --bind_ip 0.0.0.0 & +# Start MongoDB 4.4 normally +echo "Starting MongoDB 4.4..." +gosu mongodb /usr/bin/mongod --dbpath $MONGODB_DATA_DIR --logpath $MONGODB_LOG_DIR/mongodb.log --bind_ip 0.0.0.0 & MONGO_PID=$! # Wait for MongoDB to be ready