도커 이미지 다운 및 실행

PLAINTEXT
docker run --detach \
 --hostname gitlab.example.com \
 --publish 443:443 --publish 80:80 --publish 22:22 \
 --name gitlab \
 --restart always \
 --volume /srv/gitlab/config:/etc/gitlab \
 --volume /srv/gitlab/logs:/var/log/gitlab \
 --volume /srv/gitlab/data:/var/opt/gitlab \
 gitlab/gitlab-ce:latest
클릭하여 더 보기

ip가 있을시에 gitlab.example.com 가 hostname이 된다. http접속을 위한 80번 포트 https 를 위한 443포트 ssh 접속을 위한 22번 포트를 열어준다. 데이터 백업을 위하여 config,logs,data에 볼륨을 백업한다

localhost로 접속하여 설정을 진행한다

SMTP 설정(GMail기준)

gmail의 smtp 설정을 한후 아래 명령어로 gitlab.rb에 들어간후 수정한다.

PLAINTEXT
# Email Settings
gitlab_rails['smtp_enable'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "username@gmail.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
클릭하여 더 보기

HTTPS 적용

letsencrypt 설치

PLAINTEXT
sudo apt-get install letsencrypt
클릭하여 더 보기

docker exec -it gitlab vim /etc/gitlab/gitlab.rb 에서 아래구문 추가

PLAINTEXT
nginx['custom_gitlab_server_config'] = "location ^~ /.well-known { root /var/www/letsencrypt; }"
클릭하여 더 보기

설정 적용

PLAINTEXT
docker exec -it gitlab gitlab-ctl reconfigure
클릭하여 더 보기

인증서 발급

PLAINTEXT
sudo letsencrypt certonly -a webroot -w /var/www/letsencrypt -d gitlab.example.com
클릭하여 더 보기

docker exec -it gitlab vim /etc/gitlab/gitlab.rb 에서 아래구문 추가

PLAINTEXT
nginx['redirect_http_to_https']=true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/#{node['fqdn']}/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/#{node['fqdn']}/privkey.pem"
클릭하여 더 보기

설정 적용

PLAINTEXT
docker exec -it gitlab gitlab-ctl reconfigure
클릭하여 더 보기

SSL 인증서 자동갱신 설정

PLAINTEXT
crontab -e
10 5 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log
15 5 * * 1 /usr/bin/gitlab-ctl restart nginx
클릭하여 더 보기

references

라이선스

저작자: Jaehun Ryu

링크: https://jaehun.me/posts/docker-%EB%A1%9C-gitlab%EB%A7%8C%EB%93%A4%EA%B8%B0/

라이선스: CC BY 4.0

이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 출처를 밝히면 상업적 목적을 포함해 자유롭게 이용 가능합니다.

댓글

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키