群晖Docker安装Gitlab

在群晖中通过Docker安装Gitlab

前置条件

  • 首先拥有一台可以安装Docker套件的群晖NAS
    • 白群晖
    • 黑群晖
  • 安装Docker套件

下载Gitlab镜像

  1. 打开docker套件
  2. 选择注册表,搜索gitlab-ce
  3. 双击下载,选择最新的版本,此文编写时为15.3.1-ce.0
  4. 下载过程较长,具体看网速,下载完后显示约3G

安装镜像

  1. 在映像中选择下载刚才下载的镜像,双击打开,弹窗创建容器窗口,直接下一步
  2. 取个名字(这里换成gitlab-ce),并钩上启用自动重新启动,下一步
  3. 这一步是端口设置,将docker容器内的端口映射到nas中,可以选择自己喜欢的端口,并记住,后续会用到,然后下一步
  4. 这一步是目录映射,这里将3个目录映射容器外的nas目录(可按自己喜好),具体可查看官方Docker安装文档,以下为我自己的配置,然后下一步
    • 配置文件
      • 本地目录:/docker/gitlab/config
      • 容器目录:/etc/gitlab
    • 数据
      • 本地目录:/docker/gitlab/data
      • 容器目录:/var/opt/gitlab
    • 日志
      • 本地目录:/docker/gitlab/logs
      • 容器目录:/var/log/gitlab
  1. 此处会显示设置的配置,确认无误后点击完成即可,容器开始自动启动,需要较长时间,耐心等待

安装完配置

访问配置

  • 因为不是在家里的本地局域网写的blog,此时是无法访问家里的NAS的gitlab,容器启动后,也不知道是否正常,先要配置路由器的端口转发,将刚才的3个端口转发出来。这一步非本文内容,只提几个点。
    • 作者家里是电信网络,光猫桥接,路由器拨号
    • 路由器K2P,刷了系统
    • 注册了一个域名,路由器DDNS解析nas域名
    • 端口转发后访问地址端口为xxx.xxx.com:20080xxx.xxx.com:20443xxx.xxx.com:20022

配置密码

  • 首次访问,要求使用账号密码登录,这时,你是不知道密码的,密码会存放在/etc/gitlab/initial_root_password文件中,此时从NAS的/docker/gitlab/config目录中下载此文件,并获取密码
  • root,初始密码登录gitlab,登录成功后修改root用户密码(初始密码文件24小时后会删除)

额外配置

此时gitlab已经能正常使用了,我们可以进行一些额外的配置

HTTPS访问

开启https访问主要配置2个文件

  • /etc/gitlab/gitlab.rb
    1
    2
    3
    4
    5
    6
    external_url 'https://git.youdomain.com'
    nginx['enable'] = true
    nginx['redirect_http_to_https'] = true
    nginx['redirect_http_to_https_port'] = 80
    nginx['ssl_certificate'] = "/etc/gitlab/ssl/git.youdomain.com.crt"
    nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/git.youdomain.com.key"
  • 容器内部文件/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
    1
    2
    3
    4
    5
    6
    production: &base
    ## GitLab settings
    gitlab:
    host: git.youdomain.com
    port: 20443
    https: true