# Web App Launcher A self-hosted dashboard for organizing, monitoring, and launching web applications. Built with SvelteKit, Prisma (SQLite), and Tailwind CSS. ## Features - **App registry** — add apps with icons, tags, and categories; automatic healthcheck monitoring with sparkline history - **Boards & widgets** — customizable dashboards with drag-and-drop, resizable widget columns, and inline WYSIWYG editing - **Service integrations** — connect to media services, Planka, and more to display live data in widgets - **Authentication** — local accounts + OAuth/Authentik; per-board access control - **Localization** — English and Russian - **PWA** — installable, multi-tab sync, auto-discovery bookmarklet - **SQLite backup/restore** — full database backup from the admin panel ## Quick Start ```bash # Clone and run with Docker Compose git clone https://git.dolgolyov-family.by/alexei.dolgolyov/web-app-launcher.git cd web-app-launcher docker compose up -d ``` The app is available at `http://localhost:3000`. On first launch, create an admin account at the setup page. ## Configuration Environment variables (set in `docker-compose.yml` or `.env`): | Variable | Default | Description | |----------|---------|-------------| | `APP_PORT` | `3000` | Port to expose | | `JWT_SECRET` | — | Secret for JWT signing (change in production!) | | `GUEST_MODE` | `true` | Allow unauthenticated access | | `HEALTHCHECK_CRON` | `*/5 * * * *` | App healthcheck interval | | `HEALTHCHECK_TIMEOUT_MS` | `5000` | Healthcheck request timeout | | `OAUTH_CLIENT_ID` | — | OAuth provider client ID | | `OAUTH_CLIENT_SECRET` | — | OAuth provider client secret | | `OAUTH_DISCOVERY_URL` | — | OpenID Connect discovery URL | ## Development ```bash npm install npx prisma generate npm run dev ``` ## License MIT