A lightweight self-hosted dashboard for accessing your personal services, homelab applications and external tools.
Built with SvelteKit, TailwindCSS and Docker.
EntryPoint is designed to work as a personal launcher for:
Examples:
git clone https://github.com/Markkano/EntryPoint.git
cd EntryPoint
docker compose up --build -d
The dashboard will be available at:
http://localhost
Services are configured using:
config/services.json
On first startup, EntryPoint automatically creates the file from:
config/services.example.json
{
"services": [
{
"name": "Grafana",
"url": "http://grafana.local",
"icon": "grafana.png",
"status": {
"enabled": true
}
}
],
"categories": [
{
"name": "Databases",
"services": [
{
"name": "phpMyAdmin",
"url": "http://phpmyadmin.local",
"status": {
"enabled": true
}
}
]
}
]
}
{
"name": "Grafana",
"url": "http://grafana.local"
}
{
"name": "Grafana",
"url": "http://grafana.local",
"description": "Monitoring dashboard",
"icon": "grafana.png",
"same_tab": true,
"status": {
"enabled": true
}
}
Icons can be:
Place uploaded/custom icons in:
data/icons
And reference them as:
{
"icon": "/icons/grafana.png"
}
The following folders are persisted:
volumes:
- ./data:/app/data
This allows:
Run locally:
npm install
npm run dev -- --host
Default development URL:
http://localhost:5173
EntryPoint is intentionally simple.
The goal is to provide:
EntryPoint is primarily a personal learning project.
I'm building it to:
The project intentionally keeps things simple and lightweight while evolving incrementally over time.