部署

运行:

docker run -d \
  --name gitlab \
  --restart always \
  -p 8080:80 \
  -v /data/gitlab/config:/etc/gitlab \
  -v /data/gitlab/logs:/var/log/gitlab \
  -v /data/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

配置:

#gitlab.rb

external_url 'http://example.com'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#gitlab_rails['gitlab_default_can_create_group'] = false
#gitlab_rails['gitlab_username_changing_enabled'] = false
#git_data_dirs({ "default" => { "path" => "/var/opt/gitlab/git-data" } })
nginx['listen_port'] = 80

补充配置

配置 smtp 邮件功能:

#gitlab.rb

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab_email_from'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
gitlab_rails['gitlab_email_subject_suffix'] = ''
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp_address"
gitlab_rails['smtp_port'] = smtp_port
gitlab_rails['smtp_user_name'] = "smtp_user_name"
gitlab_rails['smtp_password'] = "smtp_password"
gitlab_rails['smtp_domain'] = "smtp_domain"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

启用 https 服务:

docker run -d \
  --name gitlab \
  --restart always \
  --hostname example.com \
  -p 8080:80 -p 8443:443 -p 8022:22 \
  -v /data/gitlab/config:/etc/gitlab \
  -v /data/gitlab/logs:/var/log/gitlab \
  -v /data/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest
#gitlab.rb

external_url 'https://example.com'
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"

配置 ssh 功能:

#gitlab_rails['gitlab_ssh_host'] = ''
#gitlab_rails['gitlab_shell_ssh_port'] = 22
#gitlab_rails['gitlab_shell_git_timeout'] = 30
如果觉得我的文章对你有用,请随意赞赏