Line 158: |
Line 158: |
| mongo | | mongo |
| use rocketchat | | use rocketchat |
− | db.rocketchat_settings.update({"_id" <nowiki>: "SMTP_Host"}, {$set: {"value":"mail.yourdomain.com"}}) | + | db.rocketchat_settings.update({"_id" : "SMTP_Host"}, {$set: {"value":"mail.yourdomain.com"}}) |
− | db.rocketchat_settings.update({"_id"</nowiki> <nowiki>: "From_Email"}, {$set: {"value":"admin@yourdomain.com"}})
| + | db.rocketchat_settings.update({"_id": "From_Email"}, {$set: {"value":"admin@yourdomain.com"}}) |
− | exit</nowiki>
| + | exit< |
| | | |
| Restart Rocket.Chat to be sure: | | Restart Rocket.Chat to be sure: |
Line 213: |
Line 213: |
| signal-event remoteaccess-update | | signal-event remoteaccess-update |
| | | |
− | Now we need to setup our subdomain | + | Now we need to setup our subdomain for the reverse proxy |
| | | |
| db domains set chat.mycompany.local domain Description RocketChat Nameservers internet \ | | db domains set chat.mycompany.local domain Description RocketChat Nameservers internet \ |
Line 318: |
Line 318: |
| db.rocketchat_settings.findOne({_id : "SMTP_Host"}, {_id:0, value: 1}) | | db.rocketchat_settings.findOne({_id : "SMTP_Host"}, {_id:0, value: 1}) |
| | | |
− | db.rocketchat_settings.update({"_id" <nowiki>: "From_Email"}, {$set: {"value":"admin@yourdomain.com"}}) | + | db.rocketchat_settings.update({"_id":"From_Email"}, {$set: {"value":"admin@yourdomain.com"}}) |
− | db.rocketchat_settings.update({"_id"</nowiki> <nowiki>: "SMTP_Host"}, {$set: {"value":"mail.yourdomain.com"}})</nowiki>
| + | db.rocketchat_settings.update({"_id":"SMTP_Host"}, {$set: {"value":"mail.yourdomain.com"}}) |
| | | |
| | | |
Line 327: |
Line 327: |
| Help | | Help |
| help | | help |
| + | |
| + | Some more mongo commands for reference |
| + | |
| + | https://github.com/RocketChat/Rocket.Chat/issues/15880#issuecomment-570070433 |
| + | |
| + | Directly check a specific user ID from bash: |
| + | mongo rocketchat --eval "db.users.find({'username':'usernamehere'}).forEach( function(u) { print(u._id + \" ; \" + u.username); } )" |
| + | |
| + | Log into rocketchat database: |
| + | mongo rocketchat |
| + | |
| + | Check out all the user IDs in the database: |
| + | db.users.find().forEach( function(u) { print(u._id + ";" + u.username); } ) |
| + | |
| + | Or just a specific user's ID: |
| + | db.users.find({'username':'usernamehere'}).forEach( function(u) { print(u._id + \" ; \" + u.username); } ) |
| + | |
| + | Replace specific user ID's password in the database: |
| + | db.users.update( {'_id': 'useridhere'}, {$set: {'services.password.bcrypt': 'bcryptedpasswordhere'}}, {multi:true} ) |
| + | |
| + | My only issue with above (only time I needed it for recovery purposes), was that I didn't know which tool to use to generate a bcrypted password. So in the hurry I copied the hash from one account I already knew (my own). If someone knows a good command for creating one directly in bash, I assume it would do. |
| + | |
| + | There are bcrypt password generators online, and various libraries you can use |
| + | |
| + | For listing out any passwords in the database I used: |
| + | |
| + | db.users.find().forEach( function(u) { print(u.services.password.bcrypt + " ; " + u.username); } ) |
| + | |
| + | If you have deactivated users it may fail so use this for individual accounts. |
| + | |
| + | However, you can get it for an individual user with: |
| + | |
| + | db.users.find({'username':'SomeUserName'}).forEach( function(u) { print(u.services.password.bcrypt + " ; " + u.username); } ) |
| + | |
| + | Set a user config item: |
| + | |
| + | db.users.update( {'username': 'SomeUserName'}, {$set: {'settings.preferences.showMessageInMainThread': 'true'}} ) |
| + | |
| + | Find a single user: |
| + | |
| + | db.getCollection('users').find( {'username':'SomeUserName'} ) |
| + | |
| + | Get limited information: |
| + | |
| + | db.getCollection('users').find({}, {"username":1, "settings.preferences.showMessageInMainThread":1}) |
| + | |
| + | Reset 2FA nonsense: |
| + | |
| + | db.users.update({'username': 'SomeUserName'}, {$unset: {'services.totp': 1}}); |
| + | db.users.update({'username': 'SomeUserName'}, {$unset: {'services.email2fa': 1}}); |
| | | |
| ===Database Backup=== | | ===Database Backup=== |
Line 397: |
Line 447: |
| mongoURL=localhost | | mongoURL=localhost |
| status=enabled | | status=enabled |
| + | |
| + | ==Koozali SME v10== |
| + | |
| + | I am starting to look at running this under docker on v10 |
| + | |
| + | Some quick notes. |
| + | |
| + | You will need |
| + | |
| + | Docker |
| + | https://wiki.contribs.org/Docker |
| + | |
| + | Docker Compose (because it makes it easier to template) |
| + | https://github.com/docker/compose/releases |
| + | |
| + | Mongo (I prefer to run a full instance rather than a docker one) |
| + | https://wiki.contribs.org/MongoDB |
| + | |
| + | Make sure you add replicaset support in Mongo |
| + | https://docs.rocket.chat/installation/manual-installation/centos |
| + | |
| + | I'll add more later, and try and make a full contrib in due course |
| + | |
| + | ===CentOS 7 notes=== |
| + | |
| + | Setup storage engine and replication for MongoDB (mandatory for versions > 1), and enable and start MongoDB and Rocket.Chat: |
| + | |
| + | They still recommend mmapv1 but it is probably better to stick with the default WiredTiger. Here's how to change if required: |
| + | |
| + | sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf |
| + | |
| + | You MUST initialise a replicaset so we must add this to the conf file: |
| + | |
| + | sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf |
| + | |
| + | Start Mongo |
| + | |
| + | systemctl enable mongod && sudo systemctl start mongod |
| + | |
| + | Initiate the set: |
| + | |
| + | mongo --eval "printjson(rs.initiate())" |