《树莓派不吃灰》028:在树莓派搭建Gitlab并完美映射到公网
内容提要
本文介绍了在树莓派上搭建GitLab并实现公网访问的步骤,包括创建配置目录、启动GitLab服务、配置映射和域名验证、检测Nginx配置并重启、注册管理员账号以及设置GitLab默认使用https前缀。
延伸解读
树莓派自托管 GitLab 的适用场景
文章强调,对于保密性要求较高的企业用户,代码必须存储在自己的服务器。树莓派配合 frp 内网穿透,能以较低成本实现 GitLab 自托管并暴露到公网。这适合需要完全掌控代码存储位置、又希望获得公网访问能力的个人或小团队,但需自行承担硬件稳定性、网络带宽和安全维护责任。
公网访问架构的关键环节
整个方案依赖三个环节:树莓派上通过 Docker Compose 启动 GitLab,frpc 将本地 8082 和 2222 端口映射到云服务器同名端口,云服务器 Nginx 反向代理并配置 HTTPS。文章特别提醒要在服务器防火墙放开这两个端口,否则映射无法生效。这种分层设计将计算放在本地,公网入口交给云服务器。
HTTPS 配置的细节与注意事项
文章使用 acme.sh 申请证书并安装到 Nginx,随后将 80 端口重定向到 443。值得注意的是,GitLab 容器内部仍只监听 80 端口,通过 external_url 设置为 https 前缀并禁用内部 HTTPS 监听,使外部访问显示为 HTTPS。这种内外协议不一致的配置需要确保 Nginx 正确传递 X-Forwarded-Proto 头,否则可能影响 GitLab 生成链接。
管理员账号与初始配置
新注册的 GitLab 账号默认需要管理员批准才能登录。文章指导读者在树莓派上查看 initial_root_password 文件获取 root 密码,登录后进入 Admin Area 将新用户设为管理员并允许登录。此外,还需修改 gitlab.rb 中的 external_url 并重启服务,使 GitLab 默认使用 HTTPS 前缀。这些步骤是自托管 GitLab 初始化时的常见操作。
Q&A
如何在树莓派上搭建GitLab服务?
在树莓派上搭建GitLab服务需要创建配置目录,使用Docker Compose启动服务,并配置frp进行端口映射。
GitLab的主要功能有哪些?
GitLab集成代码管理、CI/CD、项目管理、细粒度权限控制、自动化管道等功能,适合团队协作和自动化需求。
如何配置Nginx以支持GitLab的HTTPS?
需要在Nginx配置文件中设置SSL证书,并将HTTP请求重定向到HTTPS,同时配置代理到GitLab服务。
如何注册GitLab管理员账号?
注册新账号后,使用root账号登录GitLab,进入Admin Area,找到注册的用户名并设置为管理员。
在树莓派上使用GitLab的好处是什么?
在树莓派上使用GitLab可以实现零成本的高质量代码管理,适合对保密性有要求的企业用户。
如何让GitLab默认使用HTTPS前缀?
在GitLab配置文件中修改external_url为HTTPS地址,并设置Nginx只监听80端口,重启GitLab服务。