Files
server-docs/readme.md
2026-09-13 17:02:18 +12:00

2.1 KiB

Server documentation tool, ill work out a fun name later

This is fun small tool used to document your homelab its very simplistic and should be used more as a fun show case and not as real documentation.

example image

how to use it

first compile the project with zig 0.16.0,

$ zig build

then its time to create your UI, create a json file called what ever you want and follow the schema provided (ui.schema.json)

you file should look something like this (example.json)

[
    {
        "ascii_art": " ╔═══════╗\n ║ ╸╸╸╸ @║\n ║│╳╳╳╳│*║\n ║│╳╳╳╳│.║\n ╟┤╳╳╳╳├╌╢\n ║│╳╳╳╳│ ║\n ║│╳╳╳╳│ ║\n ╚╧════╧═╝",
        "ip": "10.0.0.9",
        "name": "truenas",
        "services": [
            {
                "name": "git",
                "ports": [
                    3069
                ],
                "description": "services for running my forge"
            },
            {
                "name": "lang tools",
                "ports": [
                    8081
                ],
                "description": "spell checker so i dont have to download the 300GB of the english language"
            }
        ]
    },
    {
        "ascii_art": " ╔══════╤══════╤══════╤══════╤══════╗\n ║╳╳╳╳╳@╏╳╳╳╳╳@╏╳╳╳╳╳@╏╳╳╳╳╳@╏╸=[]@*║\n ╚══════╧══════╧══════╧══════╧══════╝",
        "ip": "10.0.0.10",
        "name": "the big boy",
        "services": [
            {
                "name": "minecraft",
                "ports": [
                    25565
                ],
                "description": "26.2 minecraft server"
            }
        ]
    }
]

Finally to run pass the relative path of the json to the executable located in zig-out/bin/.