owntracks and updates

This commit is contained in:
Simon Gardling 2025-01-07 00:44:03 +01:00
parent 60fb8169a3
commit d42d5cc54d
Signed by: titaniumtown
GPG Key ID: 9AB28AC10ECE533D
8 changed files with 62 additions and 7 deletions

1
.gitattributes vendored
View File

@ -4,3 +4,4 @@ secrets/minecraft-whitelist.nix filter=git-crypt diff=git-crypt
secrets/wg0.conf filter=git-crypt diff=git-crypt
secrets/caddy_auth.nix filter=git-crypt diff=git-crypt
secrets/matrix_reg_token.nix filter=git-crypt diff=git-crypt
secrets/owntracks_caddy_auth.nix filter=git-crypt diff=git-crypt

View File

@ -21,6 +21,8 @@
./services/bitmagnet.nix
./services/matrix.nix
./services/owntracks.nix
];
systemd.targets = {
@ -53,6 +55,8 @@
boot = {
kernelPackages = pkgs.linuxPackages;
kernelParams = [ "zfs.zfs_arc_max=2000000000" ];
supportedFilesystems = [ "zfs" ];
zfs.extraPools = [ "tank" ];

12
flake.lock generated
View File

@ -64,11 +64,11 @@
]
},
"locked": {
"lastModified": 1735609543,
"narHash": "sha256-2+sJqwaileD2izqMv/k6Z7iLlHOF8T4kRWflCGURzN4=",
"lastModified": 1736128264,
"narHash": "sha256-B2RuVaQBbVChPf9ZqRBEqUA09MCD5P/iBpOokoXd5gM=",
"owner": "Infinidoge",
"repo": "nix-minecraft",
"rev": "2faa9fdd8d29df54d6cec075055cf1dcf50de280",
"rev": "eefeae9b72d15f69e7264a6a87fba6ecc9782496",
"type": "github"
},
"original": {
@ -95,11 +95,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1735531152,
"narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=",
"lastModified": 1736061677,
"narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b",
"rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36",
"type": "github"
},
"original": {

View File

@ -47,6 +47,7 @@
torrent = 6011;
ollama = 11434;
bitmagnet = 3333;
owntracks = 3825;
};
https = {
@ -82,6 +83,10 @@
jellyfin = {
dir = services_dir + "/jellyfin";
};
owntracks = {
data_dir = "/tank/services/owntracks";
};
};
in
{
@ -116,6 +121,7 @@
pkgs,
username,
home-manager,
stateVersion,
...
}:
{

View File

@ -1,4 +1,9 @@
{ pkgs, username, ... }:
{
pkgs,
username,
stateVersion,
...
}:
{
home.stateVersion = "24.11";
programs.fish =

Binary file not shown.

View File

@ -69,6 +69,11 @@ in
"${matrix_hostname}:8448".extraConfig =
config.services.caddy.virtualHosts."${config.services.matrix-conduit.settings.global.server_name
}".extraConfig;
"owntracks.${service_configs.https.domain}".extraConfig = ''
${import ../secrets/owntracks_caddy_auth.nix}
reverse_proxy :${builtins.toString service_configs.ports.owntracks}
'';
};
};

34
services/owntracks.nix Normal file
View File

@ -0,0 +1,34 @@
{ pkgs, service_configs, ... }:
let
owntracks_pkg = pkgs.owntracks-recorder.overrideAttrs (old: {
installPhase =
old.installPhase
+ ''
mkdir -p $out/usr/share/ot-recorder
cp -R docroot/* $out/usr/share/ot-recorder'';
});
in
{
users.groups.owntracks = { };
users.users.owntracks = {
isNormalUser = true;
group = "owntracks";
};
systemd.services.owntracks = {
enable = true;
description = "Store and access data published by OwnTracks apps";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "owntracks";
Group = "owntracks";
WorkingDirectory = "${owntracks_pkg}";
ExecStart = "${owntracks_pkg}/bin/ot-recorder -S ${service_configs.owntracks.data_dir} --doc-root usr/share/ot-recorder --http-port ${builtins.toString service_configs.ports.owntracks} --port 0";
};
};
systemd.tmpfiles.rules = [
"d ${service_configs.owntracks.data_dir} 0750 owntracks owntracks"
];
}