How to backup gitlab-ce mattermost docker container(s)

I have gitlab-ce with mattermost integrated, self hosted server running in a docker container. I need to do an upgrade and want to fully backup before. I’m new to docker, and new to administering this tool. I’m not an IT professional but need to handle the upgrade myself.

For me, this being an mattermost version running in a docker container seems much more confusing. I have managed to shell into the container and performed the Mattermost data, config.json, and postgresql backup but I that does not deal with my gitlab repository project data. further, I’m wondering if a docker commit backup process and storing the resulting backup to external storage might be more complete and safer?

Questions:
A: to complete this task, will performing steps for docker container backup, e.g. Easy steps to backup and restore your Docker containers be appropriate for complete gitlab/mattermost backup?
B: does the docker commit command handle stopping and restarting the gitlab-ce container file safe backup?
C: Is this the right approach needed prior to a gitlab upgrade?

Thanks

GitLab 14.7.3
GitLab Shell 13.22.2
GitLab Workhorse v14.7.3
GitLab API v4
GitLab Pages 1.51.0
Ruby 2.7.5p203
Rails 6.1.4.4
PostgreSQL 12.7
Redis 6.0.16
Mattermost Team Edition - Mattermost Version: 6.2.2
Database Schema Version: 6.2.2
Database: postgres

@balonik I hope you can help here. I have since found web page that seems to offer guideline on doing docker gitlab backup,
but I still have questions as I approach time to do gitlab backup.

Currently, the gitlab.rb file has all backup related lines commented out.
It is my understanding that we are backuping up to a remote server off-site but my IT person left without documenting.
I’m unsure whether the docker storage has enough capacity for the full backup I need to do before an upgrade.

How can I insure that backup can be done and not run out of space? I have other mount points that have sufficient memory

Thanks

Hi,

You should follow the official Gitlab documentation for backups and restore: Back up and restore GitLab | GitLab

Also, here is an article relating to Gitlab Docker Backup and Restore, using the appropriate Gitlab commands that will have been mentioned in the Gitlab Backup documentation as well: Backup and restore Gitlab in docker - A code to remember

I don’t use docker, but I don’t think using docker snapshot commands for backups are a good idea. Especially if the container is running. Also a docker save command for a container outputs it to a tar file. Again, I don’t think this is a good idea either. But I could be wrong. Just test it and try to restore it on a new server with docker and see if the restore worked? If the container starts and you can access it and you can see everything, then you have a backup. If not then I would ensure to follow Gitlab’s official documentation.

As for Mattermost, I suggest you ask on Mattermost forums about that.