One of my goals for 2022 is to spend some more focused time learning as much as I can on Reclaim Cloud. I’ve realized more (more now lately) that I am completely new to this mystical “Cloud” and all that’s possible with it. I initially took some training when we first started to get prepared on admin side of Reclaim Cloud where we can manage any user management and billing.
With the admin side training, I am very new to everything Cloud related. And with the Cloud, the possibilities are endless, which is super daunting. But I’ve been challenging myself to take some of the Reclaim Cloud tickets that come through support to tackle learning a bit at a time.
This first started when Jim was working on a Mattermost upgrade for a client. We’d been working on getting the container software up to the most recent version of Mattermost.
So Taylor, Jim and I jumped in a huddle in Slack (sidenote: this is the best feature in Slack by far, I’ve been using this a ton in the last couple of weeks) to look over getting the older version of Mattermost migrated to a new container without losing content. And after an hour and a half of talking and brainstorming, we made some headway!
I was in completely new territory. The core functions of Mattermost require MySQL or PostgreSQL as the database. This install was set up using PostgreSQL, which is not a database I’ve worked with until this point. We needed access to the database to export a copy as we migrate to the new clone. We first tried to run the commands to import/export from the WebSSH console, but quickly realized that we’ll need the username and password for the database in particular. The only problem, we didn’t have the username and password to access PostgreSQL.
The user is emailed the username and password when the Postgre database is set up on the environment but to eliminate some back and forth with the customer we decided to look through the config files to find the username and password. This is one feature cPanel does really well, adding an SSO aspect to PHPMyAdmin, that I’ve taken for granted. But I’ve used the config files to gain access to the databases for WordPress of Omeka migrations in the past, so I figured we could use the same method for Mattermost! There’s a config file somewhere right?
Looking through the Mattermost documentation, I was able to locate the configuration files necessary to grab the database user and password! Ah ha! Once we had that we could grab an export of the database within phpPgAdmin. After the export happened, it was smooth sailing from there, after a failed attempt to rsync from a docker container, we quickly realized we could SCP to a local machine and back to the final location.
Now for future Meredith to refer back to– some documentation we used during the migration:
- SQL Dump through Postgre SQL
- Configuration in Mattermost Database
- phpPgAdmin node URL
- Postgresguide to Psql
- Docker Hub Mattermost repo
- Import/Export Database in phpPgAdmin
- Rsync from host computer to docker container
- Dump and restore database from docker container
I later had to jump off the huddle to work through the Support queue but I would say this was a massive success!! I found that this was by far the best Cloud learning experience I’ve had to date, and I’m super excited for more to come.