blob: 355d31f7ab8d03ef3e6b61fc781244fb3cb459c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
{pkgs, ...}: {
virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [
arion
];
services.ollama = {
enable = true;
host = "0.0.0.0";
port = 11434;
# probably won't work reliably on Polaris
# acceleration = "rocm";
};
services.nginx = {
enable = true;
virtualHosts."ai.local" = {
locations."/" = {
proxyPass = "http://127.0.0.1:7000";
proxyWebsockets = true;
};
};
};
environment.etc."arion/arion-compose.nix".source =
./arion-compose.nix;
environment.etc."arion/arion-pkgs.nix".text = ''
{ pkgs ? import <nixpkgs> {} }:
{
}
'';
systemd.services.odysseus = {
wantedBy = ["multi-user.target"];
after = [
"docker.service"
"ollama.service"
];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
WorkingDirectory = "/etc/arion";
ExecStart = "${pkgs.arion}/bin/arion up -d";
ExecStop = "${pkgs.arion}/bin/arion down";
};
};
}
|