31 lines
909 B
Nix
31 lines
909 B
Nix
{ inputs, pkgs, ... }:
|
|
|
|
let
|
|
mkNginxVHosts = inputs.self.lib.mkNginxVHosts;
|
|
opencodePort = 58801;
|
|
opencodePackage = inputs.nix-ai-tools.packages.${pkgs.stdenv.hostPlatform.system}.opencode;
|
|
in
|
|
|
|
{
|
|
services.nginx.virtualHosts = mkNginxVHosts {
|
|
domains = {
|
|
"ai.baduhai.dev".locations."/".proxyPass = "http://127.0.0.1:${toString opencodePort}/";
|
|
};
|
|
};
|
|
|
|
systemd.services.opencode-web = {
|
|
description = "OpenCode Web UI";
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "network.target" ];
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
DynamicUser = true;
|
|
StateDirectory = "opencode-web";
|
|
WorkingDirectory = "/var/lib/opencode-web";
|
|
Environment = "HOME=/var/lib/opencode-web";
|
|
ExecStart = "${opencodePackage}/bin/opencode web --hostname 127.0.0.1 --port ${toString opencodePort}";
|
|
Restart = "on-failure";
|
|
RestartSec = "5s";
|
|
};
|
|
};
|
|
}
|