{ lib, config, proxyReverse, ... }: let port = 5005; portSecret = 5007; in { options.my.servers = { flame.enable = lib.mkEnableOption "enable"; flameSecret.enable = lib.mkEnableOption "enable"; }; config = lib.mkIf config.my.servers.flame.enable { sops.secrets.flame.sopsFile = ../../secrets/env.yaml; virtualisation.oci-containers = { backend = "docker"; containers = { flame = { autoStart = true; image = "pawelmalak/flame"; ports = [ "${toString port}:${toString port}" ]; volumes = [ "${config.my.containerData}/flame:/app/data" "${config.my.containerSocket}:${config.my.containerSocket}" ]; environmentFiles = [ config.sops.secrets.flame.path ]; environment = { TZ = "America/Mexico_City"; PUID = "1000"; PGID = "100"; }; }; flame-nsfw = { autoStart = true; image = "pawelmalak/flame"; ports = [ "${toString portSecret}:${toString port}" ]; volumes = [ "${config.my.containerData}/flame-nsfw:/app/data" ]; environmentFiles = [ config.sops.secrets.flame.path ]; environment = { TZ = "America/Mexico_City"; PUID = "1000"; PGID = "100"; }; }; }; }; services.nginx = { enable = true; virtualHosts."start.${config.my.domain}" = proxyReverse port // { }; virtualHosts."qampqwn4wprhqny8h8zj.${config.my.domain}" = proxyReverse portSecret // { }; }; }; }