使用 Docker 安装 GitLab
1. 安装GitLab
最近想在本地创建一个GitLab仓库,简单记录一下:
- 简单设置一个GitLab信息的存储目录
export GITLAB_HOME=/etc/docker/gitlab/ && mkdir &GITLAB_HOME
- docker中启动
sudo docker run --detach \
# 以下配置访问的地址,可以是:
# IP+端口:通过「IP+端口」访问主页
# 仅IP:通过「IP+80端口」访问
# 域名:若是放在公网上(或内网穿透后)可以使用该ip进行访问
--hostname 192.168.1.2 \
--publish 443:443 --publish 80:80 --publish 23: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 \
--shm-size 256m \
gitlab/gitlab-ee:latest
IP的设置有很多方式,可以试着+三级域名来实现,比如DNS解析、frp内穿自带的三级域名功能等…
- 启动成功后,访问刚才设置的IP可以进入GitLab主页
需要注意的是,GitLab需要启动的东西很多,占用的资源比较多,所以一开始访问的时候可能是下面这样显示「502:We’re sorry. GitLab is taking too much time to respond.」字样,这只是GitLab还没完全启动完成,安心等待即可。
若是什么都访问不到,可以尝试使用:
docker ps -a
docker logs -f continer_name
来查看启动状态、查看日志等内容,其他操作自行尝试。
启动成功后再次登录,会进入一个登录界面,初始用户名是
root
,初始密码是一串很长的随机数,在Linux下执行下面的命令获取初始密码:
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
将改密码输入到Gitlab的登录密码框里,用户名写root
,即可登陆成功。
2. 配置邮件服务
- 配置邮箱
发送通知邮件,邮件服务就是你注册成功或者有合并请求的时候会给你发送邮件,告诉你一些相关的信息。
可以不配置,非必须。
– 以QQ邮箱为例 –
## 进入目录并编辑配置文件
cd $GITLAB_HOME/config/
vim gitlab.rb
## 在文件中插入或修改以下内容
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "QQ号@qq.com"
gitlab_rails['smtp_password'] = "QQ邮箱授权码"
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['gitlab_email_from'] = "QQ号@qq.com"
「邮箱授权码」可以去QQ邮箱那里去申请,其他邮箱也是一样的,只不过不同的邮箱(如163、gmail)等需要修改
smtp_domain
、端口等信息。
- 重启Docker容器
docker restart gitlab