summary refs log tree commit diff
path: root/nixos/modules/services/misc/gitlab.nix
diff options
context:
space:
mode:
authorJanne Heß <janne@hess.ooo>2020-07-18 16:35:37 +0200
committerJanne Heß <janne@hess.ooo>2020-08-21 18:56:20 +0200
commitae1dada42f5b668a9f924341d3422f357986aa3a (patch)
tree39b97d0c091b546f99e26caa6816bc2e41b1f903 /nixos/modules/services/misc/gitlab.nix
parenta02b4af726ef0a247932f90edc0a691eff8799f5 (diff)
downloadnixpkgs-ae1dada42f5b668a9f924341d3422f357986aa3a.tar
nixpkgs-ae1dada42f5b668a9f924341d3422f357986aa3a.tar.gz
nixpkgs-ae1dada42f5b668a9f924341d3422f357986aa3a.tar.bz2
nixpkgs-ae1dada42f5b668a9f924341d3422f357986aa3a.tar.lz
nixpkgs-ae1dada42f5b668a9f924341d3422f357986aa3a.tar.xz
nixpkgs-ae1dada42f5b668a9f924341d3422f357986aa3a.tar.zst
nixpkgs-ae1dada42f5b668a9f924341d3422f357986aa3a.zip
nixos/gitlab: Support incoming mail
When incoming mails are enabled, an extra service is needed.
Closes #36125.
Diffstat (limited to 'nixos/modules/services/misc/gitlab.nix')
-rw-r--r--nixos/modules/services/misc/gitlab.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 5d8de3b1bbd..5180e1d0623 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -777,6 +777,23 @@ in {
       };
     };
 
+    systemd.services.gitlab-mailroom = mkIf (gitlabConfig.production.incoming_email.enabled or false) {
+      description = "GitLab incoming mail daemon";
+      after = [ "network.target" "redis.service" "gitlab.service" ]; # gitlab.service creates configs
+      wantedBy = [ "multi-user.target" ];
+      environment = gitlabEnv;
+      serviceConfig = {
+        Type = "simple";
+        TimeoutSec = "infinity";
+        Restart = "on-failure";
+
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/bundle exec mail_room -c ${cfg.packages.gitlab}/share/gitlab/config.dist/mail_room.yml";
+        WorkingDirectory = gitlabEnv.HOME;
+      };
+    };
+
     systemd.services.gitlab = {
       after = [ "gitlab-workhorse.service" "gitaly.service" "network.target" "gitlab-postgresql.service" "redis.service" ];
       requires = [ "gitlab-sidekiq.service" ];