Get started — free & self-hosted

The free plan is the whole product, running on your hardware, forever — unlimited people, no subscription, no telemetry. You get two things: a fully-loaded server binary (every feature unlocked) and the latest IPTinCan app for your family to connect with. A free license key (grab one below in seconds) ties it to your email so it can validate and get support. This guide takes you from zero to your first call.

Prefer we run it for you? Managed hosting sets all of this up automatically — no server to maintain, automatic backups, and direct support. See the hosted plans →

What you'll need

  • A machine to run the server on — a spare PC, a mini-PC, a home server, or a cheap cloud VM. Linux x64 (Ubuntu/Debian is easiest). It can be the same computer you chat from.
  • The IPTinCan app on each device your people will use (Windows or Linux today; macOS and mobile are on the way).
  • About 10 minutes.
1

Get your free license

Your free key registers your server so it can validate, get support, and stay part of the network — it's free forever, no card, unlimited people. Enter an email and a name for your server:

Prefer the command line? curl -X POST https://license.iptincan.com/api/register -H "Content-Type: application/json" -d '{"email":"you@example.com","server_name":"The Smiths","tier":"free"}'

2

Start your server

Download the fully-loaded server. Two ways — pick one:

Debian / Ubuntu — recommended; it runs on boot and restarts itself:

sudo apt install ./iptincan-server_0.1.0-1_amd64.deb

Now paste your license key from Step 1 into the config, then start it:

sudo nano /opt/iptincan/server.toml     # set  key = "ITC-…"  under [license]
sudo systemctl restart iptincan-server
sudo systemctl status iptincan-server

Your server is now listening and registered. It created a default admin account — username chatter, password chatter. Change that password after your first login.

Portable binary — for any Linux box, no install:

tar xzf itc-server-linux-x64.tar.gz
cd iptincan-server
nano server.toml            # set  key = "ITC-…"  under [license]
./itc-server

The shipped server.toml already points at the license service — you just paste your key. It writes its database next to the binary.

Ports: open 3784 (TCP) so people can connect. To reach your server from outside your home network, forward that port on your router to the server machine. Full networking notes are in the docs.

3

Install the app

On each device, grab the latest build:

macOS, iOS, and Android apps are in development.

4

Connect to your server

Open the app. On the connect screen, type your server's address and port:

192.168.1.50:3784        (a machine on your home network)
myserver.example.com:3784  (if you set up a domain)

Sign in with chatter / chatter (or the account you created). You're in — this first account is the admin.

5

Invite your people

In the app, open Admin → Invites and mint an invite. You'll get an ipt:// link or a short ITC- code. Send it to your family however you like — text, email, a note on the fridge. They install the app, paste the invite, pick a display name, and they're in. No public signup, no accounts to hunt down: your server is invite-only, and you decide who's in.

Turning on voice & video calls

Text chat works the moment your server is up. Voice and video run through a companion LiveKit service — setup is covered in Voice & Video Calls in the docs. The quickest way to get everything — server + LiveKit + TLS — in one shot is the Docker Compose stack. If you only need text and presence to start, you can add calls later.

Troubleshooting

  • "Could not reach host:port" — the app can't see the server. Check the address, that the server is running (systemctl status iptincan-server), and that port 3784 is open on the server's firewall.
  • Friends can't connect from outside your house — you need to forward port 3784 (and the call ports, if using LiveKit) on your router to the server machine. Some ISPs use carrier-grade NAT, which needs a relay — see the networking docs.
  • Calls don't connect — LiveKit isn't set up, its ports are blocked, or it's advertising an unreachable IP. See Voice & Video Calls.
  • Stuck? Ask the support assistant or email support@iptincan.com. Self-hosting is community-supported, but we're happy to help you get going.

Want the full reference? Config options, TLS setup, Docker, clustering, and the admin panel are all in the documentation.