浏览代码

1) New default: sudo snap set wekan mongo-log-destination='devnull'. Other options: syslog/snapcommon.
This should lower amount of disk usage and logs.
2) Tried to fix command: sudo snap set wekan mongo-url='...'

Thanks to xet7 !

Fixes #3059,
fixes #2364,
fixes wekan/wekan-snap#138,
fixes wekan/wekan-snap#113

Lauri Ojansivu 4 年之前
父节点
当前提交
5510c2a37d
共有 4 个文件被更改,包括 44 次插入13 次删除
  1. 4 1
      docker-compose.yml
  2. 0 0
      snap-src/bin/config
  3. 36 12
      snap-src/bin/mongodb-control
  4. 4 0
      snap-src/bin/wekan-help

+ 4 - 1
docker-compose.yml

@@ -96,7 +96,10 @@ services:
     #-------------------------------------------------------------------------------------
     #-------------------------------------------------------------------------------------
     container_name: wekan-db
     container_name: wekan-db
     restart: always
     restart: always
-    command: mongod --oplogSize 128
+    # command: mongod --oplogSize 128
+    # Syslog: mongod --syslog --oplogSize 128 --quiet
+    # Disable MongoDB logs:
+    command: mongod --logpath /dev/null --oplogSize 128 --quiet
     networks:
     networks:
       - wekan-tier
       - wekan-tier
     expose:
     expose:

文件差异内容过多而无法显示
+ 0 - 0
snap-src/bin/config


+ 36 - 12
snap-src/bin/mongodb-control

@@ -56,21 +56,45 @@ if [ -z "$MONGO_URL" ]; then
     fi
     fi
     echo "mongodb bind options: $BIND_OPTIONS"
     echo "mongodb bind options: $BIND_OPTIONS"
 
 
-    ## OLD: Logging to file.
-    #mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles
-    ## NEW: Logging to syslog, that usually has already log rotation.
-    mongod --dbpath $SNAP_COMMON --syslog --journal $BIND_OPTIONS --quiet
+    if [ "syslog" == "${MONGO_LOG_DESTINATION}" ]; then
+        echo "Sending mongodb logs to syslog"
+        mongod --dbpath $SNAP_COMMON --syslog --journal $BIND_OPTIONS --quiet
+        exit 0
+    fi
+
+    if [ "snapcommon" == "${MONGO_LOG_DESTINATION}" ]; then
+        echo "Sending mongodb logs to $SNAP_COMMON"
+        mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --quiet
+    fi
+
+    if [ "devnull" == "${MONGO_LOG_DESTINATION}" ]; then
+        echo "Sending mongodb logs to /dev/null"
+        mongod --dbpath $SNAP_COMMON --logpath /dev/null --journal $BIND_OPTIONS --quiet
+    fi
+
+    # Drop indexes on database upgrade, when starting MongoDB
+    #mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
+    mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $BIND_OPTIONS
 
 
 else
 else
 
 
-    ## OLD: Logging to file.
-    #mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $MONGO_URL --smallfiles
-    ## NEW: Logging to syslog, that usually has already log rotation.
-    mongod --dbpath $SNAP_COMMON --syslog --journal $MONGO_URL --quiet
+    if [ "syslog" == "${MONGO_LOG_DESTINATION}" ]; then
+        echo "Sending mongodb logs to syslog"
+        mongod --dbpath $SNAP_COMMON --syslog --journal $MONGO_URL --quiet
+    fi
 
 
-fi
+    if [ "snapcommon" == "${MONGO_LOG_DESTINATION}" ]; then
+        echo "Sending mongodb logs to $SNAP_COMMON"
+        mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $MONGO_URL --quiet
+    fi
 
 
-# Drop indexes on database upgrade, when starting MongoDB
-#mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
+    if [ "devnull" == "${MONGO_LOG_DESTINATION}" ]; then
+        echo "Sending mongodb logs to /dev/null"
+        mongod --dbpath $SNAP_COMMON --logpath /dev/null --journal $MONGO_URL --quiet
+    fi
+
+    # Drop indexes on database upgrade, when starting MongoDB
+    #mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
+    mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $BIND_OPTIONS
 
 
-mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $BIND_OPTIONS
+fi

+ 4 - 0
snap-src/bin/wekan-help

@@ -15,6 +15,10 @@ echo -e "\t$ snap set $SNAP_NAME debug='true'"
 echo -e "\t-Disable the Debug of Wekan:"
 echo -e "\t-Disable the Debug of Wekan:"
 echo -e "\t$ snap unset $SNAP_NAME debug"
 echo -e "\t$ snap unset $SNAP_NAME debug"
 echo -e "\n"
 echo -e "\n"
+echo -e "Mongo log destimation: devnull/snapcommon/syslog. Default: 'devnull'"
+echo -e "To set different mongo log destination of Wekan:"
+echo -e "\t$ snap set $SNAP_NAME mongo-log-destination='snapcommon'"
+echo -e "\n"
 echo -e "To enable the MONGO_URL of Wekan:"
 echo -e "To enable the MONGO_URL of Wekan:"
 echo -e "\t$ snap set $SNAP_NAME mongo-url='...'"
 echo -e "\t$ snap set $SNAP_NAME mongo-url='...'"
 echo -e "\t-Disable the MONGO_URL of Wekan:"
 echo -e "\t-Disable the MONGO_URL of Wekan:"

部分文件因为文件数量过多而无法显示