在 Debian 12 中使用 Docker 安装 Gitlab
有些内容不需要推送到远端服务器,正好之前将一台零刻小主机作为服务器使用,于是自己搭一个 Gitlab 的服务器,使用社区版是免费的。
Linux 虚拟机的内存要设置的大一些,Gitlab 会使用 3GB+ 的内存。
- Debian 12.01
- Gitlab-CE 16.3
16.3 的版本简体中文翻译进度 98%
准备
首先更新系统与软件,然后安装所需的依赖
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/vol
创建环境变量文件
1
2
3
4
5cd /opt/gitlab
vim .env
```
填入下面的内容GITLAB_HOME=/opt/gitlab/vol
1
2
3
4
## 使用 Docker Compose 安装 Gitlab
1. 进入工作目录cd /opt/gitlab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2. 创建 `docker-compose.yml` 配置文件
使用社区版镜像 `gitlab/gitlab-ce` ,是免费的
```bash
version: '3.6'
services:
web:
image: 'gitlab/gitlab-ce:latest'
container_name: 'gitlab'
restart: always
hostname: '10.5.5.5'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://10.5.5.5'
gitlab_rails["time_zone"] = 'Asia/Shanghai'
gitlab_rails['gitlab_ssh_host'] = '10.5.5.5'
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/vol/initial_root_password
中查看,登入后可以在后台修改密码
登入后可以按照顶部提示关闭允许注册选项Settings
>General
>Sign-up restrictions