docker run -d \
--name muhomu \
-p 4444:4444 \
-v ./data:/data:z \
ghcr.io/gary-host-laptop/muhomu:latest
Or with Docker Compose:
services:
muhomu:
image: ghcr.io/gary-host-laptop/muhomu:latest
ports:
- "4444:4444"
volumes:
- ./data:/data:z
restart: unless-stoppeddocker compose up -d --build
Open http://localhost:4444. Edit data/config.yaml and restart to reconfigure.
Or run directly:
go run . -config ./data/config.yaml
All layout lives in data/config.yaml. Columns declare their size (small = 250px, full = 1fr) and ordered list of widgets:
columns:
- size: small
widgets:
- id: image
- id: quote
- size: full
widgets:
- id: bookmarks
- id: notes
- id: split-column
options:
max-columns: 2
widgets:
- id: timer
- id: quick-access
- size: small
widgets:
- id: system-stats
- id: calendarAvailable widgets: quick-access, bookmarks, notes, recently-visited, rss, quote, kotoba, system-stats, timer, rain, image, calendar, status.
Drop files into host-mounted directories: profile-images/, bg-images/, widget-images/. Supported: jpg, jpeg, png, webp, gif, avif.
User content (bookmarks, notes, quotes, quick access, recently visited) is stored in SQLite at data/muhomu.db and edited on the dashboard. Configuration is never stored in the database.
-port string port to listen on (default "8080")
-data string data directory (default "./data")
-config string config file path (default "./data/config.yaml")
-static string static files directory (default "./static")
