Sharing my change implemenmtation plan because running sameersbn/docker-gitlab using docker-compose has some special commands to get it working
Make sure you configure
GITLAB_BACKUP_DIR external to your container and set up something like AWS S3 storage backups in addition to local harddrive backup. Your data is almost guaranteed to be safe of AWS S3, however the reason I recommend two modes of backup is in case one method fails (e.g. no internet connection or AWS credential expiry.) You will be very happy to realize that a local filesystem backup is still availabl.
docker exec -it gitlab_gitlab_1 /bin/sh # /sbin/entrypoint.sh app:rake gitlab:backup:create
docker-compose down echo "Upgrade postgres, redis versions" docker-compose up echo "Confirm new version of postgres and redis are running using docker ps" docker-compose down docker-compose stop gitlab docker-compose rm gitlab echo "Change version from x to 11.11.0 in your docker-compose.yml file - required migration path before going to 12.2.5" docker-compose up echo "confirm usng gitlab admin login that new version is installed." docker-compose down echo "Change version to 12.2.5 in docker-compose.yml" Docker-compose stop gitlab Docker-compose rm gitlab Docker-compose up -d docker-compose logs -tf
Setting up a DEV environment to practise the whole change implementation
Use this to setup a (local) dev environment, load in your data from backup and practise the whole change implementation before doing in Production. Any issues you find can be adopted into the change implementation plan.
Create dev environment
Docker-compose down -v Docker-compose up -d Docker-compose logs -tf docker exec -it gitlab_gitlab_1 /bin/sh # /sbin/entrypoint.sh app:rake db:setup # /sbin/entrypoint.sh app:rake gitlab:backup:restore BACKUP=1568373821 Yes Yes # exit docker-compose restart