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
