Self-host lua.sh
1.0.5Open-source URL shortener with analytics on your domain
- Stars
- 342
- Requires
- PostgreSQL, Redis
What is lua.sh?
lua.sh is a next-generation URL shortener designed for individuals and teams who want branded, trackable short links on their own domains. It shortens URLs with custom slugs, generates QR codes, supports link expiration and password protection, and organizes links into tagged workspaces. The analytics dashboard shows every click with geographic, device, browser, and referrer data retained indefinitely. The stack is Laravel (PHP) on the backend with PostgreSQL and Redis, and Vue 3 with Inertia.js and TailwindCSS on the frontend. It ships with a REST API that mirrors all UI actions and an MCP server at /mcp for AI assistants, both authenticated via Laravel Passport OAuth. Optional integrations include Google and GitHub social sign-in and PostHog product analytics. The project is licensed AGPL-3.0 and explicitly supports self-hosting with documented installation steps using Composer and npm. Dark mode is available in the UI.
Should you self-host lua.sh?
lua.sh scores 50/100 on selfhost.directory (how scoring works) and ranks #10 of 23 in URL Shortener. It has 342 GitHub stars.
There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.
Setup is advanced: plan for several services and some ongoing maintenance. It is AGPL-3.0-licensed and written mostly in PHP.
Its closest alternative on selfhost.directory is dub-links (74/100, 24 961 stars). It scores higher overall, so compare the two before you pick. See lua.sh vs dub-links side by side.
Features
- Click Analytics
- Custom domains
- Custom URL Slugs
- iOS/Android Destination Routing
- Link expiration
- MCP Server
- Password Protection
- QR codes
- REST API
- Social sign-in
- Team Workspaces
- URL Shortening
lua.sh README
More in Link Management
PinkaryPinkary is an open-source, self-hosted link landing page and social network for profiles, links, posts, and follows — built with Laravel.
rushomonRushomon is a self-hosted, open-source URL shortener on Cloudflare Workers with fast edge redirects, per-link analytics, OAuth auth, and multi-organization support.
skarfSkarf is a self-hosted, open-source Linktree alternative built with Flask for customizable profile pages with links, Ko-Fi, and static site generation.
SlashOpen-source self-hosted link manager with s/ shortcuts, team sharing, analytics, and browser extensions.
SmartyURLSelf-hosted, open-source URL shortener with analytics and smart redirects by visitor location or device. PHP 8.1+, MySQL, Composer install.
spooSelf-hosted URL shortener with click analytics, custom domains, geo-targeting, A/B testing, and REST API with SDKs in six languages.
YOURLSAn open-source, self-hosted PHP URL shortener for your own domain, with click stats, referrer and visitor geo tracking, an API, and a plugin architecture.
bitbit is a self-hosted, open-source URL shortener in Crystal with minimal click tracking and API key auth. Runs as a single container under 20 MB using SQLite.
DigibunchSelf-hosted, open-source link-hub written in PHP for curating collections of web links with categories, grid/list views, embed codes, QR sharing and backups.
dub-linksSelf-hosted open-source link suite for short links, conversion attribution and affiliate programs, deployed via Next.js using Tinybird, Upstash, MySQL, Vercel.
fli.soA self-hosted link shortener using SvelteKit and PocketBase that offers branded URLs, QR codes, click tracking, and tag-based organization with password protection.
go-urlshurlsh is a self-hosted, open-source URL shortener in Go with web UI, REST API, hit counters, and optional Redis caching using PostgreSQL.



0 comments