概述,docker-compose部署gitliab-ce 16.6.7版本,备份方案是gitlab本地运行节点不同磁盘进行一份本地备份,然后通过lsyncd将备份目录实时同步到异节点的指定目录备份。
一、docker-compose部署gitlab
gitlab官网使用dockers部署的教程:Install GitLab using Docker | GitLab
version: '3.6'
services:
gitlab:
image: gitlab/gitlab-ce:16.6.7-ce.0
container_name: gitlab
restart: always
hostname: 'gitlab'
environment:
GITLAB_OMNIBUS_CONFIG: |
#宿主机访问地址
external_url 'https://192.168.1.x'
#默认一天备份一次
gitlab_rails['backup_keep_time'] = 86400
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
- 本地备份目录:/var/opt/gitlab/backups
shm_size: '256m'
二、安装部署lsyncd,配置远程备份
1.使用yum安装lsyncd
yum install lsyncd
2.配置lsyncd
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/tmp/lsyncd.status",
insist = true,
inotifyMode = "Modify",
statusInterval = 1
}
sync {
default.rsyncssh,
#本地的待同步目录
source="/data/backup",
#远程节点ip
host="192.168.x.x",
#拷贝到远程节点的路径
targetdir="/data/backup",
maxDelays = 5,
delay = 0,
rsync = {
archive = true,
compress = false,
-- verbose = true
},
ssh = {
port = 22
}
}