Configure SMTP email

By default, Gisia has all email disabled. To send emails, you need to enable email and configure SMTP in your gitlab.yml.

Enable SMTP

Open your config/web/gitlab.yml in your project folder and add the smtp block inside the gitlab: section:

production: &base

  gitlab:
    email_enabled: true
    email_from: noreply@yourdomain.com
    email_display_name: Gisia
    email_reply_to: noreply@yourdomain.com
    email_subject_prefix: ''

    smtp:
      enabled: true
      address: smtp.yourdomain.com
      port: 587
      user_name:
      password:
      domain:
      authentication:
      enable_starttls_auto: true
      openssl_verify_mode: peer
      tls: false

Restart the Gisia web container after saving the file:

docker compose restart web

Verify your configuration

Open a Rails console inside the container to verify the settings were loaded correctly:

docker exec -it gisia-web bundle exec rails c

Then check the values:

Settings.gitlab['email_enabled']
Settings.gitlab['smtp']

Debug: YAML indentation

A common mistake is placing the smtp: block or email fields at the wrong indentation level. All email settings must be nested under gitlab:, not at the top level of production:.

Wrong — smtp is not under gitlab::

production: &base

  gitlab:
    email_enabled: true

  smtp:
    enabled: true

Correct — smtp is nested under gitlab::

production: &base

  gitlab:
    email_enabled: true

    smtp:
      enabled: true

When the indentation is wrong, Settings.gitlab['smtp']['enabled'] will return false and Settings.gitlab['email_enabled'] will return false regardless of what you set, because the keys are parsed as unknown top-level fields and the defaults kick in.