在反向代理后部署 GitLab

缘起

GitLab 官方提供的镜像,如果是单独部署服务的话,相对而言还是非常简单的,通过 Let’s Encrypt 自动获取 SSL 证书,其他的服务也可以运行在一个容器内,只要把数据库和文件存储放在宿主机中,然后挂载到容器内部即可。但是如果是在 GitLab 之前放置一个反向代理来实现 TLS 和负载均衡的话,默认的配置就不够了,需要额外的配置。

实现

  • 配置 gitlab.local.rb

    gitlab.local.rb
  • 编写 docker-compose.yml

    docker-compose.yml
  • 启动

    • 通过 Docker Compose 启动
      1
      docker-compose up -d
    • 通过 Docker Swarm 启动
      1
      2
      docker stack rm gitlab && \
      docker stack deploy --prune --with-registry-auth --resolve-image=always -c docker-compose.yaml gitlab

参考链接

  • NGINX settings
  • Omnibus gitlab-ce behind nginx reverse proxy – settings for Pages

---EOF---