馃彙 my personal home lab
1{
2 config,
3 pkgs,
4 ...
5}:
6{
7 systemd.services.openobserve = {
8 description = "OpenObserve observability platform";
9 after = [ "network.target" ];
10 wantedBy = [ "multi-user.target" ];
11 serviceConfig = {
12 Type = "simple";
13 ExecStart = "${pkgs.openobserve}/bin/openobserve";
14 DynamicUser = true;
15 StateDirectory = "openobserve";
16 EnvironmentFile = config.sops.templates."openobserve.env".path;
17 Environment = [
18 "ZO_DATA_DIR=/var/lib/openobserve"
19 "ZO_HTTP_PORT=5080"
20 "ZO_HTTP_ADDR=[::]"
21 ];
22 Restart = "on-failure";
23 RestartSec = "5s";
24 };
25 };
26
27 sops.templates."openobserve.env".content = ''
28 ZO_ROOT_USER_EMAIL=${config.sops.placeholder.openobserve-root-email}
29 ZO_ROOT_USER_PASSWORD=${config.sops.placeholder.openobserve-root-password}
30 '';
31 sops.secrets.openobserve-root-email = { };
32 sops.secrets.openobserve-root-password = { };
33
34 networking.firewall.allowedTCPPorts = [ 5080 ];
35}