====== Gitlab ======
The current installation is under: http://gitlab.wialon-consulting.de:8080/
===== Start =====
A wrong method to start the Gitlab container:
''sudo docker logs -f gitlab''
The container will start. After that press Ctrl+C to exit the log.
At the moment I don't know a better method to start the container => search for it.
Note (05.05.2023):
''sudo docker start gitlab''
worked too... I don't know why it was not possible previously. Maybe something goes wrong, but I didn't seen it?
===== Backup =====
I made backup with the help of this document: https://docs.gitlab.com/ee/raketasks/backup_restore.html
The command was: ''sudo docker exec -t gitlab gitlab-rake gitlab:backup:create''
Also I've copied the ''/dockerdata/gitlab/config'' directory to ''~/gitlab.bak/config''.
===== Restore =====
I've used the following document: https://docs.gitlab.com/ee/raketasks/backup_restore.html#restore-gitlab
So:
# Stop the processes that are connected to the database
sudo docker exec -it gitlab gitlab-ctl stop puma
sudo docker exec -it gitlab gitlab-ctl stop sidekiq
# Verify that the processes are all down before continuing
sudo docker exec -it gitlab gitlab-ctl status
# Run the restore. NOTE: "_gitlab_backup.tar" is omitted from the name
sudo docker exec -it gitlab gitlab-backup restore BACKUP=1637386323_2021_11_20_14.4.2
# Restart the GitLab container
sudo docker restart gitlab
# Check GitLab
sudo docker exec -it gitlab gitlab-rake gitlab:check SANITIZE=true
===== Upgrade =====
I made upgrade with the following document: https://docs.gitlab.com/ee/install/docker.html#update-gitlab-using-docker-engine
1. I made a backup (see above)
2. I stopped the running container:
sudo docker stop gitlab
3. I removed the container:
sudo docker rm gitlab
4. I pulled the new image:
sudo docker pull gitlab/gitlab-ce:latest
5. Then I created the new container with the following command:
sudo docker run --detach \
--hostname gitlab.wialon-consulting.de \
--publish 8443:443 --publish 8080:80 --publish 1022:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
Unfortunately I couldn't upgrade directly to the latest version, so it was necessary to upgrade major versions:
sudo docker pull gitlab/gitlab-ce:12.0.0-ce.0
# then stop container, remove container, create new container, then pull new version ...
sudo docker pull gitlab/gitlab-ce:13.0.0-ce.0
# ... then run it again
===== Installed versions =====
* Installed versions
* **+** 11.11.3-ce.0
* **+** 12.0.0-ce.0
* **-** ...
* **+** 14.0.0-ce.0
* **+** 14.0.5-ce.0
* ''sudo docker pull gitlab/gitlab-ce:14.0.5-ce.0''
* **Important for this version** (I had problems with this upgrade):
* The batched background migrations should be completed before upgrade to the next version. See [[https://docs.gitlab.com/ee/update/#1400|Upgrade instructions for 14.0.0]] and [[https://docs.gitlab.com/ee/update/#check-the-status-of-batched-background-migrations|Check the status of batched background migrations]]
* **+** 14.0.12-ce.0
* ''sudo docker pull gitlab/gitlab-ce:14.0.12-ce.0''
* **-** 14.1.0-ce.0
* ''sudo docker pull gitlab/gitlab-ce:14.1.0-ce.0''
* The upgrade from 14.0.12 to 14.1.0 did not worked! I rolled back, but it did not worked too. What worked after roll back is the upgrade to 14.1.1. See https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/6352#note_659967231
* **+** 14.1.1-ce.0
* ''sudo docker pull gitlab/gitlab-ce:14.1.1-ce.0''
* **+** 14.2.1-ce.0
* ''sudo docker pull gitlab/gitlab-ce:14.2.1-ce.0''
* **-** 14.3.0-ce.0
* ''sudo docker pull gitlab/gitlab-ce:14.3.0-ce.0''
* This upgrade (14.2.1 -> 14.3.0) did not work, so I had to take rollback and upgrade to 14.3.1 after that. So: 14.2.1 -> 14.3.0 -> 14.2.1 -> 14.3.1.
* **+** 14.3.1-ce.0
* ''sudo docker pull gitlab/gitlab-ce:14.3.1-ce.0''
* **+** 14.4.1-ce.0
* ''sudo docker pull gitlab/gitlab-ce:14.4.1-ce.0''
* **+** 14.4.2-ce.0
* ''sudo docker pull gitlab/gitlab-ce:14.4.2-ce.0''
===== Misc =====
==== Big log file ====
Gitlab creates a big log file in the current container:
* at the moment:
* ''/var/lib/docker/containers/992bd1257242f4e8ac5288959bf5e0a822afd7813e470b4bc48f614e22b931b7/992bd1257242f4e8ac5288959bf5e0a822afd7813e470b4bc48f614e22b931b7-json.log''
So it is necessary to remove this file regularly (possible only as root):
sudo -s
cd /var/lib/docker/containers/992bd1257242f4e8ac5288959bf5e0a822afd7813e470b4bc48f614e22b931b7
rm 992bd1257242f4e8ac5288959bf5e0a822afd7813e470b4bc48f614e22b931b7-json.log
Other command which can be useful is **du** (disk usage):
# disk usage of all directories and files in current directory
du -sh ./*
# disk usage of a specific directory
du -sh directory_name
==== Gitlab configuration ====
The gitlab configuration is in file: ''/dockerdata/gitlab/config/gitlab.rb''
At the moment I've changed only prometheus configuration:
prometheus['enable'] = false
Also interesting info about cleaning of prometheus data: https://forum.gitlab.com/t/clear-up-postges-prometheus-data/38216