diff --git a/nixos/server/track.nix b/nixos/server/track.nix new file mode 100644 index 0000000000000000000000000000000000000000..f8ff4c38039e0a3a98cc03979f9279d1bd637ba5 --- /dev/null +++ b/nixos/server/track.nix @@ -0,0 +1,46 @@ +{ ... }: + +{ + traccar = { + enable = true; + settings = { + # see https://www.traccar.org/postgresql + databaseDriver = "org.postgresql.Driver"; + databaseUrl = "jdbc:postgresql:///run/postgresql/traccar"; + databaseUser = "traccar"; + #databasePassword = ""; + + loggerConsole = "true"; + mediaPath = "/var/lib/traccar/media"; + templatesPath = "/var/lib/traccar/templates"; + webPort = 61038; + }; + environmentFile = { + + }; + }; + + services.postgresql = { + ensureUsers = [{ + name = "traccar"; + ensureDBOwnership = true; + }]; + ensureDatabases = [ "traccar" ]; + }; + + environment.persistence."/persist".directories = [ "/var/lib/traccar" ]; + + services.traefik.dynamicConfigOptions.http = { + routers.track = { + rule = "Host(`track.eisfunke.com`)"; + entrypoints = [ "websecure" ]; + tls.certResolver = "tls"; + service = "track"; + }; + services.track = { + loadBalancer.servers = [ + { url = "http://localhost:61038"; } + ]; + }; + }; +}