目录
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
注意“shm-size”这个参数,太小了可能容易报错500。
sudo docker run --detach \
--hostname 123.123.123.123\
--publish 8443:443 --publish 8080:80 --publish 8022:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
--shm-size 2g\
gitlab/gitlab-ce:latest
官方教程里给的256m太小了,实测运行起来占用了约400m,因此建议至少给个1gba。
sudo vim /srv/gitlab/config/gitlab.rb
修改内容为(与上面对应):
gitlab_rails['gitlab_shell_ssh_port'] = 8022
重启:
sudo docker restart gitlab
进入Gitlab:
sudo docker exec -it gitlab bash
依次执行以下命令,注意修改密码设置处:
gitlab-rails console -e production
user = User.where(id: 1).first
user.password = 'secret_pass'
user.password_confirmation = 'secret_pass'
user.save!
exit
exit
重启并查看日志
sudo docker restart gitlab
sudo docker logs -f gitlab
重启后,大概要等2分钟左右,等待启动完成。
http://123.123.123.123:8080
sudo vim /srv/gitlab/config/gitlab.rb
修改内容为:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "123@qq.com"
gitlab_rails['smtp_password'] = "1111"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = '123@qq.com'
sudo docker exec -it gitlab bash
# 重新加载配置信息
gitlab-ctl reconfigure
# 重新启动服务
gitlab-ctl restart
测试邮箱
gitlab-rails console
Notify.test_email('123@qq.com', 'title', 'body').deliver_now
进Gitlab查看错误日志
sudo docker exec -it gitlab bash
# 查看gitlab的运行状态
gitlab-ctl status
# 查看gitaly的错误日志
gitlab-ctl tail | grep error
修改权限
sudo docker exec -it gitlab bash
cd /etc/gitlab/
chmod 600 ssh_host_ed25519_key
chmod 600 ssh_host_rsa_key
gitlab-ctl stop
gitlab-ctl start
exit
sudo docker stop gitlab
sudo docker rm gitlab
sudo docker rmi gitlab/gitlab-ce:latest
sudo docker system prune