Stop paying $15/mo for Linktree. LinkBreeze gives you links, analytics, QR codes, themes, and a real admin panel β free, forever, in one Docker command.
π Live Demo β see it in action (read-only).
- π Link Management β Add, reorder, and customize unlimited links with drag-and-drop
- π Privacy-First Analytics β Page views, click tracking, referrers β no cookies, no tracking
- π¨ Themes β 5 built-in presets + full customizer (colors, fonts, backgrounds, animations)
- π± Mobile-First β Gorgeous on every screen. Loads in under 300ms. Zero client JavaScript.
- π― QR Codes β Auto-generated for your page. Download as SVG or PNG.
- β° Link Scheduling β Schedule links to appear/disappear automatically
- π Self-Hosted β Your data, your server. No tracking. No ads. No subscription.
- π³ One-Command Deploy β Docker compose and you're live
Zero config. One command. Your Linktree alternative is live in 30 seconds.
The fastest path to production. No Node.js, no npm, no config files needed.
Linux / macOS / Windows CMD β run as a single line:
docker run -d --name linkbreeze --restart unless-stopped -p 3000:3000 -v linkbreeze-data:/app/data ghcr.io/manak-hash/linkbreeze:latestWindows PowerShell β same command, use backticks for line breaks:
docker run -d `
--name linkbreeze `
--restart unless-stopped `
-p 3000:3000 `
-v linkbreeze-data:/app/data `
ghcr.io/manak-hash/linkbreeze:latestThen open http://localhost:3000 β the setup wizard takes under 30 seconds.
First time? Make sure Docker Desktop (Windows/Mac) or the Docker daemon (Linux) is running before you execute the command.
Best if you want to customize ports, add a reverse proxy, or manage updates easily.
Option A β Pull the pre-built image (fastest, no build step):
Create a docker-compose.yml with:
services:
linkbreeze:
image: ghcr.io/manak-hash/linkbreeze:latest
ports:
- "3000:3000"
volumes:
- linkbreeze-data:/app/data
restart: unless-stopped
volumes:
linkbreeze-data:Then:
docker compose up -dOption B β Build from source (for development or customization):
git clone https://github.com/Manak-hash/LinkBreeze.git
cd LinkBreeze
docker compose up -d --buildCheck logs anytime with:
docker compose logs -f linkbreezeUpgrade to the latest version:
docker compose pull && docker compose up -dgit clone https://github.com/Manak-hash/LinkBreeze.git
cd LinkBreeze
npm install
# Configure environment
cp .env.example .env
# Edit .env to set your SECRET_KEY and DATABASE_PATH if needed
# Run database migrations
npx drizzle-kit migrate
# Start development server
npm run devFor production, use npm run build && npm start instead of npm run dev.
LinkBreeze runs on your server. Once deployed, your page is accessible to anyone
at https://your-domain.com/your-slug. Here's how to get it online:
Point your domain's A record to your server IP, then use a reverse proxy with automatic HTTPS:
Caddy (recommended β auto HTTPS)
links.example.com {
reverse_proxy localhost:3000
}
nginx
server {
server_name links.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}No domain purchase or port forwarding needed:
cloudflared tunnel --url http://localhost:3000| Feature | Linktree | LinkStack | LittleLink | Shako | LinkBreeze |
|---|---|---|---|---|---|
| Price | $15/mo | Free | Free | Free | Free |
| Admin Panel | β | Slow | β | β | β Fast |
| Database | Theirs | MySQL | None | None | SQLite |
| Analytics | Paid | Basic | β | β | β Full |
| QR Codes | β | β | β | β | β |
| Link Scheduling | Paid | β | β | β | β |
| Themes | Paid | Limited | CSS only | Config | β Full |
| Self-Hosted | β | β | β | β | β |
| Language | Closed | PHP | HTML | Astro | TypeScript |
| Docker Deploy | N/A | Complex | Simple | Simple | One command |
| Page Load | ~2-3s | ~1-2s | Fast | Fast | <300ms |
| License | Closed | AGPL | MIT | GPL | MIT |
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, Server Components, ISR) |
| Database | SQLite via better-sqlite3 (WAL mode) |
| ORM | Drizzle ORM (type-safe, zero overhead) |
| Auth | Cookie-based HMAC sessions, bcrypt |
| UI | shadcn/ui + Tailwind CSS 4 |
| Drag & Drop | dnd-kit |
| Charts | Recharts |
| QR Codes | qrcode (server-side SVG/PNG) |
| Validation | Zod |
| Icons | Lucide + custom social SVGs |
- Contributing Guide
- Security Policy
- Changelog
- Troubleshooting
- Architecture Decisions
- Configuration Reference
All configuration is via environment variables (.env):
| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
Server port |
DATABASE_PATH |
./data/linkbreeze.db |
SQLite database file path |
SECRET_KEY |
Auto-generated | HMAC signing key for sessions |
Runtime settings (page slug, title, SEO, theme) are managed via the admin dashboard and stored in the database β no code changes needed.
5 themes are included out of the box (Midnight, Sunset, Ocean, Mono, Forest). Customize any of them from the admin panel β colors, fonts, backgrounds, animations. No code or config files needed.
Contributions are welcome! See CONTRIBUTING.md for guidelines.
MIT β do whatever you want. See LICENSE.
Built by Manak-hash Β· An OmniRise project.
.png)





