nix/modules/nixos/services/containerised/gokapi/default.nix
Ameya Shenoy 4998e822a7 feat: init
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2024-11-11 01:48:40 +05:30

36 lines
1.1 KiB
Nix

{ config, lib, ... }: {
options.snowflake.services.containerised.gokapi = {
enable = lib.mkEnableOption "enable gokapi";
domain = lib.mkOption {
type = lib.types.str;
description = "domain name to host gokapi on";
};
version = lib.mkOption {
type = lib.types.str;
description = "gokapi version to use";
};
};
config = lib.mkIf config.snowflake.services.containerised.gokapi.enable {
virtualisation.oci-containers.containers.gokapi = {
autoStart = true;
image =
"docker.io/f0rc3/gokapi:${config.snowflake.services.containerised.gokapi.version}";
volumes = [
"/var/lib/gokapi/data:/app/data"
"/var/lib/gokapi/config:/app/config"
];
ports = [ "127.0.0.1:53842:53842" ];
};
services.nginx.virtualHosts."${config.snowflake.services.containerised.gokapi.domain}" =
{
serverName = config.snowflake.services.containerised.gokapi.domain;
enableACME = true;
forceSSL = true;
locations."/" = { proxyPass = "http://127.0.0.1:53842/"; };
};
};
}