diff --git a/snap-src/bin/mongodb-control b/snap-src/bin/mongodb-control index 4b61315d4..2f4e78fc9 100755 --- a/snap-src/bin/mongodb-control +++ b/snap-src/bin/mongodb-control @@ -5,8 +5,21 @@ # Supports MongoDB versions 3-8 with automatic binary selection # get wekan/mongo settings +echo "Reading snap settings..." source $SNAP/bin/wekan-read-settings +# Debug: Show what we got from snap settings +echo "Snap settings loaded:" +echo " MONGODB_BIND_IP: '${MONGODB_BIND_IP}'" +echo " MONGODB_PORT: '${MONGODB_PORT}'" +echo " MONGODB_BIND_UNIX_SOCKET: '${MONGODB_BIND_UNIX_SOCKET}'" + +# Debug: Check snap settings directly +echo "Direct snap settings check:" +echo " mongodb-port: $(snapctl get mongodb-port 2>/dev/null || echo 'not set')" +echo " mongodb-bind-ip: $(snapctl get mongodb-bind-ip 2>/dev/null || echo 'not set')" +echo " mongodb-bind-unix-socket: $(snapctl get mongodb-bind-unix-socket 2>/dev/null || echo 'not set')" + if [ "true" == "${DISABLE_MONGODB}" ]; then echo "mongodb is disabled. Stop service" snapctl stop --disable ${SNAP_NAME}.mongodb @@ -218,6 +231,29 @@ fi # Set MongoDB log file path export MONGO_LOG_FILE="${SNAP_COMMON}/mongodb.log" +# Build bind options from snap settings +BIND_OPTIONS="" +if [ "nill" != "${MONGODB_BIND_UNIX_SOCKET}" ] && [ -n "${MONGODB_BIND_UNIX_SOCKET}" ]; then + BIND_OPTIONS+=" --unixSocketPrefix ${MONGODB_BIND_UNIX_SOCKET}" +fi +if [ -n "${MONGODB_BIND_IP}" ]; then + BIND_OPTIONS+=" --bind_ip ${MONGODB_BIND_IP}" +else + BIND_OPTIONS+=" --bind_ip 127.0.0.1" +fi +if [ -n "${MONGODB_PORT}" ]; then + BIND_OPTIONS+=" --port ${MONGODB_PORT}" +else + BIND_OPTIONS+=" --port 27019" +fi + +# Debug: Show what settings we're using +echo "MongoDB settings:" +echo " MONGODB_BIND_IP: ${MONGODB_BIND_IP:-127.0.0.1}" +echo " MONGODB_PORT: ${MONGODB_PORT:-27017}" +echo " MONGODB_BIND_UNIX_SOCKET: ${MONGODB_BIND_UNIX_SOCKET:-not set}" +echo " BIND_OPTIONS: ${BIND_OPTIONS}" + # Start MongoDB with appropriate version echo "Starting MongoDB with detected version..." log_version_detection "Starting MongoDB server" @@ -232,9 +268,7 @@ case "$ACTIVE_VERSION" in exec /snap/${SNAP_NAME}/current/migratemongo/bin/mongod \ --dbpath="$MONGO_DATA_DIR" \ --logpath="$MONGO_LOG_FILE" \ - --logappend \ - --bind_ip=127.0.0.1 \ - --port=27017 + --logappend $BIND_OPTIONS ;; "4") echo "Starting MongoDB 4.x server..." @@ -242,9 +276,7 @@ case "$ACTIVE_VERSION" in exec /snap/${SNAP_NAME}/current/mongodb4/bin/mongod \ --dbpath="$MONGO_DATA_DIR" \ --logpath="$MONGO_LOG_FILE" \ - --logappend \ - --bind_ip=127.0.0.1 \ - --port=27017 + --logappend $BIND_OPTIONS ;; "5") echo "Starting MongoDB 5.x server..." @@ -252,9 +284,7 @@ case "$ACTIVE_VERSION" in exec /snap/${SNAP_NAME}/current/mongodb5/bin/mongod \ --dbpath="$MONGO_DATA_DIR" \ --logpath="$MONGO_LOG_FILE" \ - --logappend \ - --bind_ip=127.0.0.1 \ - --port=27017 + --logappend $BIND_OPTIONS ;; "6") echo "Starting MongoDB 6.x server..." @@ -262,9 +292,7 @@ case "$ACTIVE_VERSION" in exec /snap/${SNAP_NAME}/current/mongodb6/bin/mongod \ --dbpath="$MONGO_DATA_DIR" \ --logpath="$MONGO_LOG_FILE" \ - --logappend \ - --bind_ip=127.0.0.1 \ - --port=27017 + --logappend $BIND_OPTIONS ;; "7"|*) echo "Starting MongoDB 7.x server..." @@ -272,9 +300,7 @@ case "$ACTIVE_VERSION" in exec /snap/${SNAP_NAME}/current/bin/mongod \ --dbpath="$MONGO_DATA_DIR" \ --logpath="$MONGO_LOG_FILE" \ - --logappend \ - --bind_ip=127.0.0.1 \ - --port=27017 + --logappend $BIND_OPTIONS ;; "8") echo "Starting MongoDB 8.x server..." @@ -282,8 +308,6 @@ case "$ACTIVE_VERSION" in exec /snap/${SNAP_NAME}/current/mongodb8/bin/mongod \ --dbpath="$MONGO_DATA_DIR" \ --logpath="$MONGO_LOG_FILE" \ - --logappend \ - --bind_ip=127.0.0.1 \ - --port=27017 + --logappend $BIND_OPTIONS ;; esac \ No newline at end of file