手记

使用Docker-Compose安装GitLab服务器



使用Docker-Compose安装GitLab服务器


1. 请将下面代码保持为docker-compose.yml,然后在bash命令行中执行docker-compose up即可

version: '2'

services:

  redis:

    restart: always

    image: sameersbn/redis:4.0.9-1

    command:

    - --loglevel warning

    volumes:

    - ~/docker/gitlab/redis:/var/lib/redis:Z

  postgresql:

    restart: always

    image: sameersbn/postgresql:10

    volumes:

    - ~/docker/gitlab/postgresql:/var/lib/postgresql:Z

    environment:

    - DB_USER=gitlab

    - DB_PASS=password

    - DB_NAME=gitlabhq_production

    - DB_EXTENSION=pg_trgm

  gitlab:

    restart: always

    image: sameersbn/gitlab

    depends_on:

    - redis

    - postgresql

    ports:

    - "10080:80"

    - "10022:22"

    volumes:

    - ~/docker/gitlab/gitlab:/home/git/data:Z

    environment:

    - DEBUG=false

    - DB_ADAPTER=postgresql

    - DB_HOST=postgresql

    - DB_PORT=5432

    - DB_USER=gitlab

    - DB_PASS=password

    - DB_NAME=gitlabhq_production

 

    - REDIS_HOST=redis

    - REDIS_PORT=6379

 

    - TZ=Asia/Kolkata

    - GITLAB_TIMEZONE=Kolkata

    - GITLAB_HTTPS=false

    - SSL_SELF_SIGNED=false

    - GITLAB_HOST=localhost

    - GITLAB_PORT=10080

    - GITLAB_SSH_PORT=10022

    - GITLAB_RELATIVE_URL_ROOT=

    - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string

    - GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string

    - GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string

    - GITLAB_ROOT_PASSWORD=

    - GITLAB_ROOT_EMAIL=

    - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true

    - GITLAB_NOTIFY_PUSHER=false

    - GITLAB_EMAIL=notifications@example.com

    - GITLAB_EMAIL_REPLY_TO=noreply@example.com

    - GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com

    - GITLAB_BACKUP_SCHEDULE=daily

    - GITLAB_BACKUP_TIME=01:00

    - SMTP_ENABLED=false

    - SMTP_DOMAIN=www.example.com

    - SMTP_HOST=smtp.gmail.com

    - SMTP_PORT=587

    - SMTP_USER=mailer@example.com

    - SMTP_PASS=password

    - SMTP_STARTTLS=true

    - SMTP_AUTHENTICATION=login

 

    - IMAP_ENABLED=false

    - IMAP_HOST=imap.gmail.com

    - IMAP_PORT=993

    - IMAP_USER=mailer@example.com

    - IMAP_PASS=password

    - IMAP_SSL=true

    - IMAP_STARTTLS=false

    - OAUTH_ENABLED=false

    - OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=

    - OAUTH_ALLOW_SSO=

    - OAUTH_BLOCK_AUTO_CREATED_USERS=true

    - OAUTH_AUTO_LINK_LDAP_USER=false

    - OAUTH_AUTO_LINK_SAML_USER=false

    - OAUTH_EXTERNAL_PROVIDERS=

    - OAUTH_CAS3_LABEL=cas3

    - OAUTH_CAS3_SERVER=

    - OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false

    - OAUTH_CAS3_LOGIN_URL=/cas/login

    - OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate

    - OAUTH_CAS3_LOGOUT_URL=/cas/logout

    - OAUTH_GOOGLE_API_KEY=

    - OAUTH_GOOGLE_APP_SECRET=

    - OAUTH_GOOGLE_RESTRICT_DOMAIN=

    - OAUTH_FACEBOOK_API_KEY=

    - OAUTH_FACEBOOK_APP_SECRET=

    - OAUTH_TWITTER_API_KEY=

    - OAUTH_TWITTER_APP_SECRET= 

    - OAUTH_GITHUB_API_KEY=

    - OAUTH_GITHUB_APP_SECRET=

    - OAUTH_GITHUB_URL=

    - OAUTH_GITHUB_VERIFY_SSL=

    - OAUTH_GITLAB_API_KEY=

    - OAUTH_GITLAB_APP_SECRET= 

    - OAUTH_BITBUCKET_API_KEY=

    - OAUTH_BITBUCKET_APP_SECRET=

    - OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=

    - OAUTH_SAML_IDP_CERT_FINGERPRINT=

    - OAUTH_SAML_IDP_SSO_TARGET_URL=

    - OAUTH_SAML_ISSUER=

    - OAUTH_SAML_LABEL="Our SAML Provider"

    - OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient

    - OAUTH_SAML_GROUPS_ATTRIBUTE=

    - OAUTH_SAML_EXTERNAL_GROUPS=

    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=

    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=

    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=

    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME= 

    - OAUTH_CROWD_SERVER_URL=

    - OAUTH_CROWD_APP_NAME=

    - OAUTH_CROWD_APP_PASSWORD=

    - OAUTH_AUTH0_CLIENT_ID=

    - OAUTH_AUTH0_CLIENT_SECRET=

    - OAUTH_AUTH0_DOMAIN=

    - OAUTH_AZURE_API_KEY=

    - OAUTH_AZURE_API_SECRET=

    - OAUTH_AZURE_TENANT_ID=


