Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

Organization

苦行インストールしたGitLab環境でコンテナレジストリをLet'sEncryptを利用しつつ環境構築

前提

  • ubuntuを基準に記載します
  • 苦行インストール(source build)したGitLab 8.8+があること
  • Docker engineがインストール済み
  • letsencryptが使えること
  • インターネットが使えること

Registryの構築

Docker registryの設定ファイル

以下のファイルを作成する

/etc/docker/registry/config.yml
version: 0.1
auth:
  token:
    realm: https://gitlab.example.jp/jwt/auth # GitLabのURL + /jwt/auth
    service: container_registry
    issuer: gitlab-issuer
    rootcertbundle: /certs

letsencryptで証明書発行する

cd letsencryptのディレクトリ
./letsencrypt-auto certonly -d registry.example.jp

docker registryの起動

# image格納ディレクトリの作成
mkdir -p ~/gitlab/shared/registry
# imageの取得
docker pull registry:2.5
docker run -d -p 5000:5000 --restart=always \
  --name=regisgry \
  -v ~/gitlab/shared/registry:/var/lib/registry \
  -v /etc/docker/registry/config.yml:/config.yml \
  -v /etc/letsencrypt/archive/registry.example.jp:/certs \
  -e REGISTRY_STORAGE_DELETE_ENABLED=true \
  registry:2.5

REGISTRY_STORAGE_DELETE_ENABLEDを入れないとイメージの削除ができません。

nginxの設定

https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/support/nginx/registry-ssl
を拝借して
/etc/nginx/conf.d/registry-ssl.confとして使います

変更する場所は下記の3項目

/etc/nginx/conf.d/registry-ssl.conf
server_name  registry.gitlab.example.com;
ssl_certificate /etc/gitlab/ssl/registry.gitlab.example.jp.crt # crtファイルを置いた場所
ssl_certificate_key /etc/gitlab/ssl/registry.gitlab.example.jp.key # keyファイルを置いた場所

nginxの再起動

service nginx restart

GitLabの設定変更

gitlab/config/gitlab.yml
  registry:
    enabled: true
    host: registry.example.jp
    api_url: https://registry.example.jp/
    key: config/privkey.pem
    path: /home/git/gitlab/shared/registry
    issuer: gitlab-issuer

GitLabの再起動

/etc/init.d/gitlab restart
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
4
Help us understand the problem. What are the problem?