feat: remove OwnTracks
Remove OwnTracks including Home Assistant integration. I've replaced OwnTracks with Home Assistant Companion App & Zood which are sufficient for my use cases.
This commit is contained in:
parent
5221775599
commit
4b3096f05b
|
@ -26,7 +26,6 @@ in with builtins; {
|
||||||
./services/home-assistant
|
./services/home-assistant
|
||||||
./services/esphome.nix
|
./services/esphome.nix
|
||||||
./services/watchtower.nix
|
./services/watchtower.nix
|
||||||
./services/owntracks.nix
|
|
||||||
./services/immich.nix
|
./services/immich.nix
|
||||||
./services/miniflux.nix
|
./services/miniflux.nix
|
||||||
./services/paperless.nix
|
./services/paperless.nix
|
||||||
|
@ -91,7 +90,6 @@ in with builtins; {
|
||||||
"books.felschr.com"
|
"books.felschr.com"
|
||||||
"news.felschr.com"
|
"news.felschr.com"
|
||||||
"mqtt.felschr.com"
|
"mqtt.felschr.com"
|
||||||
"owntracks.felschr.com"
|
|
||||||
"etebase.felschr.com"
|
"etebase.felschr.com"
|
||||||
"paperless.felschr.com"
|
"paperless.felschr.com"
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
age-encryption.org/v1
|
|
||||||
-> ssh-ed25519 OAZQhA Zk7pyxZCYNBqc2Yq2YVTnuSAEYCQCb2sTDnEHdeeRVE
|
|
||||||
uLBwYObVyoGkvs5vvtRwpY8/YiCi1qY4a/jjbFNCkCc
|
|
||||||
-> ssh-ed25519 lJaKnA 1oPaj5fMj7JGjWhGUcRt2AZ6hPuVJzgDGtQhRNJ/mSE
|
|
||||||
1Fetob/75g/x1pMjuIamAmJWGAEJpTdZMjYQiJ9I1+0
|
|
||||||
-> ssh-ed25519 72ij7w t8GTBY5xjmM0MTro5fxE/0yQHGuH4gLwAll5XGz7TR8
|
|
||||||
FGT/HXGg+7nbXSAHQoYpNNUT6PTNx3FtccUA9ReeywI
|
|
||||||
-> \FcVUy0l-grease
|
|
||||||
nZBgdgKQagVXynNlPuYXx2OKM/yw76nGM11e6nGBDkGhX+xJn7QQacN60XyTCgOq
|
|
||||||
1Cg
|
|
||||||
--- BQOtkyCXiut1BtuVpp6ZqSdRQsftPMBAWCBT26Gliug
|
|
||||||
æ¶vHØi¶„ž•îƒ¢ú^Wß}˜¹JÂ…¾WD’öi²&ÿž^óšù^ÜÜÞÔ÷rSbïüe”‹»ÂcfRe(<28>Töšä_´«ÿºÂGr¨‹lìw§ü˯#DÊê]є׃žé€Õ™u°¾Ðxòü¾ÍøˆõLéyõv!þt¹¹8Ȳ8³
|
|
Binary file not shown.
|
@ -1,12 +0,0 @@
|
||||||
age-encryption.org/v1
|
|
||||||
-> ssh-ed25519 OAZQhA m6D5sjiAsBvLDuUGWQ6i4W+NbvamBUQJOakUalmt8WI
|
|
||||||
WBOapJnIFtXXWcj/jK2f1andoQRGBdSXVJqjExlWBs0
|
|
||||||
-> ssh-ed25519 lJaKnA 0j29b+NTPdWMnYqT4ub8DaDwbVspWeGe7YyWZT65v24
|
|
||||||
ZO71r4GJZrGH5FHu8ikPokqPqJFzZgXBWp0pVWQn9PM
|
|
||||||
-> ssh-ed25519 72ij7w OB+Cayu5k0Wr58yjDNhgx2mVLC6BRPKpCAu9GVFB0gg
|
|
||||||
YvJFljaN8k53YADUpv//mQyKP0I0UWOOhGSVHxameso
|
|
||||||
-> $b)_:kE-grease 1r{~
|
|
||||||
5Qy7XF5G4q4r3/fZTgVvF6Hh8l41jGh8fB5BtiL53FCA6xsl47v6MqBKLkpyowbd
|
|
||||||
d03Wbt/PfmrYke7e9WOWn1EKG+v+EZJ7us3JiLK9zy0hs6Y
|
|
||||||
--- tOD38UbHBF898Kl1wODM6PC53thmqt0kb1Kw8GRSZuY
|
|
||||||
ªç›PF)_<06>4à@þïôľžO6m@Oƒ×Šæ]P»ócЄ>NU ®MI’ý¦³eX’`¼)æ” ;jèí+»POu}^
/Ê…Ñ€¬º4ï4Ã.9Mâ™<EFBFBD>ÙಙÔ,˜2îKGÞ@×D™IÍ/¡ÃjçÕBT©Û°ŒÇbBØðK"cËR}%>ú&b›
|
|
Binary file not shown.
|
@ -1,13 +0,0 @@
|
||||||
age-encryption.org/v1
|
|
||||||
-> ssh-ed25519 OAZQhA wIE3VAy2VaP+135sze5kcUaXI+KilAIbkeggBQnoAk4
|
|
||||||
p+8JKhkfkWHepXM1msDRHlY3V5gqkOkj/73VJDUywSc
|
|
||||||
-> ssh-ed25519 lJaKnA 3PwR62JamBSgHRDfEzCQf5SlkAlRZ5cVwWKsOctRFGQ
|
|
||||||
4wyHMnxdzLDvviVEKRO9Fm6gqENHQkBB8t/KoxL3b5s
|
|
||||||
-> ssh-ed25519 72ij7w GfkjvD4g+f1NPpl79sV8obf5doHTBVq5FL460ym0DHQ
|
|
||||||
wLQx/WIq+fKOhdwuCssi90don1Ua/YKbxSsvUp6wrg8
|
|
||||||
-> y>ssL,-grease
|
|
||||||
iqwx9J3eKDYl5fnlFG8cTbsdMGjrNZQ2lCteeFD0DWAM6SHpYbR08BINE4hJQ1pT
|
|
||||||
feMzHYmXMdQU4Hn/d8J/5i4V/RpvvLCFKyxbgHC7qsTGEqo8cnw6Ghv844Y0aJcY
|
|
||||||
qA
|
|
||||||
--- 6wVkJPPC2apD4mVSN0isSLCmjOQ2BmTntvSiqA66zJ4
|
|
||||||
:Řb˝<62>¦đšIą¤4FçŘärU™={ ˛ťČż±ádź]ÔöŤ!a`L›C˘-ăńOC#ü<07>đúz»ÔĽ ÂS@=w°Ún
|
|
|
@ -18,14 +18,9 @@ in {
|
||||||
"restic/password.age".publicKeys = [ felschr home-pc home-server pilot1 ];
|
"restic/password.age".publicKeys = [ felschr home-pc home-server pilot1 ];
|
||||||
"smtp.age".publicKeys = [ felschr home-pc home-server ];
|
"smtp.age".publicKeys = [ felschr home-pc home-server ];
|
||||||
"samba.age".publicKeys = [ felschr home-pc home-server ];
|
"samba.age".publicKeys = [ felschr home-pc home-server ];
|
||||||
"mqtt/felix.age".publicKeys = [ felschr home-pc home-server ];
|
|
||||||
"mqtt/birgit.age".publicKeys = [ felschr home-pc home-server ];
|
|
||||||
"mqtt/hass.age".publicKeys = [ felschr home-pc home-server ];
|
"mqtt/hass.age".publicKeys = [ felschr home-pc home-server ];
|
||||||
"mqtt/tasmota.age".publicKeys = [ felschr home-pc home-server ];
|
"mqtt/tasmota.age".publicKeys = [ felschr home-pc home-server ];
|
||||||
"mqtt/owntracks.age".publicKeys = [ felschr home-pc home-server ];
|
|
||||||
"cloudflare.age".publicKeys = [ felschr home-pc home-server ];
|
"cloudflare.age".publicKeys = [ felschr home-pc home-server ];
|
||||||
"owntracks/recorder.env.age".publicKeys = [ felschr home-pc home-server ];
|
|
||||||
"owntracks/htpasswd.age".publicKeys = [ felschr home-pc home-server ];
|
|
||||||
"etebase-server.age".publicKeys = [ felschr home-pc home-server ];
|
"etebase-server.age".publicKeys = [ felschr home-pc home-server ];
|
||||||
"calibre-web/htpasswd.age".publicKeys = [ felschr home-pc home-server ];
|
"calibre-web/htpasswd.age".publicKeys = [ felschr home-pc home-server ];
|
||||||
"miniflux.age".publicKeys = [ felschr home-pc home-server ];
|
"miniflux.age".publicKeys = [ felschr home-pc home-server ];
|
||||||
|
|
|
@ -62,7 +62,6 @@ in {
|
||||||
database_path = "/var/lib/hass/zigbee.db";
|
database_path = "/var/lib/hass/zigbee.db";
|
||||||
zigpy_config = { ota = { ikea_provider = true; }; };
|
zigpy_config = { ota = { ikea_provider = true; }; };
|
||||||
};
|
};
|
||||||
owntracks = { mqtt_topic = "owntracks/#"; };
|
|
||||||
alarm_control_panel = [{
|
alarm_control_panel = [{
|
||||||
platform = "manual";
|
platform = "manual";
|
||||||
code = "!secret alarm_code";
|
code = "!secret alarm_code";
|
||||||
|
|
|
@ -16,7 +16,6 @@ in {
|
||||||
mqtt-birgit = mkSecret ../secrets/mqtt/birgit.age;
|
mqtt-birgit = mkSecret ../secrets/mqtt/birgit.age;
|
||||||
mqtt-hass = mkSecret ../secrets/mqtt/hass.age;
|
mqtt-hass = mkSecret ../secrets/mqtt/hass.age;
|
||||||
mqtt-tasmota = mkSecret ../secrets/mqtt/tasmota.age;
|
mqtt-tasmota = mkSecret ../secrets/mqtt/tasmota.age;
|
||||||
mqtt-owntracks = mkSecret ../secrets/mqtt/owntracks.age;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
|
@ -34,42 +33,18 @@ in {
|
||||||
|
|
||||||
services.mosquitto = {
|
services.mosquitto = {
|
||||||
enable = true;
|
enable = true;
|
||||||
listeners = [
|
listeners = [{
|
||||||
{
|
|
||||||
port = port;
|
port = port;
|
||||||
users = {
|
users = {
|
||||||
"hass" = {
|
"hass" = {
|
||||||
acl = [
|
acl = [ "readwrite homeassistant/#" "readwrite tasmota/#" ];
|
||||||
"readwrite homeassistant/#"
|
|
||||||
"readwrite tasmota/#"
|
|
||||||
"readwrite owntracks/#"
|
|
||||||
];
|
|
||||||
hashedPasswordFile = config.age.secrets.mqtt-hass.path;
|
hashedPasswordFile = config.age.secrets.mqtt-hass.path;
|
||||||
};
|
};
|
||||||
"tasmota" = {
|
"tasmota" = {
|
||||||
acl = [ "readwrite tasmota/#" "readwrite homeassistant/#" ];
|
acl = [ "readwrite tasmota/#" "readwrite homeassistant/#" ];
|
||||||
hashedPasswordFile = config.age.secrets.mqtt-tasmota.path;
|
hashedPasswordFile = config.age.secrets.mqtt-tasmota.path;
|
||||||
};
|
};
|
||||||
"owntracks" = {
|
|
||||||
acl = [ "readwrite owntracks/#" ];
|
|
||||||
hashedPasswordFile = config.age.secrets.mqtt-owntracks.path;
|
|
||||||
};
|
};
|
||||||
};
|
}];
|
||||||
}
|
|
||||||
{
|
|
||||||
port = wsPort;
|
|
||||||
settings.protocol = "websockets";
|
|
||||||
users = {
|
|
||||||
"felix" = {
|
|
||||||
acl = [ "read owntracks/#" "readwrite owntracks/felix/#" ];
|
|
||||||
hashedPasswordFile = config.age.secrets.mqtt-felix.path;
|
|
||||||
};
|
|
||||||
"birgit" = {
|
|
||||||
acl = [ "read owntracks/#" "readwrite owntracks/birgit/#" ];
|
|
||||||
hashedPasswordFile = config.age.secrets.mqtt-birgit.path;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
frontend-config = builtins.toFile "owntracks-frontend-config.js" ''
|
|
||||||
window.owntracks = window.owntracks || {};
|
|
||||||
window.owntracks.config = {};
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
age.secrets.owntracks-recorder-env.file =
|
|
||||||
../secrets/owntracks/recorder.env.age;
|
|
||||||
age.secrets.owntracks-htpasswd = {
|
|
||||||
file = ../secrets/owntracks/htpasswd.age;
|
|
||||||
owner = config.services.nginx.user;
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.oci-containers.containers = {
|
|
||||||
owntracks-recorder = {
|
|
||||||
image = "owntracks/recorder";
|
|
||||||
ports = [ "8083:8083" ];
|
|
||||||
environment = {
|
|
||||||
OTR_HOST = "localhost";
|
|
||||||
OTR_PORT = "1883";
|
|
||||||
OTR_USER = "owntracks";
|
|
||||||
};
|
|
||||||
# provide OTR_PASS
|
|
||||||
environmentFiles = [ config.age.secrets.owntracks-recorder-env.path ];
|
|
||||||
volumes = [ "/var/lib/owntracks/recorder/store:/store" ];
|
|
||||||
extraOptions = [ "--network=host" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
owntracks-frontend = {
|
|
||||||
image = "owntracks/frontend";
|
|
||||||
ports = [ "8085:8085" ];
|
|
||||||
environment = {
|
|
||||||
SERVER_HOST = "localhost";
|
|
||||||
SERVER_PORT = "8083";
|
|
||||||
LISTEN_PORT = "8085";
|
|
||||||
};
|
|
||||||
volumes = [ "${frontend-config}:/usr/share/nginx/html/config/config.js" ];
|
|
||||||
extraOptions = [ "--network=host" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
nginx = {
|
|
||||||
virtualHosts."owntracks.felschr.com" = {
|
|
||||||
enableACME = true;
|
|
||||||
forceSSL = true;
|
|
||||||
locations."/".proxyPass = "http://localhost:8085";
|
|
||||||
basicAuthFile = config.age.secrets.owntracks-htpasswd.path;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in a new issue