使用Docker快速部署自己的GitLab(非官方镜像)
在团队协作和代码管理中,GitLab 无疑是许多开发者的首选工具。它的强大功能——代码托管、CI/CD、项目管理一应俱全,深受企业和个人开发者的喜爱。然而,官方 GitLab 的部署可能让初学者望而却步:复杂配置、资源占用高、维护成本不低。别担心,今天我来安利一个神器sameersbn/docker-gitlab,让你轻松拥有自己的 GitLab 实例!
最近需要给同事准备Gitlab离线部署文档,发现少了支持JWT支持,顺道提了个PR sameersbn/docker-gitlab#3126[1]
优势
• 开箱即用:基于 Docker 容器化技术,封装了 GitLab 的所有依赖,只需几条命令就能完成部署,省去繁琐的环境配置 • 轻量高效:相比官方全量安装,Docker 化的 GitLab 占用资源更少,适合个人开发者或中小型团队 • 高度可定制:支持通过环境变量灵活配置 SMTP、SSL、数据库等,满足多样化需求 • 社区支持强:sameersbn/docker-gitlab 是 GitLab 社区中广受欢迎的镜像,文档齐全,更新频繁,维护省心
作为一名 DevOps 爱好者,我用过多种 GitLab 部署方式,但 sameersbn/docker-gitlab 的简便性和稳定性让我印象深刻。它不仅适合个人开发者快速搭建代码仓库,也能满足小型团队的协作需求。相比云端 GitLab 的订阅费用,自建 GitLab 成本更低,且数据完全掌握在自己手中,隐私更有保障。
部署
官方示例compose已经很完善了,这里摘取核心部分
• docker-compose.yaml
services:
redis:
restart: always
container_name: redis
image: redis:7
command:
- --loglevel warning
volumes:
- redis-data:/data:Z
postgresql:
restart: always
image: ccr.ccs.tencentyun.com/k7scn/sameersbn-postgresql:16
# image: kkimurak/sameersbn-postgresql:16
container_name: postgresql
volumes:
- postgresql-data:/var/lib/postgresql:Z
environment:
- DB_USER=gitlab
- DB_PASS=password
- DB_NAME=gitlabhq_production
- DB_EXTENSION=pg_trgm,btree_gist
gitlab:
restart: always
image: ccr.ccs.tencentyun.com/k7scn/gitlab:18.0.2
# image: sameersbn/gitlab:18.0.2
container_name: gitlab
depends_on:
- redis
- postgresql
ports:
- "10080:80"
- "10022:22"
volumes:
- gitlab-data:/home/git/data:Z
healthcheck:
test: ["CMD", "/usr/local/sbin/healthcheck"]
interval: 5m
timeout: 10s
retries: 3
start_period: 5m
environment:
- DEBUG=false
- DB_ADAPTER=postgresql
- DB_HOST=postgresql
- DB_PORT=5432
- DB_USER=gitlab
- DB_PASS=password
- DB_NAME=gitlabhq_production
- REDIS_HOST=redis
- REDIS_PORT=6379
- TZ=Asia/Shanghai
- GITLAB_TIMEZONE=Shanghai
- GITLAB_HTTPS=false
- SSL_SELF_SIGNED=false
- GITLAB_HOST=localhost
- GITLAB_PORT=10080
- GITLAB_SSH_PORT=10022
- GITLAB_RELATIVE_URL_ROOT=
- GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_ROOT_PASSWORD=gitlab@PasSw0rd
- GITLAB_ROOT_EMAIL=
- GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
- GITLAB_NOTIFY_PUSHER=false
- GITLAB_EMAIL=notifications@example.com
- GITLAB_EMAIL_REPLY_TO=noreply@example.com
- GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com
- GITLAB_BACKUP_SCHEDULE=daily
- GITLAB_BACKUP_TIME=01:00
- SMTP_ENABLED=false
- IMAP_ENABLED=false
- OAUTH_ENABLED=false
volumes:
redis-data:
postgresql-data:
gitlab-data:
更多可以参考官方compose[2]
启动GitLab, 使用docker compose up -d
, 几分钟后,访问 http://your-domain.com 或 http://your-server-ip,即可看到 GitLab 的登录页面!默认管理员账号为 root,密码为你在环境变量中设置的 GITLAB_ROOT_PASSWORD
进阶玩法:让你的 GitLab 更强大
搭配Traefik或者Caddy实现https,或者根据自己的需求完善环境变量
项目
GitHub 仓库:https://github.com/sameersbn/docker-gitlab
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://www.hqyman.cn/post/11762.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~