alexei.dolgolyov 3fa30f72a3
Lint & Test / lint-and-check (push) Failing after 5m1s
Lint & Test / test (push) Has been skipped
feat(auth): auto-login after onboarding, consolidate session cookies
- Extract session cookie issuance into sessionCookies.ts helper; remove
  duplicated COOKIE_BASE blocks from login, register, oauth callback/authorize,
  refresh handler, hooks.server.ts, and onboarding.
- Derive cookie secure flag from ORIGIN (https://...) instead of NODE_ENV so
  plain-HTTP production deploys don't silently drop cookies.
- Auto-login admin after onboarding completes; UI does a full reload so
  hooks.server.ts picks up the new session.
- Harden onboarding: reject duplicate admin creation, flip onboardingComplete
  atomically to prevent concurrent completions, error out if no admin found.
- Fix Dockerfile CMD operator precedence: node build now always runs after
  migrate deploy || db push.
- Wire ORIGIN env through docker-compose.
2026-04-16 03:28:46 +03:00
2026-04-10 19:39:27 +03:00
2026-04-10 19:39:27 +03:00
2026-04-10 19:39:27 +03:00

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

# 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

npm install
npx prisma generate
npm run dev

License

MIT

S
Description
No description provided
Readme 2.9 MiB
0.0.1 Latest
2026-04-10 21:23:00 +03:00
Languages
TypeScript 49.3%
Svelte 42%
HTML 7.1%
CSS 1.2%
JavaScript 0.2%
Other 0.2%