Import data from another installation
-
I intend to import data from existing RocketChat installation in another server to my Cloudron's RocketChat instance. The preferred way is to use
mongodump
command to export the data, andmongorestore
to restore that data to a new server.I don't find a way to import the database backup to the mongo instance. There's a Upload to /tmp option in the console for RocketChat, but I need to upload the database dump to the mongodb container.
How can I import the existing database to my Cloudron RocketChat instance?
-
@nj After you upload the file, you can run the command
env | grep CLOUDRON_MONGO
in the terminal. This will give you the credentials to access the mongodb container from the app. Is that what you are looking for? I assume it's just a matter of running mongorestore command with the credentials and the dump file after that. -
@nj Indeed, this is a bug in the package. It seems we forgot the mongo-tools package in the latest image 2.0.0. I will push an update shortly.
-
@nj I have pushed an update, can you please check?
-
I'm running into a different issue here where I'm able to run the mongo shell, but
mongorestore
can't find the instance.This works:
mongo -u "${CLOUDRON_MONGODB_USERNAME}" -p "${CLOUDRON_MONGODB_PASSWORD}" ${CLOUDRON_MONGODB_HOST}:${CLOUDRON_MONGODB_PORT}/${CLOUDRON_MONGODB_DATABASE}
This doesn't:
mongorestore -u "${CLOUDRON_MONGODB_USERNAME}" -p "${CLOUDRON_MONGODB_PASSWORD}" -h ${CLOUDRON_MONGODB_HOST} -p ${CLOUDRON_MONGODB_PORT} -d ${CLOUDRON_MONGODB_DATABASE} /tmp/rocketchat_backup
It gives the message:
Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed.
Any ideas on what I'm doing wrong? I tried
rs.initiate()
from inside the shell, but my user doesn't have permissions to run any commands. Can't even doshow dbs
.Thanks!
-
@kaxline Are you trying this from the web terminal? Can you try this guide - https://cloudron.io/documentation/guides/import-mongodb/ ?