From 281d0a867bc542bef52d5091fed3bf1b0d3b9ef6 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Sun, 6 Apr 2025 09:40:30 +0200 Subject: build: introduce Nix package and NixOS service --- lex-serve/main.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'lex-serve') diff --git a/lex-serve/main.go b/lex-serve/main.go index d0fb690..826548f 100644 --- a/lex-serve/main.go +++ b/lex-serve/main.go @@ -5,6 +5,7 @@ import ( "encoding/json" "io/ioutil" "log" + "net" "net/http" "net/url" "os" @@ -16,6 +17,11 @@ import ( var countriesJSON []byte func main() { + socketPath := os.Getenv("SOCKET_PATH") + if socketPath == "" { + log.Fatal("SOCKET_PATH must be set") + } + domain := os.Getenv("DOMAIN") if domain == "" { log.Fatal("DOMAIN environment variable must be set") @@ -50,8 +56,15 @@ func main() { } } http.HandleFunc("/", handler.handle) - println("listening on 8000") - log.Fatal(http.ListenAndServe(":8000", nil)) + listener, err := net.Listen("unix", socketPath) + if err != nil { + log.Fatal(err) + } + if err := os.Chmod(socketPath, 0666); err != nil { + log.Fatalf("error setting socket permissions: %s", err) + return + } + log.Fatal(http.Serve(listener, nil)) } //go:embed templates -- cgit v1.2.3