Docker Compose部署Gitlab

一、配置 gitlab

gitlab-ce 开启https

# 参考: https://docs.gitlab.com/omnibus/settings/nginx.html#manually-configuring-https


external_url 'https://gitlab.example.com'
nginx['enable'] = true
nginx['redirect_http_to_https'] = true    # http重定向到https
nginx['redirect_http_to_https_port'] = 80

申请Let's Encrypt证书并手动添加证书

# /mnt/gitlab-docker/config 是挂载宿主机目录


$ mkdir -p /mnt/gitlab-docker/config/ssl
$ chmod 700 /mnt/gitlab-docker/config/ssl
$ cp gitlab.example.com.key gitlab.example.com.crt /mnt/gitlab-docker/config/ssl

gitlab-ce docker-compose 完整配置

version: '2'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:12.4.1-ce.0'
    restart: always
    container_name: gitlab
    hostname: 'gitlab'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://code.example.com'
        nginx['enable'] = true
        nginx['redirect_http_to_https'] = true
        nginx['redirect_http_to_https_port'] = 80
        # 开启 pages 功能
        pages_external_url 'http://pages.example.com'
        gitlab_pages['inplace_chroot'] = true
        gitlab_rails['lfs_enabled'] = true
        # 设置时区为北京时间
        gitlab_rails['time_zone'] = 'PRC'
        gitlab_rails['gitlab_email_enabled'] = true
        gitlab_rails['gitlab_email_from'] = 'code@example.com'
        gitlab_rails['gitlab_email_display_name'] = 'code'
        gitlab_rails['gitlab_email_reply_to'] = 'code@example.com'
        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = 'smtp.exmail.qq.com'
        gitlab_rails['smtp_port'] = 465
        gitlab_rails['smtp_user_name'] = 'code@example.com'
        gitlab_rails['smtp_password'] = '******'
        gitlab_rails['smtp_domain'] = 'exmail.qq.com'
        gitlab_rails['smtp_authentication'] = 'login'
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = true
        unicorn['worker_processes'] = 2
        unicorn['worker_timeout'] = 60
        sidekiq['concurrency'] = 4
        # 解决 GitLab 响应 Forbidden
        gitlab_rails['rack_attack_git_basic_auth'] = {'enabled' => true, 'ip_whitelist' => ["0.0.0.0"], 'maxretry' => 300, 'findtime' => 5, 'bantime' => 60}
    # 内存和CPU限制,worker_processes 配置声明使用2核CPU
    mem_limit: 5500m
    cpu_shares: 200 #2核
    ports:
      - '443:443'
      - '80:80'
      - '22:22'
    volumes:
      # 挂载宿主机目录可以根据实际情况挂载
      - '/mnt/gitlab-docker/config:/etc/gitlab'
      - '/mnt/gitlab-docker/logs:/var/log/gitlab'
      - '/mnt/gitlab-docker/data:/var/opt/gitlab'
      - '/etc/localtime:/etc/localtime'

二、测试gitlab邮件服务

测试邮件服务

$ docker exec -it gitlab bash
$ gitlab-rails console


irb(main):003:0> Notify.test_email('code@example.com', 'Message Subject', 'Message Body').deliver_now
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值