-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Rclone
Newest WeKan uses MongoDB 6.0.3.
Current working way to upgrade is:
- Create Mongodump of your database like at Backup page
- Use newest WeKan docker-compose.yml from https://github.com/wekan/wekan with WRITABLE_PATH setup to Rclone/MinIO like below this page
- Mongorestore to MongoDB 6.0.3 database
- Use WeKan Admin Panel
Move all attachments to filesystem
button to move all attachments to MinIO. - Create Mongodump, that this time does not have any attachments, and is much smaller.
- Mongorestore to MongoDB 6.0.3 database.
- Start WeKan.
Similar Mongodump and Mongorestore above, with these info:
- https://github.com/wekan/wekan-snap/wiki/Candidate-WeKan-Snap-Manual-Upgrade
- https://github.com/wekan/wekan/issues/4780
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.
Screenshot 1: Move to filesystem button moves to cloud filesystem like MinIO. S3 button does not work yet.
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:
- https://github.com/veliovgroup/Meteor-Files/issues/862
- https://github.com/veliovgroup/Meteor-Files/blob/master/docs/aws-s3-integration.md
- https://github.com/wekan/wekan/issues/142#issuecomment-1365249290
MinIO code examples:
Related RocketChat docs about MinIO:
- https://docs.rocket.chat/guides/administration/admin-panel/settings/file-upload/minio
- https://github.com/RocketChat/Rocket.Chat/tree/develop/apps/meteor/app/file-upload
- https://github.com/RocketChat/Rocket.Chat/pulls?q=is%3Apr+minio+is%3Aclosed
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
Wekan - OpenSource Kanban
- Deep Dive Into WeKan
- Meteor WeKan Roadmap - board at Wekan demo
- Multiverse WeKan Roadmap
- Docs/Manual
- Change Language
- Forgot Password
- About
- Test Edge
- WeKan Design Principles
- FAQ
- IRC FAQ - answers to questions asked at IRC
- Team
- Press
- Blog
- Wekan vs Trello vs Restyaboard
- Results of Survey 2020-01
- Allow private boards only: Disable Public Boards
- Security Disclosure and details of Security in Wekan
- Security issues
- Password Hashing
- Cron: Hourly restart WeKan, because of memory leaks
- Maybe: Add more RAM to Node.js to prevent crash
- Clustering AWS etc
- Scaling
- Kubernetes
- Redis Oplog
- Meteor Scaling at Meteor Cloud
- Scaling at Meteor forums
- From Previous Export, paste big WeKan JSON
- Progress: Import/Export/Sync
- From CSV/TSV
- From Trello
- From Jira
- From Asana
- From Zenkit
- From old Wekan manually
- Converting Meteor Stylus to CSS
- Repair MongoDB
- Using Meteor MongoDB to repair files
- If board does not open and keeps loading
- Repair Docker
- Wekan Markdown
- Emoji
- Mermaid Diagram DOES NOT WORK ANYMORE
- Numbered text
- Automatic login
- Disable Password Login
- Forgot Password
- Admin: Impersonate user
- Adding Users
- Active users Presence
- Accounts Lockout: Brute force login protection
- LDAP
- LDAP AD Simple Auth
- Keycloak
- Google login
- Azure
- OAuth2, Auth0, GitLab, RocketChat
- Oracle OIM on premise using OAuth2
- ADFS 4.0 using OAuth2 and OpenID
- Azure AD B2C using OAuth2
- Nextcloud
- CAS Please test
- SAML Please test
- Zitadel
- Multiline
- Linked Cards
- Drag Drop on Mobile and Desktop
- Rclone: Store attachments to cloud storage like S3, MinIO, etc
- Python based features
- Burndown and Velocity Chart
- Wait Spinners
- Translations
- Default Language for All Users
- Roadmap
- Features
- Planning Poker
- Scaling
- Custom Logo
- Subtasks <== Has fix
- Templates
- Cover
- Archive and Delete
- Custom Fields
- Fix Export board menu not visible on some boards
- RAM usage
- Demo
- Swimlane Documentation
- Customize Translations
- Download Wekan for various Platforms: Supported by xet7, Operating Systems, NAS, Cloud
- Helm Chart for Kubernetes
- Caddy
- Nginx
- Apache
- OpenLiteSpeed
- Local self signed TLS
- Let's Encrypt and Google Auth
- TLS with Node.js
- Traefik and self-signed SSL certs
- Example: New card with Python3 and REST API
- Python client to REST API
- Go client to REST API
- Java
- Wekan Sandstorm cards to CSV using Python
- Excel and VBA
- Global Webhook
- Limiting Webhook data
- Receiving Webhooks
- Outgoing Webhook to Discord/Slack/RocketChat/Riot
- Outgoing Webhook to NodeRed
- Outgoing Webhook to PowerShell
- Security: Webhook and CA
- Outgoing Webhooks Data
- Outgoing Webhooks and Let's Encrypt
- Outgoing Webhooks Original Pull Request, multiple Webhooks, more parameters and response order