Personal service navigation: collect all your IP:port services into one page
428
Personal service navigation ā collect all your home services (IP:port) into one clean page. Click once, jump anywhere. Admin login at /admin for adding/editing services.
š GitHub: https://github.com/Mooloco/Naviā
main mode) with icon cache management: refresh a single icon / clear all caches/admin (default password admin123 ā change it after first login)192.168.1.1:8080 ā http://192.168.1.1:8080)| Tag | Description | Size |
|---|---|---|
main | Full features: browser-based favicon fetching via a separate browserless/chrome container (CDP) | ~442MB |
lite | Lightweight: no browser, regex-based favicon fetching only | ~246MB |
The app image never bundles a browser kernel ā in main mode it talks to the browserless/chrome container over CDP. Pick lite for low-resource machines.
Clone the project (compose file included) or create your own:
git clone https://github.com/Mooloco/Navi.git && cd Navi
cp .env.example .env # set NAVI_BRANCH / NAVI_PORT
docker-compose.yml:
services:
app:
image: mooloco/navi:${NAVI_BRANCH:-main}
container_name: navi-app
ports:
- "${NAVI_PORT:-8000}:8000"
environment:
- MOOLO_NAV_DB=/data/nav.db
- MOOLO_NAV_CACHE=/data/favicons
- NAVI_BROWSER_CDP=ws://browser:3000
volumes:
- ${NAVI_DATA:-./data}:/data # bind mount: host folder -> /data
restart: unless-stopped
browser:
image: browserless/chrome:latest
container_name: navi-browser
restart: unless-stopped
profiles: ["main"] # deployed only in main mode
.env:
NAVI_BRANCH=main # main (full) | lite (lightweight, no browser)
NAVI_PORT=8000
NAVI_DATA=./data # host folder for data (SQLite + icon cache)
Start:
# main mode: app + browser containers, full icon fetching
docker compose --profile main up -d
# lite mode: app only, no browser container deployed
docker compose --profile lite up -d
Access http://<host>:8000 ā admin page at /admin (default password admin123, change it after first login).
# main (for full icon fetching, point NAVI_BROWSER_CDP at your own Chromium service)
docker run -d --name navi-app -p 8000:8000 \
-e NAVI_BROWSER_CDP=ws://browser:3000 \
-v navi-data:/data mooloco/navi:main
# lite (standalone, no browser needed)
docker run -d --name navi-app -p 8000:8000 \
-v navi-data:/data mooloco/navi:lite
| Variable | Default | Description |
|---|---|---|
NAVI_BRANCH | main | Compose deployment mode (main/lite) |
NAVI_PORT | 8000 | Host port mapping |
MOOLO_NAV_DB | /data/nav.db | SQLite database path |
MOOLO_NAV_CACHE | /data/favicons | Favicon cache directory |
NAVI_BROWSER_CDP | ws://browser:3000 | Remote Chromium CDP endpoint (main mode only) |
All data (service list + icon cache) lives in the navi-data volume at /data. Removing the container keeps your data ā recreate with the same volume name.
docker compose --profile ${NAVI_BRANCH:-main} up -d --pull always
admin123 ā change it immediately via the š button on the admin page.Content type
Image
Digest
sha256:e39f51ed1ā¦
Size
105.3 MB
Last updated
about 14 hours ago
docker pull mooloco/navi