Snap
a) Wekan Snap
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/wekan/current/lib/x86_64-linux-gnu
export PATH="$PATH:/snap/wekan/current/bin"
mongo --port 27019
If you have disabled new user registration at Admin Panel, you can enable it, and create new user your https://wekan.example.com/sign-up :
db.settings.update({},{$set: {"disableRegistration":false}})
Find what users there are:
db.users.find()
Set some user as admin:
db.users.update({username:'admin-username-here'},{$set:{isAdmin:true}})
Check are there any failed logins with wrong password, that brute force login prevention has denied login:
db.AccountsLockout.Connections.find()
If there are, delete all those login preventions:
db.AccountsLockout.Connections.deleteMany({})
Then exit:
exit
Then login to Wekan and change any users passwords at Admin Panel / People / People
.
b) Wekan Gantt GPL Snap
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/wekan-gantt-gpl/current/lib/x86_64-linux-gnu
export PATH="$PATH:/snap/wekan-gantt-gpl/current/bin"
mongo --port 27019
If you have disabled new user registration at Admin Panel, you can enable it, and create new user your https://wekan.example.com/sign-up :
db.settings.update({},{$set: {"disableRegistration":false}})
Find what users there are:
db.users.find()
Set some user as admin:
db.users.updateOne({username:'admin-username-here'},{$set:{isAdmin:true}})
Check are there any failed logins with wrong password, that brute force login prevention has denied login:
db.AccountsLockout.Connections.find()
If there are, delete all those login preventions:
db.AccountsLockout.Connections.deleteMany({})
Then exit:
exit
Then login to Wekan and change any users passwords at Admin Panel / People / People
.
c) Use DBGate or Nosqlbooster to edit wekan database users table to have admin true:
- https://github.com/wekan/wekan/wiki/Backup#dbgate-open-source-mongodb-gui
- https://github.com/wekan/wekan/wiki/Forgot-Password
Set user as BoardAdmin on all boards user is member of
db.boards.updateMany(
{ members: { $elemMatch: { userId: “USER-ID-HERE”, isAdmin: false } } },
{
$set: { “members.$.isAdmin”: true },
}
);
Docker
- Change to inside of wekan database Docker container:
docker exec -it wekan-db bash
- Start MongoDB Shell
/bin/mongosh
- List databases
show dbs
- Change to wekan database
use wekan
- Show collections/tables
show collections
- Count users
db.users.count()
- If you have disabled new user registration at Admin Panel, you can enable it, and create new user your https://wekan.example.com/sign-up :
db.settings.update({},{$set: {"disableRegistration":false}})
- Find what users there are:
db.users.find()
- Set some user as admin:
db.users.update({username:'admin-username-here'},{$set:{isAdmin:true}})
- Check are there any failed logins with wrong password, that brute force login prevention has denied login:
db.AccountsLockout.Connections.find()
- If there are, delete all those login preventions:
db.AccountsLockout.Connections.deleteMany({})
- Then exit:
exit
- Then login to Wekan and change any users passwords at
Admin Panel / People / People
.
More info:
OLD INFO BELOW:
-
Download Robo 3T on your Linux or Mac computer. Or, using ssh shell to server, login to MongoDB database using mongo cli
-
Make SSH tunnel to your server, from your local port 9000 (or any other) to server MongoDB port 27019:
ssh -L 9000:localhost:27019 user@example.com
- Open Robo 3T, create new connection: Name, address: localhost : 9000
a) If you don't have self-registration disabled, register new account at /sign-up, and make yourself admin in MongoDB database:
- Use database that has wekan data, for example:
use wekan
- Add Admin rights to some Wekan username:
db.users.update({username:'admin-username-here'},{$set:{isAdmin:true}})
b) If someone else remembers their password, and his/her login works, copy their bcrypt hashed password to your password using Robo 3T.
c) Install Wekan elsewhere, create new user, copy bcrypt hashed password to your password.
d) Backup, New install, Create User, Copy Password, Restore:
- Backup Snap
- stop wekan
sudo snap stop wekan.wekan
3a. Empty database by dropping wekan database in Mongo 3T 3b. Empty database in [mongo cli](mongo cli](Backup#mongodb-shell-on-wekan-snap):
mongo --port 27019
Look what databases there are:
show dbs
Probably database is called wekan, so use it:
use wekan
Delete database:
db.dropDatabase()
- Start wekan:
sudo snap stop wekan.wekan
- Register at /sign-up
- Copy bcrypt hashed password to text editor
- Restore your backup
- Change to database your new bcrypt password.
Don't have Admin Rights to board
- In Robo 3T, find where your ID that your username has:
db.getCollection('users').find({username: "YOUR-USERNAME-HERE"})
- Find board where you are not admin, using user ID you found above:
db.getCollection('boards').find({members: {$elemMatch: { userId: "YOUR-USER-ID-HERE", isAdmin: false} } })
And set yourself as admin.
Wekan
General
- 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
Fake: Not WeKan kanban
Security
- Allow private boards only: Disable Public Boards
- Security Disclosure and details of Security in Wekan
- Security issues
- Password Hashing
Scaling
- 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
Migrating
- 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
Support priorities for new features and bugfixes
Backup
Repair
- Repair MongoDB
- Using Meteor MongoDB to repair files
- If board does not open and keeps loading
- Repair Docker
Themes
Markdown Syntax
- Wekan Markdown
- Emoji
- Mermaid Diagram DOES NOT WORK ANYMORE
- Numbered text
Login Auth
- 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
Metrics, Logs, Stats
Integrations
Time
Features
- 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
Required Settings
Download
- Download Wekan for various Platforms: Supported by xet7, Operating Systems, NAS, Cloud
- Helm Chart for Kubernetes
Webservers
- Caddy
- Nginx
- Apache
- OpenLiteSpeed
- Local self signed TLS
- Let's Encrypt and Google Auth
- TLS with Node.js
- Traefik and self-signed SSL certs
REST API Docs
REST API issue
REST API client code
- 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
Webhooks
- 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
Case Studies
Development
- Kadira integration
- Debugging
- Developer Docs for Standalone Wekan
- Developer Docs for Sandstorm Wekan
- Adding new Snap setting to code
- Directory Structure
- Building Wekan for Sandstorm
- Docs - Sandstorm etc
- Beginner
- Maintainer FAQ
Issues
Wekan - OpenSource Kanban