下面给你一份**在 Debian 上部署 GitLab(Community Edition,CE)**的完整、常用实践方案,适用于 Debian 11/12。
如果你只是想快速跑起来,用 Omnibus 包是最省事的。
| 项目 | 建议 |
|---|---|
| CPU | 2 核及以上 |
| 内存 | 至少 4GB(8GB 更佳) |
| 磁盘 | 20GB+(视仓库大小) |
| 系统 | Debian 11 (Bullseye) / 12 (Bookworm) |
| 网络 | 固定 IP 或域名 |
⚠️ GitLab 比较吃内存,低于 4GB 不建议生产使用。
sudo apt update
sudo apt install -y \
curl \
openssh-server \
ca-certificates \
tzdata \
gnupg
curl -fsSL https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/gitlab-ce.gpg
echo "deb [signed-by=/usr/share/keyrings/gitlab-ce.gpg] \
https://packages.gitlab.com/gitlab/gitlab-ce/debian $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/gitlab-ce.list
sudo apt update
sudo apt install -y gitlab-ce
安装完成后会看到类似提示:
Thank you for installing GitLab!
sudo vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'
✅ 改成你的:
http://git.example.comhttp://192.168.1.100external_url 'https://gitlab.example.com'
GitLab 会自动申请 Let’s Encrypt 证书(需 80/443 端口开放)。
sudo gitlab-ctl reconfigure
该过程会:
⏳ 通常需要 2–5 分钟
浏览器访问:
http://你的IP或域名
首次登录:
rootsudo cat /etc/gitlab/initial_root_password
⚠️ 密码 24 小时后自动删除,首次登录请立即修改。
# 查看状态
sudo gitlab-ctl status
# 重启
sudo gitlab-ctl restart
# 查看日志
sudo gitlab-ctl tail
# 停止
sudo gitlab-ctl stop
✅ 必须
sudo gitlab-backup create
✅ 推荐
# 减少 Sidekiq / Puma 进程
sudo vim /etc/gitlab/gitlab.rb
puma['worker_processes'] = 2
sidekiq['max_concurrency'] = 10
sudo gitlab-ctl reconfigure
GitLab 默认用 80 / 443 / 22
可改为其他端口:
nginx['listen_port'] = 8080
| 需求 | 建议 |
|---|---|
| 简单、快速 | 官方 Omnibus |
| Kubernetes | GitLab Helm Chart |
| 轻量 | Gitea(非 GitLab) |
如果你愿意,我可以帮你:
只要告诉我你的 Debian 版本 + 使用场景 即可。