mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2026-07-18 11:01:24 +02:00
ildkule/gatus/minecraft-checker: rewrite to use python-http-handlers module
This commit is contained in:
@@ -1,29 +1,14 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
systemd.sockets."gatus-minecraft-checker" = {
|
||||
wantedBy = [ "sockets.target" ];
|
||||
services.python-http-handlers."gatus-minecraft-checker" = {
|
||||
listenStreams = [ "127.0.0.1:1337" ];
|
||||
socketConfig = {
|
||||
Accept = false;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services."gatus-minecraft-checker" = {
|
||||
serviceConfig = {
|
||||
ExecStart = lib.getExe (pkgs.writers.writePython3Bin "gatus-minecraft-checker" {
|
||||
libraries = with pkgs.python3Packages; [
|
||||
# sdnotify
|
||||
mcstatus
|
||||
];
|
||||
flakeIgnore = [ "E501" "E704" ];
|
||||
} ''
|
||||
import socket
|
||||
handler = ''
|
||||
import json
|
||||
from http.server import HTTPServer, BaseHTTPRequestHandler
|
||||
|
||||
from mcstatus import JavaServer
|
||||
|
||||
|
||||
class Handler(BaseHTTPRequestHandler):
|
||||
def do_GET(self):
|
||||
try:
|
||||
@@ -50,29 +35,6 @@
|
||||
self.send_response(500)
|
||||
self.end_headers()
|
||||
self.wfile.write(data)
|
||||
|
||||
|
||||
class NoBindHTTPServer(HTTPServer):
|
||||
def server_bind(): pass
|
||||
def server_activate(): pass
|
||||
|
||||
|
||||
def main():
|
||||
httpd = NoBindHTTPServer(
|
||||
("", 0),
|
||||
Handler,
|
||||
bind_and_activate=False,
|
||||
)
|
||||
httpd.socket = socket.fromfd(3, socket.AF_INET, socket.SOCK_STREAM)
|
||||
httpd.serve_forever()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
'');
|
||||
|
||||
NoNewPrivileges = true;
|
||||
PrivateTmp = true;
|
||||
};
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user