在 Debian 12 中使用 Docker 安装 Gitlab
有些内容不需要推送到远端服务器,正好之前将一台零刻小主机作为服务器使用,于是自己搭一个 Gitlab 的服务器,使用社区版是免费的。
Linux 虚拟机的内存要设置的大一些,Gitlab 会使用 3GB+ 的内存。
- Debian 12.01
- Gitlab-CE 16.5
16.3 的版本简体中文翻译进度 99%
准备
首先更新系统与软件,然后安装所需的依赖
1 | apt update && apt upgrade |
安装 Docker 与 Docker Compose
1 | apt install docker docker-compose -y |
Docker 的 Gitlab 也需要使用 SSH 端口,可以将系统的 SSH 端口修改其他数字
1 | vim /etc/ssh/sshd_config |
取消注释并修改端口数字
1 | Port 22 |
重启 SSH 服务生效
1 | systemctl restart sshd |
设置工作目录
创建目录
1
mkdir -p /opt/gitlab
创建环境变量文件
1
2
3cd /opt/gitlab
vim .env填入下面的内容
1
GITLAB_HOME=/opt/gitlab
使用 Docker Compose 安装 Gitlab
进入工作目录
1
cd /opt/gitlab
创建
docker-compose.yml
配置文件
使用社区版镜像gitlab/gitlab-ce
,是免费的,配置中的gitlab.example.com
替换为使用的域名,或是服务器的 IP1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23version: '3.6'
services:
web:
image: 'gitlab/gitlab-ce:latest'
container_name: 'gitlab'
restart: always
hostname: 'gitlab.example.com' # or IP
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'gitlab.example.com'
gitlab_rails["time_zone"] = 'Asia/Shanghai'
gitlab_rails['gitlab_ssh_host'] = 'gitlab.example.com'
gitlab_rails['gitlab_shell_ssh_port'] = 22
# Add any other gitlab.rb configuration here, each on its own line
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
shm_size: '256m'物理目录 > 对应 Docker 镜像内部目录
- $GITLAB_HOME/data > /etc/gitlab
- $GITLAB_HOME/logs > /var/log/gitlab
- $GITLAB_HOME/config > /var/opt/gitlab
- 启动镜像后台启动
1
docker-compose up
启动需要等待一些时间1
docker-compose up -d
第一次登陆使用用户root
,密码在/opt/gitlab/config/initial_root_password
中查看,登入后可以在后台修改密码
登入后可以按照顶部提示关闭允许注册选项Settings
>General
>Sign-up restrictions
首页预览
设置 SSL 证书
如果是普通服务器上部署是支持的 Let's Encrypt
的 : Integrating a free certificate from Let’s Encrypt
我是在局域网内使用,购买了一份证书后手动获取了证书文件 server-cert.pem
与 server-key.key
,在 $GITLAB_HOME
中创建 ssl 文件夹,将证书文件拷贝到其中,然后编辑 docker-compose.yml
文件,添加相关配置。
最终配置文件如下,将没有修改的行添加了注释,可以直观的查看新增/修改内容。
1 | #version: '3.6' |
重启服务,访问 https://
查看是否生效。
1 | # 关闭服务 |
GitLab 启动提示
1 | gitlab | Current version: gitlab-ce=16.9.1-ce.0 |
升级后无法启动
Gitlab 部分版本不可以 跨版本升级,我是从 16.5.x 升级到 16.9.x 提示我需要先升级至 16.7.x 再更新至 16.9.x
尝试了一下确实可以,可以在 Docker Hub 查看历史版本号