2. 执行docker-compose.yml文件

# 执行代码前先保证以及在本地创建好相应目录,如果没有执行下面代码创建

$ cd ~

$ mkdir docker

$ cd docker

$ mkdir gitlab

$ cd gitlab

$ mkdir postgresql

$ mkdir redis

$ mkdir gitlab


# 这样才能保证本地挂载的目录存在

# cd ~/docker/gitlab/postgresql #检测目录是否创建成功

# cd ~/docker/gitlab/gitlab     #检测目录是否创建成功

# cd ~/docker/gitlab/redis      #检测目录是否创建成功

 

# 默认方式执行,默认打印启动日志,启动可能会有几分钟

$ docker-compose up 

 

# 后台运行,不打印启动日志

$ docker-compose up -d

 

# 默认会创建三个容器,一个启动postgres服务器,一个启动redis缓存服务器,一个启动gitlab服务器

# 启动后默认会进行初始配置,需要一段时间,请耐心等待

# 启动完成后,请在浏览器打开 http://127.0.0.1:10080即可

# 如果docker-compose.yml中的默认端口已经被改,访问http://127.0.0.1[:your port]即可

 

# 如果以前没有下载相应的镜像,执行完命令后会自动下载,当前版本的镜像大约2G左右,需要一段时间

# 镜像下载完毕后为自动执行创建容器,并启动服务器的操作

 

 

3. 启动日志信息

MacdeMacBook-Pro:gitlab mac$ docker-compose up

Creating gitlab_postgresql_1_2a4924d682fe ... done

Creating gitlab_redis_1_44a326dd88bf      ... done

Creating gitlab_gitlab_1_70e7a2063e08     ... done

Attaching to gitlab_redis_1_ad872d40d576, gitlab_postgresql_1_dafaec3696c9, gitlab_gitlab_1_43d512937f9c

redis_1_ad872d40d576 | Starting redis-server...

postgresql_1_dafaec3696c9 | Initializing datadir...

gitlab_1_43d512937f9c | Loading /etc/docker-gitlab/runtime/env-defaults

redis_1_ad872d40d576 | 1:C 25 Nov 08:59:17.678 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

redis_1_ad872d40d576 | 1:C 25 Nov 08:59:17.678 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=1, just started

redis_1_ad872d40d576 | 1:C 25 Nov 08:59:17.678 # Configuration loaded

redis_1_ad872d40d576 | 1:M 25 Nov 08:59:17.686 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

redis_1_ad872d40d576 | 1:M 25 Nov 08:59:17.686 # Server initialized

redis_1_ad872d40d576 | 1:M 25 Nov 08:59:17.687 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

gitlab_1_43d512937f9c | Initializing logdir...

gitlab_1_43d512937f9c | Initializing datadir...


4. 访问gitlab服务器

#默认管理员账号为 root 

#初次访问http://127.0.0.1[:your port]时,进入默认账户root修改密码页面,此时更新你的密码即可



0人推荐
随时随地看视频
慕课网APP