Kutt
URL Shorteners
About this project
Kutt is a modern URL shortener with support for custom domains. Create and edit links, view statistics, manage users, and more.
Table of contents
- Key features
- Donations and sponsors
- Setup
- Docker
- API
- Configuration
- Themes and customizations
- Browser extensions
- Videos
- Integrations
- Contributing
Key features
- Created with self-host in mind:
- Zero configuration needed
- Easy setup with no build step
- Supporting various databases (SQLite, Postgres, MySQL)
- Ability to disable registration and anonymous links
- Custom domain support
- Set custom URLs, password, description, and expiration time for links
- View, edit, delete and manage your links
- Private statistics for shortened URLs
- Admin page to manage users and links
- Customizability and themes
- RESTful API
Donations and sponsors
Support the development of Kutt by making a donation or becoming an sponsor.
Setup
The only prerequisite is Node.js (version 20 or above). The default database is SQLite. You can optionally install Postgres or MySQL/MariaDB for the database or Redis for the cache.
When you first start the app, you're prompted to create an admin account.
- Clone this repository or download the latest zip
- Install dependencies:
npm install
- Initialize database:
npm run migrate
- Start the app for development
npm run dev
or productionnpm start
Docker
Make sure Docker is installed, then you can start the app from the root directory:
docker compose up
Various docker-compose configurations are available. Use docker compose -f <file_name> up
to start the one you want:
docker-compose.yml
: Default Kutt setup. Uses SQLite for the database.- [`docker-compose.sqlite-redis.ym
Technologies & License
MIT
Node.js
Docker
Quick Deploy
Deploy this project to cloud platforms with one click