Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • aadaa139d281043452ac0de34e4f924233a8fc08
  • 16.0 par défaut protégée
  • 18.0
  • 17.0
  • 14.0 protégée
  • 15.0 protégée
  • 12.0 protégée
  • 10.0 protégée
8 résultats

14.0.Dockerfile

Blame
  • gitlab.yaml.j2 4,95 Kio
    version: '2.1'
    
    services:
        smtp:
    {% if real_mailserver is defined %}
            image: tecnativa/postfix-relay
            volumes:
                - smtp:/var/spool/postfix
            networks:
                default:
                public:
            environment:
                MAILNAME: "{{ domain }}"
                MAIL_RELAY_HOST: "{{ mailserver }}"
                MAIL_RELAY_PORT: "{{ smtpport }}"
                MAIL_RELAY_USER: "{{ smtpuser }}"
                MAIL_RELAY_PASS: "{{ smtppass }}"
                MAIL_CANONICAL_DOMAINS: "{{ domain }}"
                MAIL_NON_CANONICAL_DEFAULT: "{{ domain }}"
    {% else %}
            image: mailhog/mailhog
            networks:
                default:
                inverseproxy_smtp:
            labels:
                traefik.docker.network: "inverseproxy_smtp"
                traefik.enable: "true"
                traefik.http.routers.gitlabsmtp.middlewares: "auth@file, smtp-stripprefix@file"
                traefik.http.routers.gitlabsmtp.rule: "Host(`{{ git_url }}`) && PathPrefix(`/smtp/`)"
                traefik.http.routers.gitlabsmtp.service: "gitlabsmtp"
                traefik.http.services.gitlabsmtp.loadbalancer.server.port: "8025"
    {% endif %}
            container_name: gitlab_smtp
            restart: unless-stopped
    
        gitlab:
            image: gitlab/gitlab-ce:latest
            container_name: gitlab
            restart: unless-stopped
            environment:
                GITLAB_OMNIBUS_CONFIG: |
                    external_url 'https://{{ git_url }}'
                    nginx['redirect_http_to_https'] = false
                    nginx['listen_port'] = 80
                    nginx['listen_https'] = false
                    nginx['proxy_set_headers'] = {
                        'X-Forwarded-Proto' => 'https',
                        'X-Forwarded-Ssl' => 'on'
                    }
                    nginx['client_max_body_size'] = '2G'
                    unicorn['worker_timeout'] = 60
                    unicorn['worker_processes'] = 2
                    sidekiq['concurrency'] = 15
                    postgresql['shared_buffers'] = "512MB"
                    gitlab_ci['backup_keep_time'] = 172600
                    gitlab_rails['artifacts_enabled'] = true
                    gitlab_rails['artifacts_path'] = "/var/opt/gitlab/gitlab-artifacts"
                    gitlab_rails['lfs_enabled'] = true
                    gitlab_rails['backup_keep_time'] = 86400
    {% if enable_omniauth is defined %}
                    gitlab_rails['omniauth_enabled'] = true
                    gitlab_rails['omniauth_allow_single_sign_on'] = ['openid_connect']
                    gitlab_rails['omniauth_block_auto_created_users'] = false
                    gitlab_rails['omniauth_providers'] = [
                        {
                            "name" => 'openid_connect',
                            "args" => {
                                  'name' => 'openid_connect',
                                  'issuer' => 'https://{{ sso_url }}',
                                  'scope' => ['openid', 'profile', 'email'],
                                  'response_type' => 'code',
                                  'client_auth_method' => 'client_secret_post',
                                  'discovery' => true,
                                  'uid_field' => 'sub',
                                  'client_options' => {
                                    'redirect_uri' => 'http://{{ git_url }}/users/auth/openid_connect/callback',
                                    'identifier' => '{{ sso_oidc_gitlab_id }}',
                                    'secret' => '{{ sso_oidc_gitlab_secret }}',
                                  }
                            },
                            "label" => 'Le Filament SSO'
                        }
                    ]
    {% endif %}
                    gitlab_rails['smtp_enable'] = true
                    gitlab_rails['smtp_address'] = 'smtp'
    {% if real_mailserver is defined %}
                    gitlab_rails['smtp_port'] = 25
                    gitlab_rails['smtp_domain'] = '{{ domain }}'
    {% else %}
                    gitlab_rails['smtp_port'] = 1025
    {% endif %}
                    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
            ports:
                - "22:22"
            volumes:
                - config:/etc/gitlab:z
                - data:/var/opt/gitlab:z
                - logs:/var/log/gitlab:z
            networks:
                default:
                inverseproxy_shared:
            labels:
                traefik.enable: "true"
                traefik.http.routers.gitlab.rule: "Host(`{{ git_url }}`)"
                traefik.http.routers.gitlab.service: "gitlab"
                traefik.http.services.gitlab.loadbalancer.server.port: "80"
    
    networks:
        default:
            internal: true
            driver_opts:
                encrypted: 1
        inverseproxy_shared:
            external: true
    {% if real_mailserver is defined %}
        public:
    {% else %}
        inverseproxy_smtp:
            external: true
    {% endif %}
    
    volumes:
        config:
        data:
        logs:
    {% if real_mailserver is defined %}
        smtp:
    {% endif %}