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 the public page in action (read-only).
π Demo Dashboard β log in with demo / demo1234 to explore the admin panel.
- π Link Management β Add, reorder, and customize unlimited links with drag-and-drop
- π Multi-Page Support β Create unlimited pages, each with its own slug, theme, links, analytics, SEO, and QR code
- π¨ Auto-Favicon Links β Links automatically show the target site's favicon β no manual icon uploads needed
- π₯ Migration Wizard β Import existing links and social profiles from Linktree, Bento, Hopp.bio, LittleLink, or any HTML/JSON export
- πΌοΈ Link Thumbnails β Add images to your links for visual preview cards
- π΅ Embed Widgets β Embed YouTube, Spotify, SoundCloud, Vimeo, or Bandcamp directly on your page
- β° Link Scheduling β Schedule links to appear/disappear automatically with date/time controls
- π Privacy-First Analytics β Page views, click tracking, referrers β no cookies, no tracking
- π External Analytics β Inject Plausible, Umami, Matomo, or Google Analytics with one paste
- π Update Notifications β Dashboard banner notifies you when a new version is available (no phone-home, no auto-update)
- π¨ Themes β 9 built-in presets (Aurora, Glassmorphism, Neon Cyberpunk, Editorial Paper, Terminal Mono, Pastel Soft, Brutalist, Retro Sunset, Minimal Light) + full customizer with CSS token system (colors, 10 fonts, 8 background types, 6 card styles, layout controls, effects) + theme duplicate/import/export
- βοΈ Custom CSS β Fine-tune your page with raw CSS injection
- π§ Email Capture β Collect subscriber emails on your public page, export to CSV
- π± Mobile-First β Gorgeous on every screen. Loads in under 300ms. Zero client-side JS bundles.
- π― QR Codes β Auto-generated for your page. Download as SVG or PNG.
- π Self-Hosted β Your data, your server. No tracking. No ads. No subscription.
- π³ One-Command Deploy β Docker compose and you're live
One command β zero config β live in 30 seconds:
curl -fsSL https://raw.githubusercontent.com/Manak-hash/LinkBreeze/main/scripts/install.sh | bashThe script detects Docker or Podman, pulls the image, starts the container, and optionally sets up a systemd service for auto-start on boot. Want auto-start on boot? Run it with sudo bash instead and answer y when prompted.
Don't like piping to bash?
curl -fsSL https://raw.githubusercontent.com/Manak-hash/LinkBreeze/main/scripts/install.sh -o install.sh
less install.sh
bash install.shThen open http://localhost:3000 β the setup wizard takes under 30 seconds.
Prefer a different method? Expand one below:
π³ Β Docker
No Node.js, no npm, no config files needed.
Linux / macOS / Windows CMD:
docker run -d --name linkbreeze --restart unless-stopped -p 3000:3000 -v linkbreeze-data:/app/data ghcr.io/manak-hash/linkbreeze:latestWindows PowerShell β 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:latestDatabase migrations run automatically on container startup β no manual
drizzle-kit migrateneeded for Docker deployments.
π§© Β Docker Compose
Best if you want to customize ports, add a reverse proxy, or manage updates easily.
Option A β Pull the pre-built image:
Create a docker-compose.yml:
services:
linkbreeze:
image: ghcr.io/manak-hash/linkbreeze:latest
ports:
- "3000:3000"
volumes:
- linkbreeze-data:/app/data
restart: unless-stopped
volumes:
linkbreeze-data:docker compose up -dOption B β Build from source:
git clone https://github.com/Manak-hash/LinkBreeze.git
cd LinkBreeze
docker compose up -d --buildUpgrade anytime: docker compose pull && docker compose up -d
Logs: docker compose logs -f linkbreeze
βοΈ Β Coolify
Running Coolify on your VPS?
- + New Resource β Docker Compose Empty
- Paste:
services:
linkbreeze:
image: ghcr.io/manak-hash/linkbreeze:latest
ports:
- "3000:3000"
volumes:
- linkbreeze-data:/app/data
restart: unless-stopped
volumes:
linkbreeze-data:- Set a domain (e.g.,
links.yourdomain.com) for automatic SSL - Click Deploy β Coolify handles Let's Encrypt automatically
π¦ Β Synology NAS
Running Synology DiskStation with Container Manager (DSM 7.2+)?
- Open Container Manager β Container β Create
- Image:
ghcr.io/manak-hash/linkbreeze:latest(pull it first via Image β Add if not found) - Container settings:
- Name:
linkbreeze - Port: Local
3000β Container3000 - Volume: Create
/docker/linkbreeze/dataand map to/app/data - Restart policy:
Unless stopped
- Name:
- Click Done β live at
http://<nas-ip>:3000
Update later: pull the latest image, stop and recreate the container. Data persists in the volume.
π§ Β Podman
Using Podman instead of Docker (RHEL, Fedora, CentOS)? Replace docker with podman:
podman run -d --name linkbreeze --restart unless-stopped -p 3000:3000 -v linkbreeze-data:/app/data ghcr.io/manak-hash/linkbreeze:latestIf you get permission errors on the volume, create it first: podman volume create linkbreeze-data
For systemd integration with rootless Podman: podman generate systemd after starting the container.
The one-line install script at the top of this section detects Podman automatically.
π₯οΈ Β Portainer
Using Portainer to manage containers? Deploy as a Stack.
- Go to your environment β Stacks β Add stack
- Name it
linkbreezeand paste:
services:
linkbreeze:
image: ghcr.io/manak-hash/linkbreeze:latest
ports:
- "3000:3000"
volumes:
- linkbreeze-data:/app/data
restart: unless-stopped
volumes:
linkbreeze-data:- Click Deploy the stack
Update: Stacks β
linkbreezeβ Editor β click Pull and redeploy.
π¨ Β Manual (without Docker)
Requires Node.js 18+.
git clone https://github.com/Manak-hash/LinkBreeze.git
cd LinkBreeze
npm install
cp .env.example .env
# Edit .env to set your SECRET_KEY and DATABASE_PATH if needed
npm run db:migrate
npm run devFor production:
npm run build && npm start
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 |
| Multi-Page | β (paid) | β | β | β | β |
| Auto-Favicon Links | β | β | β | β | β |
| Migration Wizard | β | β | β | β | β |
| Database | Theirs | MySQL | None | None | SQLite |
| Built-in Analytics | Paid | Basic | β | β | β Full |
| External Analytics | β | β | β | β | β |
| Email Capture | Paid | β | β | β | β |
| Embed Widgets | Paid | β | β | β | β |
| Link Thumbnails | β | β | β | β | β |
| QR Codes | β | β | β | β | β |
| Link Scheduling | Paid | β | β | β | β |
| Themes | Paid | Limited | CSS only | Config | β Full Token System + Import/Export |
| Custom CSS | β | β | β | β | β |
| 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.
9 presets are included out of the box: Aurora (animated flagship), Glassmorphism, Neon Cyberpunk, Editorial Paper, Terminal Mono, Pastel Soft, Brutalist, Retro Sunset, and Minimal Light.
The theme engine uses a CSS custom property (--lb-*) token system β every color, radius, shadow, and font is a token consumed by the public page components. The customizer gives you full control over:
- Background β 8 types (solid, gradient, radial, mesh, aurora, animated gradient, image, pattern) with angle, overlay, and opacity controls
- Colors β accent, secondary, text, muted text, card background, card border (hex or rgba)
- Typography β 10 curated Google Fonts (Inter, Poppins, Playfair Display, JetBrains Mono, Space Grotesk, DM Sans, Lora, Bebas Neue, Sora, Outfit), font scale, weight, letter spacing
- Card style β 6 link styles (pill, rounded, sharp, glass, outline, neon), hover effects, button size, corner radius, border width, shadow strength
- Layout β container width, alignment (left/center/right), density (compact/normal/relaxed)
- Effects β glow with custom color, glass blur, noise texture, reveal animation
- Duplicate β clone any theme (preset or custom) as a new editable copy
All changes apply with zero client-side JS bundles β the public page ships no React runtime and renders as pure server-side HTML. (mailto/tel/social links use a tiny inline onclick beacon for best-effort click tracking; http/https links use the JS-free /go/:id redirect.)
- Share your LinkBreeze theme β Export your custom theme JSON and show off your page. The best ones get featured in future releases.
- Who's using LinkBreeze? Drop your link β Tell us what you built, what your page is for, and what's missing. Be brutal.
Contributions are welcome! See CONTRIBUTING.md for guidelines.
MIT β do whatever you want. See LICENSE.
Built by Manak-hash Β· An OmniRise project.
.png)





