准备工具
- 首先看看需要准备的工具,其实工具很简单: 服务器: Linux 服务器最好(8G),个人推荐 ubuntu 系列的;2023 年了,不再推荐使用 CentOS;
- Docker: 容器自然不必说。
- 参考文档: https://cloud.tencent.com/developer/article/2331958
Docker 准备
# 安装基础依赖
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
# 方式二
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 更新
sudo apt update
# 安装Docker相关软件包
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 添加权限以及检查版本
sudo usermod -aG docker ubuntu
docker -v
部署 Gitlab
# 创建一个目录,用于存储GitLab Docker的文件:
sudo mkdir -p /dockerData/gitlab
export GITLAB_HOME=/dockerData/gitlab
# 执行命令
sudo docker run --detach \
--hostname gitlab.xxx \
--publish 8443:443 --publish 8880:80 --publish 8822: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 \
registry.gitlab.cn/omnibus/gitlab-jh:latest
# 查看log
sudo docker logs -f gitlab
初始化配置
# 默认的GitLab配置文件地址
cat /etc/gitlab/config/gitlab.rb
# 获取默认的密码
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
修改默认域名
vim /dockerData/gitlab/config/gitlab.rb
# 默认的域名
external_url 'https://gitlab.xx'
nginx['listen_port'] = 80
# 不开启 SSL(使用外置 Nginx 进行实现)
nginx['listen_https'] = false
# SSH port
gitlab_rails['gitlab_shell_ssh_port'] = 23333
# 重载配置
sudo docker exec gitlab gitlab-ctl reconfigure
Nginx 反向代理+Frp 内网穿透
- https://github.com/fatedier/frp
- https://github.com/fatedier/frp/blob/dev/README_zh.md
- docker ssh proxy bug
Once I enabled ipv6 forwarding, (adding net.ipv6.conf.all.forwarding = 1 in /etc/sysctl.conf and rebooting) everything starting working just fine