在 /root/.bash_profile 中设置环境变量 $GITLAB_HOME
export GITLAB_HOME=/home/gitlab/data # 指定数据文件
/home/gitlab/docker/docker-compose.yml # 配置文件
`docker compose up -d` 启动服务
version: '3.6'
services:
gitlab:
image: 'registry.gitlab.cn/omnibus/gitlab-jh:latest'
restart: always
hostname: 'git.x.cn'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://git.x.cn'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 需要配置到 gitlab.rb 中的配置可以在这里配置,每个配置一行,注意缩进。
# 电子邮件
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_ssl'] = true
gitlab_rails['smtp_user_name'] = "git@git.x.com"
gitlab_rails['smtp_password'] = "gitabc"
gitlab_rails['smtp_domain'] = "stmp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = true # 这个配置与 smtp_ssl = true 冲突
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'git@git.x.com'
# 使用非标准的 ssh 端口
gitlab_rails['gitlab_shell_ssh_port'] = 8022
ports:
- '80:80'
# - '443:443'
- '8022:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
shm_size: '256m'
# 修改密码
docker exec -it xxxxxx bash
## 以下容器中
root@git:/# gitlab-rails console
# 会等很久,下面会出现提示信息,并出现命令提示符 irb(main):001:0>
irb(main):003:0> user = User.find(1)
=> #<User id:1 @root>
irb(main):004:0> new_password = '12313131313'
=> "12313131313"
irb(main):005:0> user.password = new_password
=> "12313131313"
irb(main):006:0> user.password_confirmation = new_password
=> "12313131313"
irb(main):007:0> user.save!
=> true
irb(main):008:0> exit