|
#!/usr/bin/env ansible-playbook |
|
--- |
|
- hosts: gitlab |
|
gather_facts: no |
|
become: yes |
|
tasks: |
|
- name: create directory /opt/gitlab/config/ssl |
|
file: |
|
path: /opt/gitlab/config/ssl |
|
state: directory |
|
mode: 0755 |
|
owner: root |
|
group: root |
|
tags: |
|
- gitlab |
|
|
|
- name: add ssl public key for domain.tld |
|
copy: |
|
src: bundle.crt |
|
dest: /opt/gitlab/config/ssl/gitlab.domain.tld.crt |
|
mode: 0644 |
|
tags: |
|
- gitlab |
|
|
|
- name: add ssl private key for domain.tld |
|
copy: |
|
src: private.key |
|
dest: /opt/gitlab/config/ssl/gitlab.domain.tld.key |
|
mode: 0644 |
|
tags: |
|
- gitlab |
|
|
|
- name: Create network gitlab |
|
docker_network: name=gitlab |
|
tags: |
|
- gitlab |
|
- gitlab-runner |
|
|
|
- name: Run gitlab container |
|
docker_container: |
|
name: gitlab |
|
image: gitlab/gitlab-ce:latest |
|
recreate: true |
|
restart_policy: unless-stopped |
|
hostname: gitlab.domain.tld |
|
published_ports: |
|
- "80:80" |
|
- "443:443" |
|
- "22:22" |
|
volumes: |
|
- "/opt/gitlab/config:/etc/gitlab" |
|
- "/opt/gitlab/logs:/var/log/gitlab" |
|
- "/opt/gitlab/data:/var/opt/gitlab" |
|
network_mode: gitlab |
|
env: |
|
GITLAB_OMNIBUS_CONFIG: | |
|
external_url "https://gitlab.domain.tld" |
|
letsencrypt['enable'] = false |
|
nginx['redirect_http_to_https'] = true |
|
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.domain.tld.crt" |
|
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.domain.tld.key" |
|
registry_external_url 'https://registry.domain.tld' |
|
registry_nginx['redirect_http_to_https'] = true |
|
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.domain.tld.crt" |
|
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.domain.tld.key" |
|
gitlab_rails['smtp_enable'] = true |
|
gitlab_rails['smtp_address'] = "mail.domain.tld" |
|
gitlab_rails['smtp_port'] = 25 |
|
gitlab_rails['smtp_domain'] = "domain.tld" |
|
gitlab_rails['smtp_tls'] = false |
|
gitlab_rails['smtp_openssl_verify_mode'] = "none" |
|
gitlab_rails['smtp_enable_starttls_auto'] = false |
|
gitlab_rails['smtp_ssl'] = false |
|
gitlab_rails['smtp_force_ssl'] = false |
|
tags: |
|
- gitlab |
|
|
|
- name: Run gitlab-runner container |
|
docker_container: |
|
name: gitlab-runner |
|
image: gitlab/gitlab-runner:latest |
|
recreate: true |
|
restart_policy: unless-stopped |
|
volumes: |
|
- "/opt/gitlab-runner/config:/etc/gitlab-runner" |
|
- "/var/run/docker.sock:/var/run/docker.sock" |
|
network_mode: gitlab |
|
tags: |
|
- gitlab-runner |