Self-host Linkiny

For developers and sysadmins. If you'd rather click through a wizard and let someone else handle the setup, go to start.linkiny.com.

What you need

Quick install (60 seconds)

1. Point DNS to your VPS

Add an A-record for your apex domain AND a wildcard for subdomains (each user gets username.example.com):

example.com.        A   1.2.3.4
*.example.com.      A   1.2.3.4

Wait 1-5 minutes for propagation.

2. Download the binary

Pick the build that matches your VPS architecture (most VPSes are linux-amd64):

# amd64 (Intel/AMD)
curl -fsSL https://get.linkiny.com/dist/linkiny-linux-amd64 -o /usr/local/bin/linkiny

# arm64 (Ampere, Apple silicon, Hetzner CAX, AWS Graviton)
curl -fsSL https://get.linkiny.com/dist/linkiny-linux-arm64 -o /usr/local/bin/linkiny

chmod +x /usr/local/bin/linkiny

3. Get a TLS cert (Let's Encrypt)

You need a wildcard cert because each user is a subdomain. Use the DNS-01 challenge:

apt install -y certbot
certbot certonly --manual --preferred-challenges dns \
  -d example.com -d '*.example.com' \
  --agree-tos -m you@example.com

Follow the prompt — certbot tells you what TXT record to add. Once issued, certs land in /etc/letsencrypt/live/example.com/.

4. Start Linkiny

Create a systemd unit at /etc/systemd/system/linkiny.service:

[Unit]
Description=Linkiny node
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/linkiny -domain example.com -port 443
Restart=always
RestartSec=5
User=root

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now linkiny
journalctl -u linkiny -f

Open https://example.com in your browser → set up the first admin → done.

Standalone vs licensed: A self-hosted node without a license caps at the default user limit and shows a "self-hosted" badge. To remove the cap and federate with the wider Linkiny network, attach a license — either get one from a partner (cheaper at scale) or apply for a free open-source quota at hi@linkiny.com.

Common ops

Add a user (subdomain)

curl -X POST https://example.com/admin/api/users \
  -H 'Authorization: Bearer YOUR_ADMIN_TOKEN' \
  -d '{"username":"alice","password":"..."}'

Upgrade

curl -fsSL https://get.linkiny.com/dist/linkiny-linux-amd64 -o /usr/local/bin/linkiny.new
mv /usr/local/bin/linkiny.new /usr/local/bin/linkiny
systemctl restart linkiny

Backup

All state lives under /var/lib/linkiny/ (or wherever you set -data). tar czf backup.tgz /var/lib/linkiny is enough.


Source

Linkiny is open-source. Inspect, fork, audit:

Don't want to do this yourself?

Get a server in 60 seconds, no terminal needed.

Open start.linkiny.com