Revert "radiobert: switch from readsb back to dump1090"

This reverts commit 6153e0c197.
This commit is contained in:
Astro 2022-03-10 17:43:02 +01:00
parent 9d6c21ce65
commit 299895e21c
2 changed files with 36 additions and 14 deletions

View File

@ -2,6 +2,6 @@
imports = [
./base.nix
./soapysdr.nix
./adsb.nix
./readsb.nix
];
}

View File

@ -4,11 +4,10 @@ let
lat = "51.081";
lon = "13.728";
altitude = "150";
statsDir = "/tmp/dump1090";
makeMlatClientService = args: {
wantedBy = [ "multi-user.target" ];
requires = [ "dump1090.service" ];
requires = [ "readsb.service" ];
serviceConfig = {
User = "mlat-client";
Group = "adsb";
@ -29,19 +28,16 @@ in {
sops.secrets = {
"chaos-consulting/user".owner = "mlat-client";
};
users.users.dump1090 = {
users.users.readsb = {
isSystemUser = true;
group = "adsb";
};
users.groups.adsb = {};
systemd.tmpfiles.rules = [
"d ${statsDir} 0755 dump1090 adsb -"
];
systemd.services.dump1090 = {
systemd.services.readsb = {
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.dump1090}/bin/dump1090 --quiet --modeac --forward-mlat --fix --stats-range --lon ${lon} --lat ${lat} --net --write-json ${statsDir}";
User = "dump1090";
ExecStart = "${pkgs.readsb}/bin/readsb --modeac --aggressive --fix --stats-range --dcfilter --quiet --gain=-10 --lon=${lon} --lat=${lat} --net --net-ro-port=30002 --net-sbs-port=30003 --net-bo-port=30005 --net-vrs-port=30006 --net-beast-reduce-interval 1 --net-connector feed.adsbexchange.com,30005,beast_reduce_out";
User = "readsb";
Group = "adsb";
ProtectSystem = "full";
ProtectHome = true;
@ -69,6 +65,26 @@ in {
verifyPeer = false;
};
};
users.users.sbs2json = {
isSystemUser = true;
group = "adsb";
};
# SHIM because readsb has no web server like dump1090
systemd.services.sbs2json = {
wantedBy = [ "multi-user.target" ];
requires = [ "readsb.service" ];
serviceConfig = {
ExecStart = "${pkgs.heliwatch.http-json}/bin/http-json";
User = "sbs2json";
Group = "adsb";
ProtectSystem = "full";
ProtectHome = true;
Restart = "always";
RestartSec = "10s";
};
};
systemd.services.feed-chaos-consulting = {
wantedBy = [ "multi-user.target" ];
requires = [ "sbs2json.service" ];
@ -81,7 +97,14 @@ in {
};
path = with pkgs; [ curl gzip ];
script = ''
while gzip -c < ${statsDir}/aircraft.json \
while (
echo '{"now":'
date +%s
echo ',"aircraft":'
curl -s http://localhost:8080/data.json
echo '}'
) \
| gzip -c \
| curl -s \
-u "$(cat ${config.sops.secrets."chaos-consulting/user".path})" \
-X POST \
@ -101,7 +124,7 @@ in {
};
systemd.services.dump1090-influxdb = {
wantedBy = [ "multi-user.target" ];
requires = [ "dump1090.service" ];
requires = [ "readsb.service" ];
serviceConfig = {
ExecStart = "${pkgs.dump1090-influxdb}/bin/dump1090-influxdb";
User = "dump1090-influxdb";
@ -131,7 +154,6 @@ in {
systemd.services.nginx.serviceConfig.PrivateTmp = lib.mkForce false;
environment.systemPackages = with pkgs; [
dump1090
#dump1090_rs
readsb
];
}