GitLab on Docker
GitLab のバージョンアップしてみたところ、スクリプトエラーになってしまうので、作り直そうかと。
せっかくなので、GitLab は Docker でも動作させることができるようなので、Docker やってみよう。
OS もサポートが終わりそうなので CentOS Stream にしますか。
インストールの参考は、GitLab Docker images (docs.gitlab.com)
Docker
$ sudo dnf install -y yum-utils $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
$ sudo dnf install -y docker-ce docker-ce-cli containerd.io
$ sudo systemctl start docker $ sudo systemctl enable docker
Install Docker Compose (docs.docker.com)
$ sudo curl -L https://github.com/docker/compose/releases/download/1.28.2/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose
$ sudo curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose $ sudo source /etc/bash_completion.d/docker-compose
GitLab
$ mkdir -p /var/opt/docker/gitlab
SSHのポート変更しないと、dockerのホストのSSHと被り、起動しないので、変更する。
また、HTTPS でなく、HTTPの設定を入れる。
web: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.lab.local' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.lab.local' # HTTP setting nginx['listen_https'] = false nginx['listen_port'] = 80 nginx['redirect_http_to_https'] = false letsencrypt['enable'] = false # SSH port gitlab_rails['gitlab_shell_ssh_port'] = 2224 # Time Zone gitlab_rails['time_zone'] = 'Asia/Tokyo' # LDAP setting gitlab_rails['ldap_enabled'] = true gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' main: # 'main' is the GitLab 'provider ID' of this LDAP server label: 'Active Directory' host: 'lab.local' port: 636 uid: 'sAMAccountName' bind_dn: 'CN=GitLab,CN=Users,DC=lab,DC=local' password: 'gitlabuser' encryption: 'simple_tls' # "start_tls" or "simple_tls" or "plain" verify_certificates: false smartcard_auth: false active_directory: true allow_username_or_email_login: true lowercase_usernames: true block_auto_created_users: false base: 'DC=lab,DC=local' user_filter: '' EOS ports: - '80:80' - '443:443' - '2224:22' volumes: - '/var/opt/docker/gitlab/config:/etc/gitlab:Z' - '/var/opt/docker/gitlab/logs:/var/log/gitlab:Z' - '/var/opt/docker/gitlab/data:/var/opt/gitlab:Z'
$ docker-compose up -d
$ sudo firewall-cmd --add-port=2224/tcp --permanent $ sudo firewall-cmd --add-service={http,https} --permanent $ sudo firewall-cmd --reload
以上で、ブラウザからアクセスできるようになる。