summaryrefslogtreecommitdiff
path: root/hosts/chaski/services/gtfs.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hosts/chaski/services/gtfs.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/hosts/chaski/services/gtfs.nix b/hosts/chaski/services/gtfs.nix
new file mode 100644
index 0000000..61837a1
--- /dev/null
+++ b/hosts/chaski/services/gtfs.nix
@@ -0,0 +1,38 @@
+{ config, lib, pkgs, ... }:
+
+let
+ vaas = import ./VaaS/default.nix {inherit pkgs; };
+
+ transitfeed = pkgs.fetchFromGitHub {
+ owner = "google";
+ repo = "transitfeed";
+ rev = "d727e97cb66ac2ca2d699a382ea1d449ee26c2a1";
+ sha256 = "0kmcmdja6h7gzvi40c9qfzxh6qwv5184g2rgpqx5rhj4ql9ini3h";
+ };
+
+ index = pkgs.copyPathToStore ./VaaS/index.html;
+in
+{
+ systemd.services.vaas = {
+ enable = true;
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+ description = "GTFS feed validator as a service";
+ path = [ pkgs.python2 pkgs.python2Packages.pytz pkgs.python2Packages.enum34 ];
+ serviceConfig = {
+ ExecStart = "${vaas}/bin/VaaS ${transitfeed}/feedvalidator.py ${index}";
+ Restart = "always";
+ PrivateTmp = "true";
+ PrivateDevices = "true";
+ ProtectSystem = "strict";
+ ReadWritePaths = [ "/tmp" ];
+ };
+
+ };
+
+ services.nginx.virtualHosts."gtfs.stuebinm.eu" = {
+ enableACME = true;
+ forceSSL = true;
+ locations."/".proxyPass = "http://localhost:7000";
+ };
+}