diff options
author | tv <tv@krebsco.de> | 2020-04-17 19:21:16 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2020-04-17 19:21:16 +0200 |
commit | e1bfdd8d839929538d36e421908a96407b3aa0ab (patch) | |
tree | 557bf9a711f06997e846a5ef14a4105248f1da8c /makefu/2configs/deployment | |
parent | 6ace0f7b6941c1c9476d84944cdba8bedf98d95d (diff) | |
parent | 07f18d851a974ee594c92e3332f167ef3b1d259f (diff) |
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'makefu/2configs/deployment')
5 files changed, 135 insertions, 0 deletions
diff --git a/makefu/2configs/deployment/board.euer.krebsco.de.nix b/makefu/2configs/deployment/board.euer.krebsco.de.nix new file mode 100644 index 000000000..ca617976d --- /dev/null +++ b/makefu/2configs/deployment/board.euer.krebsco.de.nix @@ -0,0 +1,15 @@ +let + fqdn = "board.euer.krebsco.de"; + port = 13113; +in { + services.restya-board = { + enable = true; + virtualHost.listenPort = port; + }; + services.nginx.virtualHosts."${fqdn}" = { + enableACME = true; + forceSSL = true; + locations."/".proxyPass = "http://localhost:${toString port}"; + }; +} + diff --git a/makefu/2configs/deployment/docker/archiveteam-warrior.nix b/makefu/2configs/deployment/docker/archiveteam-warrior.nix new file mode 100644 index 000000000..8eef27a20 --- /dev/null +++ b/makefu/2configs/deployment/docker/archiveteam-warrior.nix @@ -0,0 +1,39 @@ +{ lib, ... }: +with lib; +let + port = ident: toString (28000 + ident); + instances = [ 1 2 3 4 5 6 7 8 9 ]; +in { + services.nginx.recommendedProxySettings = true; + services.nginx.virtualHosts."warrior.gum.r".locations = let + # TODO location "/" shows all warrior instances + proxy = ident: + { + "/warrior${toString ident}/" = { + proxyPass = "http://localhost:${port ident}/"; + # rewrite ^/info /warrior${toString ident}/info; + extraConfig = '' + sub_filter "http://warrior.gum.r/info" "http://warrior.gum.r/warrior${toString ident}/info"; + sub_filter_once off; + ''; + }; + + }; + in + foldl' mergeAttrs {} (map proxy instances); + docker-containers = let + container = ident: + { "archiveteam-warrior${toString ident}" = { + image = "archiveteam/warrior-dockerfile"; + ports = [ "127.0.0.1:${port ident}:8001" ]; + environment = { + DOWNLOADER = "makefu"; + SELECTED_PROJECT = "auto"; + CONCURRENT_ITEMS = "6"; + WARRIOR_ID = toString ident; + }; + }; + }; + in + foldl' mergeAttrs {} (map container instances); +} diff --git a/makefu/2configs/deployment/gecloudpad/default.nix b/makefu/2configs/deployment/gecloudpad/default.nix new file mode 100644 index 000000000..e13ec6ae6 --- /dev/null +++ b/makefu/2configs/deployment/gecloudpad/default.nix @@ -0,0 +1,43 @@ +{ config, lib, pkgs, ... }: +# more than just nginx config but not enough to become a module +let + wsgi-sock = "${workdir}/uwsgi-gecloudpad.sock"; + workdir = config.services.uwsgi.runDir; + gecloudpad = pkgs.python3Packages.callPackage ./gecloudpad.nix {}; +in { + + services.uwsgi = { + enable = true; + user = "nginx"; + # runDir = "/var/lib/photostore"; + plugins = [ "python3" ]; + instance = { + type = "emperor"; + vassals = { + gecloudpad = { + type = "normal"; + pythonPackages = self: with self; [ gecloudpad ]; + socket = wsgi-sock; + }; + }; + }; + }; + + services.nginx = { + enable = lib.mkDefault true; + virtualHosts."pad.binaergewitter.de" = { + enableACME = true; + forceSSL = true; + locations = { + "/".extraConfig = '' + expires -1; + uwsgi_pass unix://${wsgi-sock}; + uwsgi_param UWSGI_CHDIR ${gecloudpad}/${pkgs.python.sitePackages}; + uwsgi_param UWSGI_MODULE gecloudpad.main; + uwsgi_param UWSGI_CALLABLE app; + include ${pkgs.nginx}/conf/uwsgi_params; + ''; + }; + }; + }; +} diff --git a/makefu/2configs/deployment/gecloudpad/gecloudpad.nix b/makefu/2configs/deployment/gecloudpad/gecloudpad.nix new file mode 100644 index 000000000..7d51dfa0d --- /dev/null +++ b/makefu/2configs/deployment/gecloudpad/gecloudpad.nix @@ -0,0 +1,24 @@ +{ lib, pkgs, fetchFromGitHub, ... }: + +with pkgs.python3Packages;buildPythonPackage rec { + name = "gecloudpad-${version}"; + version = "0.2.3"; + + propagatedBuildInputs = [ + flask requests + ]; + + src = fetchFromGitHub { + owner = "binaergewitter"; + repo = "gecloudpad"; + rev = "master"; + sha256 = "0p9lcphp3r7hyypxadzw4x9ix6d0anmspxnjnj0v2jjll8gxqlhf"; + }; + + meta = { + homepage = https://github.com/binaergeiwtter/gecloudpad; + description = "server side for gecloudpad"; + license = lib.licenses.wtfpl; + }; +} + diff --git a/makefu/2configs/deployment/rss.euer.krebsco.de.nix b/makefu/2configs/deployment/rss.euer.krebsco.de.nix new file mode 100644 index 000000000..c827c5a53 --- /dev/null +++ b/makefu/2configs/deployment/rss.euer.krebsco.de.nix @@ -0,0 +1,14 @@ +let + fqdn = "rss.euer.krebsco.de"; +in { + services.tt-rss = { + enable = true; + virtualHost = fqdn; + selfUrlPath = "https://${fqdn}"; + }; + services.nginx.virtualHosts."${fqdn}" = { + enableACME = true; + forceSSL = true; + }; +} + |