专栏首页YP小站Docker Compose部署Gitlab

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

本文分享自微信公众号 - YP小站(ypxiaozhan),作者:YP小站

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kubernetes Node资源预留

    Kubernetes 的节点可以按照 Capacity 调度。默认情况下 pod 能够使用节点全部可用容量。这是个问题,因为节点自己通常运行了不少驱动 OS 和...

    YP小站
  • Kubernetes v1.19.0 正式发布!

    终于,我们推出了Kubernetes 1.19,这是2020年的第二个发行版,并且迄今为止最长的发行周期持续了20周。它由33项增强功能组成。12个增强功能进入...

    YP小站
  • IBM 开源图形终端Kui框架

    Kui 为构建云原生应用程序提供了新的开发经验。Kui使您能够操作复杂的 JSON 和 YAML 数据模型,集成不同的工具,并提供对操作数据的聚合视图快速访问。

    YP小站
  • Omnibus GitLab 使用说明

    1、Omnibus GitLab 使用说明 > 参考:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/mas...

    shaonbean
  • gitlab 的一些小操作

    参考博文持续集成之Gitlab安装与应用安装gitlab,进行到三、远端库的基本操作之上即可

    小手冰凉
  • centos7-gitlab平台搭建

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    suveng
  • Docker学习之部署GitLab

    Git 是目前最流行的版本控制系统,在它的基础之上, GitHub 和 GitLab 成为当前最流行的代码托管平台,它们均提供的代码评审、项目管理、持续集成等功...

    小柒2012
  • Docker学习之部署GitLab

    Git 是目前最流行的版本控制系统,在它的基础之上, GitHub 和 GitLab 成为当前最流行的代码托管平台,它们均提供的代码评审、项目管理、持续集成等功...

    小柒2012
  • gitlab备份在其他主机上做恢复

    背景: 假设我们当前的gitlab挂掉了,整个服务器都起不来了,但是我们有对gitlab的归档备份,这时候还可以恢复出数据来。 (需要备份gitlab原始安装包...

    二狗不要跑
  • gitlab-ce白名单设置杜绝并发数过大引起的封ip故障

    gitlab-ce 7.9安装手札以及上篇文章的问题解决 鸣谢 感谢ruby大神===》章鱼的一路指点,才能拨开迷雾见云天! 章鱼大人: 国内Ansib...

    小小科

扫码关注云+社区

领取腾讯云代金券