No experience needed. One cheap VPS, a domain name, and these instructions. We'll walk through every command together — copy, paste, done.
SSH into your VPS, paste this, answer four questions. The script installs nginx, coturn, and Iskra, wires it all together, and gets your SSL certificate. Takes about 5 minutes.
Four things. That's it. You don't need to know how servers work — the guide handles all of that.
To pay for the VPS. You'll spend $4–10 per month depending on provider. Cancel any time.
Something like myfriends.com. Around $10–15/year from Namecheap or Cloudflare.
Technically optional, but you won't get SSL without one — strongly recommended.
Most people finish faster. Take your time, read each step, and don't skip anything.
Windows: Windows Terminal (free, Microsoft Store) or PuTTY.
Mac/Linux: Terminal is already installed.
Follow these in order. Each step tells you what to run, what to expect, and what to do if something goes wrong.
A VPS is a tiny computer in a data center that runs 24/7 so your friends can connect even when your PC is off.
Sign up with one of the providers below. You want a plan with at least 1 GB RAM (2 GB is better), and choose Ubuntu 22.04 LTS as the operating system when asked. Pick a data center location closest to most of your friends.
Very beginner friendly. Basic Droplet (1 GB RAM) works fine.
digitalocean.com →5.75.134.210. Write it down, you'll need it in every step.Copy this prompt and paste it into ChatGPT, Gemini, or Claude (all free). Add your question at the end.
So your friends connect to chat.yourdomain.com instead of a raw IP, and so SSL certificates work.
Go to wherever you bought your domain (Namecheap, Cloudflare, Google Domains, etc.) and add a DNS A record:
This creates an address like chat.yourdomain.com that points to your VPS. DNS changes take anywhere from 1 minute to a few hours to "spread" across the internet — Cloudflare is usually instant, others can be slower.
ping chat.yourdomain.com in your terminal. When it shows your VPS IP, you're ready to continue.Copy this prompt into ChatGPT, Gemini, or Claude and describe your specific domain registrar.
SSH is how you type commands on the remote server. Think of it as a text-only remote desktop.
Open your terminal (Windows Terminal on Windows, Terminal on Mac/Linux) and run this command, replacing the IP with your VPS's IP:
The first time you connect, SSH will ask you to confirm the server's identity. Type yes and press Enter. Then enter the root password your VPS provider gave you (you won't see it being typed — that's normal).
A prompt like root@ubuntu-server:~# — this means you're now in control of your VPS. Every command from this point runs on the remote server, not your own PC.
Copy this into ChatGPT, Gemini, or Claude.
Fresh VPS installs often have outdated software. This makes sure everything is up to date before we install anything.
Run these two commands. The first downloads the list of available updates. The second installs them. This may take a minute or two.
A lot of scrolling text as packages are downloaded and updated. It ends with something like X upgraded, X newly installed, 0 to remove.... That's normal and good.
We need nginx (web server for SSL), certbot (gets your SSL certificate), dotnet (runs Iskra), and coturn (relays voice for users behind firewalls).
First, add Microsoft's package source so we can install .NET. Then install everything in one go. Copy and paste all of this exactly:
Each package downloads and installs. At the end you'll be back at the prompt with no errors. The whole thing takes 1–3 minutes.
Copy this into ChatGPT, Gemini, or Claude and paste the error you got.
By default your VPS blocks almost everything. We need to open specific doors for web traffic, Iskra, and voice relay.
Run each line. Each one opens a specific "door" in the firewall. The last command turns the firewall on.
When asked "Command may disrupt existing ssh connections. Proceed with operation?" — type y and press Enter.
Firewall is active and enabled on system startup
49152:65535 is used by coturn to relay actual voice/video data between your friends. It needs a lot of ports because each call gets its own temporary port pair.This puts the actual Iskra server software on your VPS.
Create a folder for Iskra, download the latest server release from GitHub, and extract it. Go to github.com/quikmn/iskra/releases/latest, find the Iskra-Server.zip file, right-click it and copy the download link. Then use that link in the command below:
A list of files including something like iskra_server.dll, iskra_server, and some other files. The exact names depend on the release.
Now test that it can run. If you see a file ending in .dll:
Something like Iskra server listening on port 8080. Press Ctrl+C to stop it — we'll set it up as a proper background service in a later step.
Copy this into ChatGPT, Gemini, or Claude.
This is where you give your server its name, set the port, and configure your TURN relay details.
Copy this command exactly. Replace the values in ALL_CAPS with your own. YOUR_DOMAIN is the domain you set up in Step 2. YOUR_TURN_PASSWORD should be a long random password (make something up, like hunter2waffles99).
Verify the file looks right:
coturn is what lets people on restrictive networks (mobile data, corporate WiFi, CGNAT) still use voice. Without it, some friends simply won't be able to connect voice.
Replace YOUR_DOMAIN and YOUR_TURN_PASSWORD with the same values you used in Step 8. The password must match exactly.
Now tell the system to run coturn automatically and start it:
Active: active (running) in green. That means coturn is running and will restart automatically if the server ever reboots.
Copy this into ChatGPT, Gemini, or Claude.
journalctl -u coturn -n 50 to get the logs and paste them.
nginx sits in front of Iskra and handles the SSL encryption, so your friends' connections are always secure. It also lets Iskra work on the standard HTTPS port (443) instead of 8080.
Replace YOUR_DOMAIN with your actual domain (e.g. chat.myfriends.com).
nginx: configuration file /etc/nginx/nginx.conf test is successful
proxy_read_timeout 86400 keeps WebSocket connections alive for up to 24 hours. Without this, long voice sessions might get cut off.Copy this into ChatGPT, Gemini, or Claude.
SSL makes all connections encrypted. Without it, your friends' messages and voice traffic could theoretically be intercepted. certbot gets a free certificate from Let's Encrypt automatically.
Replace YOUR_DOMAIN and YOUR_EMAIL. The email is just for certificate expiry reminders — certificates are free and auto-renew.
Successfully deployed certificate for YOUR_DOMAIN and Congratulations! You have successfully enabled HTTPS. certbot automatically updates your nginx config with the SSL settings.
Copy this into ChatGPT, Gemini, or Claude.
Right now Iskra only runs when you manually start it. A systemd service makes it start automatically on boot and restart itself if it ever crashes.
Create the service file, enable it, and start it:
Active: active (running) in green. Iskra is now running in the background and will survive reboots.
systemctl restart iskra to restart, systemctl stop iskra to stop, journalctl -u iskra -f to watch live logs.Copy this into ChatGPT, Gemini, or Claude.
journalctl -u iskra -n 30 and paste the output.
Let's Encrypt certificates expire after 90 days. certbot can renew them automatically so you never have to think about it.
Run these two commands — they test that renewal works, then set up a timer to do it automatically:
Congratulations, all simulated renewals succeeded. The timer will now automatically renew your certificate before it expires.
The server is running. Time to actually use it.
Download the Iskra client for Windows from the link in the nav bar above. Open it, go to Settings → Servers → Add Server, and enter:
Click Connect. You should see your server's channel list. To invite friends, right-click the server icon and choose Copy Invite Link — send them that link and they can join with one click.
/adduser friendname password123 in chat to create accounts for your friends, or set the server to open registration in admin settings.app.iskra.foo — no install needed. The same invite link works there too.Copy this into ChatGPT, Gemini, or Claude — this prompt gives full context about the whole setup.