For developers and sysadmins. If you'd rather click through a wizard and let someone else handle the setup, go to start.linkiny.com.
example.com) with DNS accessAdd 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.
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
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/.
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.
curl -X POST https://example.com/admin/api/users \
-H 'Authorization: Bearer YOUR_ADMIN_TOKEN' \
-d '{"username":"alice","password":"..."}'
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
All state lives under /var/lib/linkiny/ (or wherever you set -data). tar czf backup.tgz /var/lib/linkiny is enough.
Linkiny is open-source. Inspect, fork, audit:
Get a server in 60 seconds, no terminal needed.
Open start.linkiny.com