Docker下安装GitLab

需要先安装Docker,参考:https://www.cnblogs.com/hackyo/p/9280042.html

1、安装Docker Compose:

#下载Docker Compose
curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
#安装 chmod +x /usr/local/bin/docker-compose
#测试 docker
-compose --version

2、配置GitLab SSL(可跳过):

mkdir -p /srv/gitlab/config/ssl && cd /srv/gitlab/config/ssl

然后将crt文件和key文件放入该目录下即可。

需要注意的是,这两个文件的文件名需要与下文中的docker-compose.yml文件中的hostname值一致,并且不能包含密码。

例如:api.spicybar.cn.crt 和 api.spicybar.cn.key

建立docker-compose.yml文件,内容为:

web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'api.spicybar.cn'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url "https://api.spicybar.cn:8082"
      nginx['redirect_http_to_https'] = true
      nginx['proxy_set_headers'] = {"X-Forwarded-Proto" => "https", "X-Forwarded-Ssl" => "on"}
      gitlab_rails['gitlab_shell_ssh_port'] = 8083
      gitlab_rails['smtp_enable'] = true
      gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
      gitlab_rails['smtp_port'] = 465
      gitlab_rails['smtp_user_name'] = "[email protected]"
      gitlab_rails['smtp_password'] = "xxx"
      gitlab_rails['smtp_authentication'] = "login"
      gitlab_rails['smtp_enable_starttls_auto'] = true
      gitlab_rails['smtp_tls'] = true
      gitlab_rails['gitlab_email_from'] = '[email protected]'
      gitlab_rails['smtp_domain'] = "exmail.qq.com"
  ports:
    - '8082:8082'
    - '8083:8083'
  volumes:
    - '/srv/gitlab/config:/etc/gitlab'
    - '/srv/gitlab/logs:/var/log/gitlab'
    - '/srv/gitlab/data:/var/opt/gitlab'

其中8082和8083分别为访问端口和SSH端口

注意修改hostname和external_url为你自己的

不需要ssl的话去掉 nginx['redirect_http_to_https'] 和 nginx['proxy_set_headers'] 两行配置即可

后面几行配置为邮箱,不需要可以去掉,这里是腾讯企业邮的例子,其他邮箱配置可参考https://docs.gitlab.com/omnibus/settings/smtp.html

最后运行:

docker-compose up -d

注意:需要在docker-compose.yml文件所在目录下运行该命令

耐心等待,启动时间可能较长,可使用docker ps查看运行状态

最后打开地址访问即可:https://api.spicybar.cn:8082

猜你喜欢

转载自www.cnblogs.com/hackyo/p/9280868.html