Previous Page

nihilist - 00 / 00 / 00

Kutt URL Shortener

Before we start, you will need a Debian 10+ VPS (you can get one on digitalocean for example), if you prefer to use your own self hosted server, make sure that port 80 and 443 are correctly port forwarded so that the public ip points to the server and not the router. Once that's done, go and ssh into your debian 10 server.

You can use DuckDNS to get a free domain name:

[ ] [ /dev/pts/13 ] [~/Nextcloud/blog/Conf]
→ ssh
The authenticity of host ' (' can't be established.
ECDSA key fingerprint is SHA256:z2HAncB99pfbAUfj9tJY7vlo8EGUzCIUxWBAnjAflcA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added ',' (ECDSA) to the list of known hosts.
Linux debian-s-1vcpu-1gb-lon1-01 4.19.0-10-cloud-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.


apt update -y && apt upgrade -y
apt install docker-compose git -y
git clone
cd kutt

cp .example.env .env
nano .env

Hit ctrl+S to save and ctrl+X to exit nano

docker-compose up -d

Now we need to handle the nginx proxy:

First get the CNAME dns record on your domain name (for example points to if it were an external server it would be an A record ( pointing to an external ip address)

cd /etc/nginx/sites-available/
ln -s /etc/nginx/sites-available/kutt.conf /etc/nginx/sites-enabled/kutt.conf
nano /etc/nginx/sites-available/kutt.conf

#change the domain name to match yours
#ctrl +s to save ctrl +x to exit nano

systemctl stop nginx --issue --standalone -d -k 4096
systemctl start nginx

nginx -t

Then just visit your website:

then just create shortened links:


Until there is Nothing left.

About nihilist

Donate XMR: 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8

Contact: (PGP)