Compare commits

...
15 Commits
Author SHA1 Message Date
moritz d82a822bab chore: publish 5.3.0+v12.74 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-10-30 15:45:54 +01:00
moritz dfd19ec9f4 Merge pull request 'chore(deps): update quay.io/wekan/wekan docker tag to v12.74' (#12) from renovate/quay.io-wekan-wekan-12.x into main
continuous-integration/drone/push Build is failing
Reviewed-on: #12
2026-10-30 14:41:39 +00:00
renovate-bot 82f9ec8f60 chore(deps): update quay.io/wekan/wekan docker tag to v12.74 2026-10-30 11:35:42 +00:00
moritz cf8a8e3795 chore: publish 5.2.0+v12.65 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-10-26 17:14:20 +01:00
moritz 60ba2892be Merge pull request 'chore(deps): update quay.io/wekan/wekan docker tag to v12.65' (#11) from renovate/quay.io-wekan-wekan-12.x into main
continuous-integration/drone/push Build is failing
Reviewed-on: #11
2026-10-26 16:13:49 +00:00
renovate-bot 243285ae7f chore(deps): update quay.io/wekan/wekan docker tag to v12.65 2026-10-25 17:27:18 +00:00
moritz 4f40a047dc chore: publish 5.1.0+v12.25 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-10-08 21:36:46 +02:00
moritz 31b5c61ee5 Merge pull request 'chore(deps): update quay.io/wekan/wekan docker tag to v12.25' (#9) from renovate/quay.io-wekan-wekan-12.x into main
continuous-integration/drone/push Build is failing
Reviewed-on: #9
2026-10-08 19:34:35 +00:00
renovate-bot d014ca6cb9 chore(deps): update quay.io/wekan/wekan docker tag to v12.25 2026-10-08 17:26:42 +00:00
moritz 4232801ccb chore: publish 5.0.1+v12.08 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-10-06 12:36:43 +02:00
moritz a73755cb11 fix: set update_mongo_version() automatically to the correct version
continuous-integration/drone/push Build is failing
2026-10-06 12:35:05 +02:00
moritz a28194b4a8 chore: publish 5.0.0+v12.08 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-09-28 19:34:24 +02:00
moritz 2fd4563bf7 downgrade mongo db to working upstream version 7.0 2026-09-28 19:31:06 +02:00
moritz cc61647a90 chore: update image tags 2026-09-28 19:23:33 +02:00
moritz 073ff878c7 fix replica set 2026-09-28 19:21:08 +02:00
3 changed files with 53 additions and 22 deletions
+30 -6
View File
@@ -1,7 +1,7 @@
export ENTRYPOINT_VERSION=v4
set_settings(){
mongosh wekan --eval '
set_settings() {
mongosh wekan --eval '
db.settings.updateOne(
{},
{
@@ -16,10 +16,34 @@ set_settings(){
)'
}
show_mongo_version (){
mongosh --eval 'db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )'
show_mongo_version() {
mongosh --eval 'db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )'
}
update_mongo_version (){
mongosh --eval 'db.adminCommand( { setFeatureCompatibilityVersion: "5.0" } )'
update_mongo_version() {
mongosh --quiet --eval '
const target = db.version().split(".").slice(0, 2).join(".");
const command = {setFeatureCompatibilityVersion: target};
if (parseInt(target, 10) >= 7) command.confirm = true;
print("set featureCompatibilityVersion to " + target);
printjson(db.adminCommand(command));
'
}
normalize_replset_config() {
mongosh --quiet --eval '
const local = db.getSiblingDB("local");
const stored = local.system.replset.findOne();
if (!stored) { print("no stored replica set configuration"); quit(0); }
if (db.serverStatus().repl) { // already a set: only a reconfig may write
const cfg = rs.conf();
cfg.version = cfg.version + 1;
printjson(rs.reconfig(cfg));
} else { // standalone: nobody is using it yet
stored.members.forEach(m => { delete m.slaveDelay; m.secondaryDelaySecs = 0; m.host = "db:27017"; });
stored.version = stored.version + 1;
local.system.replset.replaceOne({_id: stored._id}, stored);
printjson(local.system.replset.findOne());
}
'
}
+22 -16
View File
@@ -1,27 +1,33 @@
version: "3.8"
services:
db:
image: mongo:8.3
image: mongo:7.0
hostname: db
environment:
- LOGO_IMG_URL
- LOGO_LINK_URL
command: >
sh -c "
mongod --oplogSize 128 --replSet rs0 --quiet --bind_ip_all &
until mongosh --eval 'rs.initiate()' > /dev/null 2>&1; do
sleep 2
done;
wait"
command:
- bash
- -c
- |
(
until mongosh --quiet --eval 'try { rs.status().ok } catch (e) { rs.initiate({_id: "rs0", members: [{_id: 0, host: "db:27017"}]}).ok }' 2>/dev/null | grep -q 1; do
sleep 2
done
echo "[init] replica set rs0 ready"
) &
exec mongod --replSet rs0 --bind_ip_all --oplogSize 128 --quiet
volumes:
- wekan-db:/data/db
networks:
- internal
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 30s
test: ["CMD", "mongosh", "--host", "127.0.0.1", "--port", "27017", "--quiet", "--eval", "try { quit(rs.status().ok === 1 && db.hello().isWritablePrimary ? 0 : 1) } catch (e) { quit(1) }"]
interval: 10s
timeout: 10s
retries: 10
start_period: 1m
retries: 30
start_period: 5m
stop_grace_period: 1m
deploy:
labels:
backupbot.backup: "${ENABLE_BACKUPS:-true}"
@@ -30,10 +36,10 @@ services:
backupbot.restore.post-hook: "mongorestore --drop --archive=/data/db/wekan.db"
app:
image: quay.io/wekan/wekan:v10.79
image: quay.io/wekan/wekan:v12.74
environment:
- METEOR_REACTIVITY_ORDER=changeStreams,oplog,polling
- MONGO_URL=mongodb://db:27017/wekan
- MONGO_URL=mongodb://db:27017/wekan?replicaSet=rs0
- MONGO_OPLOG_URL=mongodb://db:27017/local?replicaSet=rs0
- NODE_OPTIONS="--max_old_space_size=4096"
- DOMAIN
@@ -76,7 +82,7 @@ services:
interval: 30s
timeout: 10s
retries: 10
start_period: 3m
start_period: 5m
secrets:
- oauth2_secret
configs:
@@ -98,7 +104,7 @@ services:
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "coop-cloud.${STACK_NAME}.version=4.0.1+v10.79"
- "coop-cloud.${STACK_NAME}.version=5.3.0+v12.74"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}"
volumes:
+1
View File
@@ -0,0 +1 @@
Important: Run normalize_replset_config and update_mongo_version before and update_mongo_version after the update