1、需要先安装Docker和Docker Compose,参考:https://www.cnblogs.com/hackyo/p/9280042.html
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'] = "xxx@xxx.cn" 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'] = 'xxx@xxx.cn' 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