MIT licensed · self-host with Docker Compose

Run it yourself.
Own every part of it.

SnapURL is open source. Clone the repo, bring the stack up, and you have branded links, dynamic QR codes and cookieless analytics running entirely on your own infrastructure — with no one else in the loop.

∞

Links that outlive a subscription

A short link on a poster should still resolve years from now. Self-hosting means it does not depend on our servers, our billing, or us still being around.

⤓

Export everything, always

Your links, analytics and settings are yours to take out at any time. Export is built in, not a retention lever.

⚿

No vendor lock-in

MIT licensed, standard Postgres, no closed core. If you outgrow the cloud or just prefer to run your own, the door is already open.

◔

Built to run cheaply

It leans on a queue's free tier instead of a paid cache, and reads geography from the CDN edge instead of licensing a database — so your bill stays small.

Quick start

There is no single command: you need a Linux host with Docker, two DNS records pointing at it, and a few minutes. These are the real steps from the self-hosting guide — one host, one Postgres, Caddy for TLS.

# 1. Get it
git clone https://github.com/DhananjayThomble/URL-Shortener-App.git
cd URL-Shortener-App/deploy/single-node

# 2. Configure: generates the secrets, then you set APP_DOMAIN and SHORT_DOMAIN in .env
./init.sh

# 3. Pull, start, and apply the database schema
docker compose pull
docker compose up -d
docker compose --profile migrate up migrate
Read the full self-hosting guide for prerequisites (ports 80 and 443, the two DNS records), TLS verification, backups and upgrades.
Cloud or self-host

Cloud

Managed by us

The convenient option. We run it, keep it current, and it is free today — the only thing counted is clicks.

  • ✓Managed and updated for you
  • ✓Currently free — only clicks are counted
  • ✓Nothing to provision or patch
  • ✓Start in seconds with an email and password
Start free

Self-host

You run it

Full control on your own hardware. There is no hosted plan to buy and no support contract to sign — the code and the docs are the product.

  • ✓Runs on your own infrastructure
  • ✓No SnapURL bill and no SnapURL in the loop
  • ✓Your database, your backups, your control
  • ✓A Docker Compose stack: Postgres, the app and automatic TLS
Read the repo

Same code either way. The cloud is us running the open-source project for you; self-hosting is you running the exact same thing.

Privacy is not a plan tier

Whether you use the cloud or run it yourself, the redirect sets no tracking cookies, stores no IP for geography, and leaves nothing on the visitor's device. Those are mechanisms in the code, not promises in a contract — which is exactly why you can read them and check.

No tracking cookiesNo IP storedRead the source