summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/mattermost-docker.nix
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2015-11-27 23:10:44 +0100
committermakefu <github@syntax-fehler.de>2015-11-27 23:10:44 +0100
commitc7bb244bdf40cbcac76c23cda58e745021fa7247 (patch)
tree91967eb3721b940bc4d9795a076ad1acde4d6856 /makefu/2configs/mattermost-docker.nix
parentc7568df0e28ac34e4858b39defb5ca447c0595d3 (diff)
m 1 gum: provides mattermost via docker container
Diffstat (limited to 'makefu/2configs/mattermost-docker.nix')
-rw-r--r--makefu/2configs/mattermost-docker.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/makefu/2configs/mattermost-docker.nix b/makefu/2configs/mattermost-docker.nix
new file mode 100644
index 00000000..20a93dff
--- /dev/null
+++ b/makefu/2configs/mattermost-docker.nix
@@ -0,0 +1,47 @@
+{config, lib, ...}:
+
+with lib;
+let
+ sec = toString <secrets>;
+ ssl_cert = "${sec}/wildcard.krebsco.de.crt";
+ ssl_key = "${sec}/wildcard.krebsco.de.key";
+in {
+ # mattermost docker config and deployment guide: git.euer.krebsco.de
+ virtualisation.docker.enable = true;
+ users.extraUsers.${config.krebs.build.user.name}.extraGroups = [ "docker" ];
+ krebs.nginx = {
+ enable = true;
+ servers.mattermost = {
+ listen = [ "80" "443 ssl" ];
+ server-names = [ "mattermost.euer.krebsco.de" ];
+ extraConfig = ''
+ gzip on;
+ gzip_buffers 4 32k;
+ gzip_types text/plain application/x-javascript text/css;
+ ssl_certificate ${ssl_cert};
+ ssl_certificate_key ${ssl_key};
+ default_type text/plain;
+
+ if ($scheme = http){
+ return 301 https://$server_name$request_uri;
+ }
+
+ client_max_body_size 4G;
+ keepalive_timeout 10;
+
+ '';
+ locations = [
+ (nameValuePair "/" ''
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_redirect off;
+ proxy_pass http://localhost:8065/;
+ '')
+ ];
+ };
+ };
+}