Rohan Verma



Commit Briefs

91c2fbb017 rohanverma2007

mirror: https://github.com/rohanverma2007/navigator (main)


Branches

Tags

This repository contains no tags

Tree

.gitignorecommits | blame
LICENSE*commits | blame
README.md*commits | blame
assets/
compose.yaml*commits | blame
fonts/
index.html*commits | blame
status-api/

README.md

# navigator 🧭
Navigate between your HomeLab services

## preview
<img width="1774" height="985" alt="image" src="https://github.com/user-attachments/assets/e58bcbae-1867-4333-b386-e1728629a2ed" />
<img width="1777" height="993" alt="image" src="https://github.com/user-attachments/assets/d560cdaf-1d22-4dcd-9f86-6127ca7ae369" />

## credits
- @faustinoaq for porting the JS api to C
- ryanoasis/nerd-fonts for patching GoMono with nerd for GoMono Nerd Font

## features?
- super lightweight, in my testing it uses about ~2.2 mb for running the API and the site, the html site is only ~7kb so it fits in one packet
- dynamically adjusting config file, if you enter a entry in the service.json it'll automatically update the site without restart
- minimal and clean, meant to be as minimal as possible
- a status api checker built in that pings each site and all runs in one container
- dark mode/light mode button
- the entire container and setup is about ~56kb for everything

## how do i set this up?
1. git clone this repository
```
git clone https://github.com/rohanverma2007/navigator.git
```
or clone this if your on arm
```
git clone -b arm https://github.com/rohanverma2007/navigator.git
```

2. cd into the navigator directory `cd navigator`

3. simply run the command `docker compose up -d` (or `podman-compose up -d` if you use podman)

4. should be running on port 11080, a reverse proxy is recommended for this setup

## how do i update?

1. cd into the git cloned directory

2. type inside the dir `git pull`

## reverse proxies?
I currently use Traefik on my podman containers, heres the labels I have on my navigator container, but you can really use whatever reverse proxy you want (etc. NGINX, Caddy, Apache)
```
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.navigate.rule=Host(`navigate.example.com`)"
      - "traefik.http.routers.navigate.entrypoints=websecure"
      - "traefik.http.routers.navigate.tls=true"
      - "traefik.http.routers.navigate.tls.certresolver=lets-encrypt"
      - "traefik.http.services.navigate.loadbalancer.server.port=11080"
```