Mattermost v8.0+ and PostgreSQL
-
Reported the import issue at https://github.com/mattermost/mattermost/issues/27182
-
wrote on May 28, 2024, 9:28 AM last edited by
Excellent! I will try to migrate an external mattermost with postgresql to Cloudron
-
@cvachery I just managed to do a database migration using pgloader. Just publishing my notes in the docs.
-
-
wrote on May 29, 2024, 12:29 PM last edited by
I've mostly done it using the official mattermost documentation : https://docs.mattermost.com/onboard/migrating-to-mattermost.html#migrate-mattermost-from-one-server-to-another and https://docs.mattermost.com/deploy/backup-disaster-recovery.html#backup
Copied the config.json from the origin server and changer the SQL settings with the logins from the cloudron mattermost file.
Only issue I'm having is the importing of the local data to cloudron. I've around 20GB of data to be moved to the
files
folder but the upload crash when uploading the tar.gz file. Uploading the file uncompressed crash too after a while (couple of hours) -
I've mostly done it using the official mattermost documentation : https://docs.mattermost.com/onboard/migrating-to-mattermost.html#migrate-mattermost-from-one-server-to-another and https://docs.mattermost.com/deploy/backup-disaster-recovery.html#backup
Copied the config.json from the origin server and changer the SQL settings with the logins from the cloudron mattermost file.
Only issue I'm having is the importing of the local data to cloudron. I've around 20GB of data to be moved to the
files
folder but the upload crash when uploading the tar.gz file. Uploading the file uncompressed crash too after a while (couple of hours)@cvachery said in Mattermost v8.0+ and PostgreSQL:
Only issue I'm having is the importing of the local data to cloudron. I've around 20GB of data to be moved to the
files
folder but the upload crash when uploading the tar.gz file. Uploading the file uncompressed crash too after a while (couple of hours)Try with the cloudron CLI, it might work better
-
wrote on May 29, 2024, 2:11 PM last edited by
Sometimes I do forget that Cloudron isn't a blackbox SaaS application and that I do have access to the server
Currently doing an rsync to the server will let you know when it's all done.
Thank you -
wrote on May 29, 2024, 2:56 PM last edited by
Ok So it's perfectly working.
Steps done :
- Dumped the PostgreSQL DB and config.json file
- Uploaded them to the cloudron server
- Copied the files folder to the cloudron server
- Imported the dump with psql from the app terminal
- Changed the
files
ownership tocloudron
in the file manager - Edited in the
config.json
from the origin server to add the new files path from the cloudron config.json- "ServiceSettings" => "SiteURL"
- "SqlSettings" => "DataSource" and "DataSourceReplicas"
- "FileSettings" => "Directory"
-
Ok So it's perfectly working.
Steps done :
- Dumped the PostgreSQL DB and config.json file
- Uploaded them to the cloudron server
- Copied the files folder to the cloudron server
- Imported the dump with psql from the app terminal
- Changed the
files
ownership tocloudron
in the file manager - Edited in the
config.json
from the origin server to add the new files path from the cloudron config.json- "ServiceSettings" => "SiteURL"
- "SqlSettings" => "DataSource" and "DataSourceReplicas"
- "FileSettings" => "Directory"
@cvachery Do you have a list of commands/queries you've done?
I tried both methods, and had issues with them.
The 1st (database migration) renders in a plethora of errors with indexes and columns. Even though I followed Cloudron docs and the upstream's, I can't seem to be able to make it work.
The 2nd (Bulk import) didn't restore any of my DMs which makes it a no-go.
If you could provide some guidance, I'd be very grateful.
-
@cvachery Do you have a list of commands/queries you've done?
I tried both methods, and had issues with them.
The 1st (database migration) renders in a plethora of errors with indexes and columns. Even though I followed Cloudron docs and the upstream's, I can't seem to be able to make it work.
The 2nd (Bulk import) didn't restore any of my DMs which makes it a no-go.
If you could provide some guidance, I'd be very grateful.
@Lanhild said in Mattermost v8.0+ and PostgreSQL:
@cvachery Do you have a list of commands/queries you've done?
I tried both methods, and had issues with them.
The 1st (database migration) renders in a plethora of errors with indexes and columns. Even though I followed Cloudron docs and the upstream's, I can't seem to be able to make it work.
The 2nd (Bulk import) didn't restore any of my DMs which makes it a no-go.
If you could provide some guidance, I'd be very grateful.
@cvachery If you can get back to me on this, I'd be very happy.
-
@Lanhild said in Mattermost v8.0+ and PostgreSQL:
@cvachery Do you have a list of commands/queries you've done?
I tried both methods, and had issues with them.
The 1st (database migration) renders in a plethora of errors with indexes and columns. Even though I followed Cloudron docs and the upstream's, I can't seem to be able to make it work.
The 2nd (Bulk import) didn't restore any of my DMs which makes it a no-go.
If you could provide some guidance, I'd be very grateful.
@cvachery If you can get back to me on this, I'd be very happy.
wrote on Jun 6, 2024, 7:45 AM last edited by@Lanhild Sorry missed your message.
I will see if I can do another test migration this afternoon (CEST) and take some more notes. But basically I wrote the steps below on a clean Mattermost PostgreSQL install:- Dumped the DB with :
pg_dump -d mattermost > mattermost.dump
- Renamed on cloudron
config.json
toconfig.json.orig
- Copied
mattermost.dump
andconfig.json
to cloudron mattermost via the file manager - Edited
config.json
with the value fromconfig.json.orig
(to get the PostgreSQL details)- "ServiceSettings" => "SiteURL"
- "SqlSettings" => "DataSource" and "DataSourceReplicas"
- "FileSettings" => "Directory"
- From the terminal app did
PASSWORD=${CLOUDRON_POSTGRESQL_PASSWORD} pg_restore -h ${CLOUDRON_POSTGRESQL_HOST} -p ${CLOUDRON_POSTGRESQL_PORT} -U ${CLOUDRON_POSTGRESQL_USERNAME} -d ${CLOUDRON_POSTGRESQL_DATABASE} ../data/mattermost.dump
- Rsynced all my attachments from origin_server to cloudron_server:app_folder (cf girish post )
- Restarted the app
- Dumped the DB with :