Skip to content

Instantly share code, notes, and snippets.

@gpilla
Created April 21, 2021 06:13
Show Gist options
  • Save gpilla/b712009afc7914f549921c9217fe06aa to your computer and use it in GitHub Desktop.
Save gpilla/b712009afc7914f549921c9217fe06aa to your computer and use it in GitHub Desktop.
version: "3.1"
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
restart: always
volumes:
- gitlab_data_nfs:/var/opt/gitlab
- gitlab_logs_nfs:/var/log/gitlab
- gitlab_config_nfs:/config:/etc/gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.unaj.edu.ar'
nginx['listen_https'] = false
nginx['listen_port'] = 80
postgresql['enable'] = false
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'unicode'
gitlab_rails['db_host'] = '192.168.0.3' # IP/hostname of database server
gitlab_rails['db_name'] = 'gitlab'
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = '1234567890'
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'no-reply@unaj.edu.ar'
gitlab_rails['gitlab_email_display_name'] = 'My GitLab'
gitlab_rails['gitlab_email_reply_to'] = 'no-reply@unaj.edu.ar'
gitlab_rails['gitlab_email_subject_suffix'] = '[My GITLAB]'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "mail.unaj.edu.ar"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "no-reply@unaj.edu.ar"
gitlab_rails['smtp_password'] = "1234567890"
gitlab_rails['smtp_domain'] = "unaj.edu.ar"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['ldap_enabled'] = true
gitlab_rails['prevent_ldap_sign_in'] = false
gitlab_rails['ldap_servers'] = {
'main' => {
'label' => 'LDAP',
'host' => '192.168.0.1',
'port' => 389,
'uid' => 'uid',
'bind_dn' => 'cn=Someone,dc=unaj,dc=edu,dc=ar',
'password' => '1234567890',
'timeout' => 10,
'active_directory' => false,
'allow_username_or_email_login' => false,
'block_auto_created_users' => false,
'base' => 'domainName=unaj.edu.ar,o=domains,dc=unaj,dc=edu,dc=ar',
'user_filter' => '',
'attributes' => {
'username' => ['uid', 'userid', 'sAMAccountName'],
'email' => ['mail', 'email', 'userPrincipalName'],
'name' => 'cn',
'first_name' => 'givenName',
'last_name' => 'sn'
},
'lowercase_usernames' => false,
}
}
networks:
- proxy
deploy:
update_config:
parallelism: 2
delay: 10s
restart_policy:
condition: on-failure
placement:
constraints:
- node.role == worker
replicas: 1
labels:
- "traefik.enable=true"
- "traefik.http.routers.gitlab.entrypoints=https"
- "traefik.http.routers.gitlab.rule=Host(`gitlab.unaj.edu.ar`)"
- "traefik.http.routers.gitlab.tls=true"
- "traefik.http.services.gitlab.loadbalancer.server.port=80"
- "traefik.tcp.routers.gitlab-ssh.rule=HostSNI(`gitlab.unaj.edu.ar`)"
- "traefik.tcp.routers.gitlab-ssh.entrypoints=ssh"
- "traefik.tcp.routers.gitlab-ssh.service=gitlab-ssh-svc"
- "traefik.tcp.services.gitlab-ssh-svc.loadbalancer.server.port=22"
networks:
proxy:
external: true
volumes:
gitlab_data_nfs:
driver: local
driver_opts:
type: nfs
o: addr=192.168.0.4,nolock,soft,rw
device: ":/var/NFS/volumes/gitlab/data"
gitlab_logs_nfs:
driver: local
driver_opts:
type: nfs
o: addr=192.168.0.4,nolock,soft,rw
device: ":/var/NFS/volumes/gitlab/logs"
gitlab_config_nfs:
driver: local
driver_opts:
type: nfs
o: addr=192.168.0.4,nolock,soft,rw
device: ":/var/NFS/volumes/gitlab/config"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment