Newest WeKan uses MongoDB 6.0.3.
Current working way to upgrade is:
Move all attachments to filesystem
button to move all attachments to MinIO.Similar Mongodump and Mongorestore above, with these info:
With Rclone https://rclone.org , it's possible to use many cloud filesystems, like AWS S3, MinIO https://min.io , etc.
Newest WeKan has features to move files between MongoDB GridFS and filesystem.
Instead of filesystem, Rclone mounted cloud filesystem directory can be used, like MinIO.
Note: In some cases, only buttons Move all attachments
at top are visible. In some other cases, there is more visible, like moving all attachments of board, etc, maybe when some have been already moved.
Create config for example with command:
rclone config
At S3 providers, there is MinIO at https://rclone.org/s3/#minio
/root/.config/rclone/rclone.conf
[aws]
type = s3
provider = AWS
access_key_id = ACCESS-KEY-HERE
secret_access_key = SECRET-KEY-HERE
region = eu-north-1
location_constraint = eu-north-1
acl = private
[minio]
type = s3
provider = Minio
access_key_id = ACCESS-KEY-HERE
secret_access_key = SECRET-KEY-HERE
endpoint = http://192.168.0.100:9000
acl = private
rclone ls aws:
rclone ls minio:
Running MinIO server binary, storing files at /home/wekan/minio/data
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /home/wekan/minio/data --console-address ":9001"
Create bucket, access key, secret key. Then connect them with mc
command installed from https://min.io website, here bucket wekan:
mc config host add wekan http://192.168.0.100:9000 ACCESS-KEY-HERE SECRET-KEY-HERE
This uses minimal cache to make it work. Note that Rclone stays at foreground running, showing related messages, it does not daemonize to background.
sudo su
rclone mount minio:wekan/files /var/snap/wekan/common/files --vfs-cache-mode minimal
Sometimes it shows this kind of message:
2022/12/27 10:22:13 NOTICE: S3 bucket wekan path files: Streaming uploads using chunk size 5Mi will have maximum file size of 48.828Gi
Rclone, short story:
sudo su
rclone mount minio:wekan/files /var/lib/docker/volumes/wekan_wekan-files/_data --vfs-cache-mode minimal
Longer story:
docker-compose.yml
at https://github.com/wekan/wekan
- WRITABLE_PATH=/data
Docker volumes are there:
sudo ls /var/lib/docker/volumes/
wekan_wekan-db-dump
wekan_wekan-db
wekan_wekan-files
Directories there are:
/var/lib/docker/volumes/_data/attachments
/var/lib/docker/volumes/_data/avatars
Set WRITABLE_PATH
like in Docker example above.
In Progress direct support without Rclone, if getting it working sometime.
Meteor-Files currently uses official AWS-SDK that does not yet directly support custom endpoint like MinIO:
MinIO code examples:
Related RocketChat docs about MinIO:
Storage path during developing WeKan, for example:
./rebuild-wekan.sh
rclone mount minio:wekan/files /home/wekan/repos/wekan/.meteor/local/.build-garbage-uslyxi.uokel/programs --vfs-cache-mode minimal