Browse Source

Merge branch 'wekan:main' into main

walster001 10 months ago
parent
commit
fa21b00bb6

+ 1 - 1
.github/workflows/docker-publish.yml

@@ -55,7 +55,7 @@ jobs:
       # Build and push Docker image with Buildx (don't push on PR)
       # https://github.com/docker/build-push-action
       - name: Build and push Docker image
-        uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445
+        uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85
         with:
           context: .
           push: ${{ github.event_name != 'pull_request' }}

+ 25 - 0
CHANGELOG.md

@@ -15,6 +15,31 @@ Fixing other platforms In Progress.
 
 [How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
 
+# Upcoming WeKan ® release
+
+This release adds the following updates:
+
+- Updated Browser compatibility matrix.
+  [Part 1](https://github.com/wekan/wekan/commit/cab285c34d1f159120ccd48b17a897e95bd48471),
+  [Part 2](https://github.com/wekan/wekan/commit/ec534c8cca3f0256091c2d870c128d26033d40ad).
+- [Updated code of conduct](https://github.com/wekan/wekan/commit/cae6f38b8070cfcc2f2529027f7e66b965a19f05).
+  Thanks to xet7.
+- [Updated Docker build actions](https://github.com/wekan/wekan/pull/5505).
+  Thanks to dependabot.
+- Updated docs for building custom Docker image.
+  [Part 1](https://github.com/wekan/wekan/issues/5509),
+  [Part 2](https://github.com/wekan/wekan/commit/6d6d51310e4168cd0fc75f550d3af35df9ccef9f),
+  [Part 3](https://github.com/wekan/wekan/commit/a94cfd5b91d29f81e51e67ed03ba84f820d4892a).
+
+and fixes the following bugs:
+
+- [Fix ModernDark Mobile View List Titles](https://github.com/wekan/wekan/pull/5503).
+  Thanks to walster001.
+- [Fix apparmor denied in syslog at Snap Candidate](https://github.com/wekan/wekan/commit/c3909edc5ee7a82b694b19ca7e022cbdfd12affd).
+  Thanks to webenefits and xet7.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
 # v7.55 2024-08-08 WeKan ® release
 
 This release fixes the following bugs:

+ 1 - 1
CODE_OF_CONDUCT.md

@@ -11,7 +11,7 @@ For all code at WeKan GitHub Organization https://github.com/wekan
 
 ## Private reports
 
-- Email support (at) wekan.team using [this PGP public key](support-at-wekan.team_pgp-publickey.asc) if possible
+- Email support@wekan.team
 - Security issues: [SECURITY.md](SECURITY.md)
 - License violations
 - Anything private, sensitive or negative

+ 8 - 8
docker-compose.yml

@@ -10,13 +10,13 @@
 # NOTE: MongoDB has changed from 3.x to 4.x, in that case you need backup/restore with --noIndexRestore
 #       see https://github.com/wekan/wekan/wiki/Backup
 # 1) Stop Wekan:
-#      docker-compose stop
+#      docker compose stop
 # 2) Remove old Wekan app (wekan-app only, not that wekan-db container that has all your data)
 #      docker rm wekan-app
 # 3) Get newest docker-compose.yml from https://github.com/wekan/wekan to have correct image,
 #    for example: "image: quay.io/wekan/wekan" or version tag "image: quay.io/wekan/wekan:v4.52"
 # 4) Start Wekan:
-#      docker-compose up -d
+#      docker compose up -d
 #----------------------------------------------------------------------------------
 # ==== OPTIONAL: DEDICATED DOCKER USER ====
 # 1) Optionally create a dedicated user for Wekan, for example:
@@ -36,14 +36,14 @@
 # ----------------------------------------------------------------------------------
 # ==== USAGE OF THIS docker-compose.yml ====
 # 1) For seeing does Wekan work, try this and check with your web browser:
-#      docker-compose up
+#      docker compose up
 # 2) Stop Wekan and start Wekan in background:
-#     docker-compose stop
-#     docker-compose up -d
+#     docker compose stop
+#     docker compose up -d
 # 3) See running Docker containers:
 #     docker ps
 # 4) Stop Docker containers:
-#     docker-compose stop
+#     docker compose stop
 # ----------------------------------------------------------------------------------
 # ===== INSIDE DOCKER CONTAINERS, AND BACKUP/RESTORE ====
 # https://github.com/wekan/wekan/wiki/Backup
@@ -140,7 +140,7 @@ services:
       - wekan-tier
     #-------------------------------------------------------------------------------------
     # ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
-    # ==== and use commands: docker-compose up -d --build
+    # ==== and use commands: docker compose up -d --build
     #build:
     #  context: .
     #  dockerfile: Dockerfile
@@ -585,7 +585,7 @@ services:
       # If using LDAPS: LDAP_ENCRYPTION=ssl
       #- LDAP_ENCRYPTION=false
       #
-      # The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
+      # The certification for the LDAPS server. Certificate needs to be included in this docker compose.yml file.
       #- LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+G2FIdAgIC...-----END CERTIFICATE-----
       #
       # Reject Unauthorized Certificate

+ 54 - 10
docs/Platforms/FOSS/Docker/Docker.md

@@ -1,3 +1,47 @@
+## Building custom Docker image
+
+This is only for developers. For normal users, do not add these options, just start with `docker compose up -d`
+
+This only builds `wekan-app` Docker image, where is Node.js 14.x and all Javascript code. This does not build `wekan-db` MongoDB image, that usually does not require modifications.
+
+Alpine Linux does not work properly with current Meteor 2 based WeKan. Ubuntu works, and has newest security fixes.
+
+Only amd64 currently works. Currently used Node.js 14.x segfaults at arm64 and s390x. Only Node.js 14.x is compatible with current version of Meteor 2 based WeKan. Trying to upgrade is in progress https://github.com/wekan/wekan/issues/5475
+
+Dockerfile is at https://raw.githubusercontent.com/wekan/wekan/main/Dockerfile
+
+For building custom image, and then running it, uncomment these lines,
+that are currently here, but line numbers could change, if that docker-compose.yml
+is later modified:
+
+https://github.com/wekan/wekan/blob/main/docker-compose.yml#L144-L146
+
+After your above modifications, text should look like this:
+
+```
+    #-------------------------------------------------------------------------------------
+    # ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
+    # ==== and use commands: docker compose up -d --build
+    build:
+      context: .
+      dockerfile: Dockerfile
+    #-------------------------------------------------------------------------------------
+```
+
+Then modify ROOT_URL, etc settings as needed, see https://github.com/wekan/wekan/wiki/Settings
+
+Start WeKan with custom built Dockerfile with this command:
+```
+docker compose up -d --build
+```
+If you like to only build Dockerfile:
+```
+docker build .
+```
+You can also push your image to some Docker registry, like here it's done for WeKan:
+
+https://github.com/wekan/wekan/blob/main/releases/docker-push-wekan.sh
+
 ## Docker Containers
 
 - [GitHub](https://github.com/wekan/wekan/pkgs/container/wekan)
@@ -12,7 +56,7 @@ export ROOT_URL=http://SERVER-IP-ADDRESS-HERE
 ```
 Then start WeKan with:
 ```
-docker-compose up -d
+docker compose up -d
 ```
 
 SSL/TLS info at https://github.com/wekan/wekan/wiki/Settings
@@ -35,7 +79,7 @@ There is much more settings at well-documented [docker-compose.yml](https://raw.
 
 If you don't need to build Wekan, use prebuilt container with docker-compose.yml from https://github.com/wekan/wekan like this:
 ```
-docker-compose up -d
+docker compose up -d
 ```
 
 If you like to build from source, clone Wekan repo:
@@ -46,7 +90,7 @@ Then edit docker-compose.yml with [these lines uncommented](https://github.com/w
 ```
    #-------------------------------------------------------------------------------------
     # ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
-    # ==== and use commands: docker-compose up -d --build
+    # ==== and use commands: docker compose up -d --build
     build:
       context: .
       dockerfile: Dockerfile
@@ -62,7 +106,7 @@ Then edit docker-compose.yml with [these lines uncommented](https://github.com/w
 ```
 Then you can build Wekan with 
 ```
-docker-compose up -d --build
+docker compose up -d --build
 ```
 
 ## Example for latest Wekan, port 2000 to Docker Wekan internal port 8080
@@ -112,7 +156,7 @@ docker rm wekan-app
 ```
 Then edit docker-compose.yml to have higher wekan-app image version tag, like `image: wekanteam/wekan:v4.12`. Then:
 ```
-docker-compose up -d
+docker compose up -d
 ```
 ### Images
 Quay: `image: quay.io/wekan/wekan:v4.07`
@@ -206,25 +250,25 @@ docker run -d --restart=always --name wekan --link "wekan-db:db" -e "MONGO_URL=m
 - No build step and pull from [quay](https://quay.io/repository/wekan/wekan?tab=tags)
 
 ```
-sudo docker-compose up -d --nobuild
+sudo docker compose up -d --nobuild
 ```
 
 - Build default
 ```
-sudo docker-compose up -d --build
+sudo docker compose up -d --build
 ```
 
 - Build with newer Node version:
 ```
 echo 'NODE_VERSION=v8.11.1' >> .env && \
-sudo docker-compose up -d --build
+sudo docker compose up -d --build
 ```
 
 - Build custom image off a release candidate or beta for meteor
 ```
 echo 'METEOR_EDGE=1.5-beta.17' >> .env && \
 echo 'USE_EDGE=true' >> .env && \
-sudo docker-compose up -d --build
+sudo docker compose up -d --build
 ```
 
 ## Docker env for Wekan dev
@@ -239,4 +283,4 @@ sudo docker-compose up -d --build
 
 * [Caddy Webserver Config](Caddy-Webserver-Config)
 * [Nginx Webserver Config](Nginx-Webserver-Config)
-* [Apache Webserver Config](Apache)
+* [Apache Webserver Config](Apache)

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

@@ -80,17 +80,14 @@ if [ -z "$MONGO_URL" ]; then
 
     # start mongo deamon
     BIND_OPTIONS=""
-    SH_BIND_OPTIONS=""
     if [ "nill" != "$MONGODB_BIND_UNIX_SOCKET" ] && [ "x" != "x${MONGODB_BIND_UNIX_SOCKET}" ]; then
         BIND_OPTIONS+=" --unixSocketPrefix  $MONGODB_BIND_UNIX_SOCKET"
     fi
     if [ "x" != "x${MONGODB_BIND_IP}" ]; then
         BIND_OPTIONS+=" --bind_ip $MONGODB_BIND_IP"
-        SH_BIND_OPTIONS+=" --host $MONGODB_BIND_IP"
     fi
     if [ "x" != "x${MONGODB_PORT}" ]; then
         BIND_OPTIONS+=" --port $MONGODB_PORT"
-        SH_BIND_OPTIONS+=" --port $MONGODB_PORT"
     fi
     echo "mongodb bind options: $BIND_OPTIONS"
 
@@ -112,16 +109,16 @@ if [ -z "$MONGO_URL" ]; then
 
 
     # Disable MongoDB telemetry and free monitoring
-    mongosh wekan --eval 'disableTelemetry();' $SH_BIND_OPTIONS
-    mongosh wekan --eval 'db.disableFreeMonitoring();' $SH_BIND_OPTIONS
+    mongosh wekan --eval 'disableTelemetry();' $BIND_OPTIONS
+    mongosh wekan --eval 'db.disableFreeMonitoring();' $BIND_OPTIONS
     # Snap: Disable apparmor="DENIED" at syslog
     # https://github.com/wekan/wekan/issues/4855
-    mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $SH_BIND_OPTIONS
+    mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
     # Drop indexes on database upgrade, when starting MongoDB
-    #mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $SH_BIND_OPTIONS
-    mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $SH_BIND_OPTIONS
+    #mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
+    mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $BIND_OPTIONS
     # Delete incomplete uploads so that they would not prevent starting WeKan
-    mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $SH_BIND_OPTIONS
+    mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
 
 else
 
@@ -141,15 +138,15 @@ else
     fi
 
     # Disable MongoDB telemetry and free monitoring
-    mongosh wekan --eval 'disableTelemetry();' $SH_BIND_OPTIONS
-    mongosh wekan --eval 'db.disableFreeMonitoring();' $SH_BIND_OPTIONS
+    mongosh wekan --eval 'disableTelemetry();' $BIND_OPTIONS
+    mongosh wekan --eval 'db.disableFreeMonitoring();' $BIND_OPTIONS
     # Snap: Disable apparmor="DENIED" at syslog
     # https://github.com/wekan/wekan/issues/4855
-    mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $SH_BIND_OPTIONS
+    mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
     # Drop indexes on database upgrade, when starting MongoDB
-    #mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $SH_BIND_OPTIONS
-    mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $SH_BIND_OPTIONS
+    #mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
+    mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $BIND_OPTIONS
    # Delete incomplete uploads so that they would not prevent starting WeKan
-    mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $SH_BIND_OPTIONS
+    mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
 
 fi