Self hosted dashboard for managing and checking your server
62
Self hosted dashboard for managing and checking your server
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Kikkerslijm410/MyInfra/refs/heads/main/installers/proxmox-install.sh)"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Kikkerslijm410/MyInfra/refs/heads/main/installers/proxmox-update.sh)"
services:
app:
build: .
container_name: app
ports:
- "5000:5000"
volumes:
- ./data:/app/data
restart: unless-stopped
All data (websites, groups, checks, tasks, widgets, settings) lives in a single SQLite file at data/myinfra.db, which is mounted as a volume so it survives container rebuilds.
Because all data lives in one SQLite file, backing up MyInfra is as simple as downloading that file, and restoring is as simple as uploading it again.
GET /api/data → Full dashboard state (settings, groups/items, checks state)POST /api/settings → Update settings (colors, language)POST /api/checks/enabled → Enable/disable individual checksPOST /api/groups → Create a groupPUT /api/groups/<group_id> → Update an existing groupPOST /api/groups/reorder → Reorder the groupsGET /api/items/select-options → Lightweight list for linking tasksPOST /api/items → Create an item (website)PUT /api/items/<item_id> → Update an existing item (including checks exclusion)DELETE /api/items/<item_id> → Delete an item (website)POST /api/items/move → Move an item (website)POST /api/upload → Upload a file for the website iconGET /api/checks/meta → Metadata for all available checksPOST /api/checks/reorder → Reorder/re-column checksGET /api/checks/outbound-ip → Retrieve current outgoing IPPOST /api/checks/outbound-ip/clear → Clear status for the outgoing IP checkGET /api/checks/ssl-expiry → Check SSL certificate expiry for all configured domainsGET /api/checks/uptime → Check local/domain reachability for all websitesGET /api/tasks/meta → Available task statusesGET /api/tasks → List tasks (filter by status, item_id, or search with q)POST /api/tasks → Create a taskGET /api/tasks/<task_id> → Get a single task (including notes)PUT /api/tasks/<task_id> → Update a taskDELETE /api/tasks/<task_id> → Delete a task (and its notes)POST /api/tasks/<task_id>/notes → Add a note to a taskDELETE /api/tasks/<task_id>/notes/<note_id> → Delete a noteGET /api/widgets → List widgets with live data (weather forecast / upcoming tasks)POST /api/widgets → Create a widgetPUT /api/widgets/<widget_id> → Update a widget (enable/disable, config)DELETE /api/widgets/<widget_id> → Delete a widgetPOST /api/widgets/reorder → Reorder widgetsGET /api/geocode → Look up a location for the weather widget (via Open-Meteo)GET /api/backup → Download the SQLite database filePOST /api/restore → Restore the database from an uploaded fileContent type
Image
Digest
sha256:629262d45…
Size
27.5 MB
Last updated
about 1 month ago
docker pull lucas410/myinfra