Access
- Open URL:
https://<SERVER_IP> - HTTPS uses a self-signed certificate.
- Browser warning is expected on first access.
- Accept the browser certificate warning.
- You will be redirected to
/create-adminon first access. - Create an administrator account from the web interface.
- Log in using the administrator account.
Important Files and Directories
- Install Path:
/root/kutt - Compose File:
/root/kutt/docker-compose.yml - Environment File:
/root/kutt/.env - Nginx Config:
/etc/nginx/sites-available/kutt - SSL Certificate:
/etc/nginx/ssl/kutt.crt - SSL Private Key:
/etc/nginx/ssl/kutt.key - PostgreSQL Data Volume:
/var/lib/docker/volumes/kutt_db_data_pg/_data - Redis Data Volume:
/var/lib/docker/volumes/kutt_redis_data/_data - Custom Data Volume:
/var/lib/docker/volumes/kutt_custom/_data
Docker Management
Check status:
docker compose -f /root/kutt/docker-compose.yml ps
View logs:
docker compose -f /root/kutt/docker-compose.yml logs -f
Restart service:
docker compose -f /root/kutt/docker-compose.yml restart
Stop service:
docker compose -f /root/kutt/docker-compose.yml down
Start service:
docker compose -f /root/kutt/docker-compose.yml up -d
NGINX Management
Test configuration:
nginx -t
Restart NGINX:
systemctl restart nginx
Reload NGINX:
systemctl reload nginx
Check status:
systemctl status nginx
Enabling SSL with a Domain
1. Point your domain to the server IP.
2. Edit Nginx config and replace both server_name _; with your domain (server_name <yourdomain.com>) for both HTTP (port 80) and HTTPS (port 443) blocks:
vim /etc/nginx/sites-available/kutt
3. Install Certbot:
apt install -y certbot python3-certbot-nginx
4. Run the following command to generate a valid Let's Encrypt certificate:
certbot certonly --nginx --non-interactive --agree-tos --email youremail@example.com -d yourdomain.com
5. Replace SSL paths in Nginx config:
vim /etc/nginx/sites-available/kutt
# Before:
# ssl_certificate /etc/nginx/ssl/kutt.crt;
# ssl_certificate_key /etc/nginx/ssl/kutt.key;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. Reload Nginx to apply the changes:
systemctl reload nginx
7. Edit the /root/kutt/.env file to set your domain name: DEFAULT_DOMAIN=yourdomain.com
8. Recreate the services:
cd /root/kutt
docker compose up -d
9. Open your browser and visit: https://yourdomain.com