目录

安装Docker

安装Gitlab

修改配置文件

初始化管理员

登录Gitlab

报错500

UNPROTECTED PRIVATE KEY FILE

卸载Gitlab


【教程】全流程Ubuntu安装Docker版Gitlab并初始化管理员_linux

安装Docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装Gitlab

注意“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。

【教程】全流程Ubuntu安装Docker版Gitlab并初始化管理员_git_02

修改配置文件

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

登录Gitlab

重启后,大概要等2分钟左右,等待启动完成。

http://123.123.123.123:8080

【教程】全流程Ubuntu安装Docker版Gitlab并初始化管理员_bash_03

开启邮箱

sudo vim /srv/gitlab/config/gitlab.rb

修改内容为:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = ""
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "123@"
gitlab_rails['smtp_password'] = "1111"
gitlab_rails['smtp_domain'] = ""
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@'
sudo docker exec -it gitlab bash
# 重新加载配置信息
gitlab-ctl reconfigure
# 重新启动服务
gitlab-ctl restart

测试邮箱

gitlab-rails console
Notify.test_email('123@', 'title', 'body').deliver_now

【教程】全流程Ubuntu安装Docker版Gitlab并初始化管理员_gitlab_04

 

报错500

进Gitlab查看错误日志

sudo docker exec -it gitlab bash
# 查看gitlab的运行状态
gitlab-ctl status
# 查看gitaly的错误日志
gitlab-ctl tail | grep error

UNPROTECTED PRIVATE KEY FILE

修改权限

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

卸载Gitlab

sudo docker stop gitlab
sudo docker rm gitlab
sudo docker rmi gitlab/gitlab-ce:latest
sudo docker system prune