diff --git a/modules/nixos/services/mbtileserver.nix b/modules/nixos/services/mbtileserver.nix
index 4742b81dc3cbd1fe539b026b3586f6cc77349ae7..7ac7545dbe0723ab734dccd6197e5db3dfafe85f 100644
--- a/modules/nixos/services/mbtileserver.nix
+++ b/modules/nixos/services/mbtileserver.nix
@@ -13,20 +13,79 @@ in
{
options.services.mbtileserver = {
enable = mkEnableOption "mbtileserver";
type = types.package;
default = pkgs.mbtileserver;
defaultText = literalMD "pkgs.mbtileserver";
description = "Which mbtileserver package to use.";
type = types.path;
default = "/srv/tilesets";
description = "The path where *.mbtiles files stored.";
default = { };
description = ''
Configuration for nginx reverse proxy.
'';
type = types.submodule {
options = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Configure the nginx reverse proxy settings.
'';
};
hostName = mkOption {
type = types.str;
description = ''
The hostname use to setup the virtualhost configuration
'';
};
};
};
};
description = "MBTiles server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment.TILE_DIR = "/srv/tilesets";
serviceConfig = {
DynamicUser = true;
LogsDirectory = "mbtileserver";
ExecStart = "${pkgs.mbtileserver}/bin/mbtileserver --enable-reload-signal --tiles-only";
Restart = "always";
systemd.services.mbtileserver = {
description = "MBTiles server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment.TILE_DIR = cfg.tileDir;
serviceConfig = {
DynamicUser = true;
LogsDirectory = "mbtileserver";
ExecStart = "${lib.getBin cfg.package}/bin/mbtileserver --enable-reload-signal --tiles-only";
Restart = "always";
};
};
services.nginx = {
enable = true;
virtualHosts."${cfg.nginx.hostName}" = {
locations."/" = {
root = cfg.tileDir;
extraConfig = ''
autoindex on;
autoindex_exact_size off;
'';
};
locations."/services" = {
proxyPass = "http://localhost:8000";
extraConfig = ''
#proxy_set_header Host ''$host;
#proxy_set_header X-Forwarded-Host ''$server_name;
#proxy_set_header X-Real-IP ''$remote_addr;
add_header Cache-Control 'public, max-age=3600, must-revalidate';
'';
};
};
};
}
application/octet-stream
This content has been proxied by September (3851b).