Skip to content

Forgot Password

Lauri Ojansivu edited this page Jun 18, 2023 · 12 revisions

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.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.

c) Use DBGate or Nosqlbooster to edit wekan database users table to have admin true:

Set user as BoardAdmin on all boards user is member of

Source

db.boards.updateMany(
{ members: { $elemMatch: { userId: “USER-ID-HERE”, isAdmin: false } } },
{
$set: { “members.$.isAdmin”: true },
}
);

Docker

  1. Change to inside of wekan database Docker container:
docker exec -it wekan-db bash
  1. Start MongoDB Shell
/bin/mongosh
  1. List databases
show dbs
  1. Change to wekan database
use wekan
  1. Show collections/tables
show collections
  1. Count users
db.users.count()
  1. 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}})
  1. Find what users there are:
db.users.find()
  1. Set some user as admin:
db.users.update({username:'admin-username-here'},{$set:{isAdmin:true}})
  1. Check are there any failed logins with wrong password, that brute force login prevention has denied login:
db.AccountsLockout.Connections.find()
  1. If there are, delete all those login preventions:
db.AccountsLockout.Connections.deleteMany({})
  1. Then exit:
exit
  1. Then login to Wekan and change any users passwords at Admin Panel / People / People.

More info:


OLD INFO BELOW:

  1. Download Robo 3T on your Linux or Mac computer. Or, using ssh shell to server, login to MongoDB database using mongo cli

  2. 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
  1. 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:

  1. Use database that has wekan data, for example:
use wekan
  1. 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:

  1. Backup Snap
  2. 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()
  1. Start wekan:
sudo snap stop wekan.wekan
  1. Register at /sign-up
  2. Copy bcrypt hashed password to text editor
  3. Restore your backup
  4. Change to database your new bcrypt password.

Don't have Admin Rights to board

  1. In Robo 3T, find where your ID that your username has:
db.getCollection('users').find({username: "YOUR-USERNAME-HERE"})
  1. 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

Fake: Not WeKan kanban

Security

Scaling

Migrating

Support priorities for new features and bugfixes

  1. Commercial Support
  2. Community Support
  3. Debugging

Backup

Repair

Themes

Markdown Syntax

Login Auth

Metrics, Logs, Stats

Integrations

Time

Features

Email

Required Settings

Download

Webservers

REST API Docs

REST API issue

REST API client code

Webhooks

Case Studies

Development

Issues

Clone this wiki locally