Try to fix Snap to not fork mongodb.
Some checks are pending
Docker / build (push) Waiting to run
Docker Image CI / build (push) Waiting to run
Release Charts / release (push) Waiting to run
Test suite / Meteor tests (push) Waiting to run
Test suite / Coverage report (push) Blocked by required conditions

Thanks to xet7 !
This commit is contained in:
Lauri Ojansivu 2025-10-14 14:29:42 +03:00
parent 5a79bc5ee3
commit 70ce70cf0e

View file

@ -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