Missived
Self-host Missived

Run Missived on your own server.

The whole app, open source under AGPL-3.0. Your hardware, your data, every feature switched on, no prices inside. The free self-hosted edition is ready for early testers on Linux, Mac and Windows. Start on your own computer, then invite your group using a domain you control.

Ready for early testersSelf-hosted edition 1.1.0. Linux is recommended for real use; a Mac or Windows PC for trying it out and small groups (about 25).
Free self-hosted edition

Your server. Every feature on.

Run the whole app with no plan limits. You manage the hardware, domain and backups; certificates renew automatically.

You run it with the same Platform Console we use: capacity, plans and limits, notices and analytics, no tracking.

Want help with the domain, updates or a home tunnel? See what's coming next.

Ready for early testers

Do it yourself

$0

For people with their own domain who like to run things.

  • Your domain, your certificates (automatic)
  • Update when you choose with upgrade.sh: backup first, rolls back on failure
  • Every feature on, no plan limits
  • Community help
Step by step

Install it on your computer, start to finish

Never hosted anything before? Answer three questions, then follow the steps for your computer. Every step ends with how you know it worked.

Which path is for me?

1. Where will Missived run?

2. What kind of computer is it?

3. Do you already own a domain name, like gracechapel.org?

Pick an answer to each question and we'll point you to the right steps below.

The public repository opens with the first public release. Until then the git clone lines show a placeholder and the guide links say "coming soon". Want to try it early? Write to [email protected].

Ready for early testersRecommended for groups and anything people depend on
  • Ubuntu 24.04 (tested), or any Linux with systemd
  • 2 vCPU · 4 GB memory at least (sizes for more people)
  • Docker Engine with the Compose plugin, plus git curl openssl
  1. Email

    For real delivery, use your own Postmark or Resend account, or other SMTP. Set up email in 5 minutes. Missived (us) never sees your mail. Console is fine for this computer-only test.

  2. Get the code
    git clone <public repo> missived && cd missived

    a missived folder with scripts/ inside.

  3. Run the setup for this computer only
    scripts/selfhost/setup.sh --host localhost --mail console --email [email protected] --yes

    Use your own email: it becomes the first account. "Console" mail means codes go to the server's log instead of an inbox.

    it prints the next commands.

  4. Start it
    docker compose -f deploy/selfhost/docker-compose.yml up -d --build

    The first build takes a few minutes.

    every container says Started or Healthy.

  5. Check it
    scripts/selfhost/doctor.sh

    0 FAIL. On this computer-only trial, DNS, mail and outside-reachability lines are warnings, which is expected.

  6. Open it and register

    Go to https://localhost (the browser warns about the certificate: continue). Register with the email you gave setup, then find the code in the log:

    docker compose -f deploy/selfhost/docker-compose.yml logs server | grep 'Missived code'

    you're signed in and can start a voice call. Only this computer can join for now.

Full guides: SELF_HOSTING · SERVER_SETUP · REQUIREMENTS

Stuck? Run scripts/selfhost/doctor.sh: every FAIL says what to fix. Then see GETTING_HELP.

Set it up with your own AI agent

Your own Claude Code, Codex or similar local assistant can follow our runbook to install Missived, configure email and sign-in, check calls, and help with backups and upgrades. You choose the accounts, costs and changes.

Run it on the server or in a repository checkout on the machine you want to install on. Paste this starter prompt:

Read docs/self-hosting/AGENTS.md in this repo and follow it to install / configure Missived on this machine; stop at every 🛑 and ask me.
If this is the public repository, read the root AGENTS.md instead. For an existing install, use Configure after install and preserve its data and secrets. Review commands with me before running them. Never print secrets. Keep backups and test a restore before upgrades or destructive changes.

Read the agent runbook — coming with the public repo. The public export puts AGENTS.md at the repository root.

Review commands before approving them. Keep the agent's tool approval prompts on, enter credentials privately, and never let it print secrets. Keep the encryption key and tested backups off the server. Stop signs (🛑) mark decisions that belong to you.

Already installed? Connect your assistant to your own install from Settings → Developer → Connect an AI assistant to set up channels, roles and client portals through MCP. The bundled proxy serves it at https://<your host>/api/mcp. Choose its permissions and check changes in Activity; your assistant's provider can see the content you let it read.

What you need

Server sizes

Calls and video decide the size far more than chat does. These are our estimates; the media numbers haven't been load-tested on production hardware yet (how to measure your own).

PeopleLayoutMinimumRecommended
Up to 25one box2 vCPU · 4 GB RAM · 40 GB SSD4 vCPU · 8 GB · 80 GB
Up to 150one box4 vCPU · 8 GB · 80 GB8 vCPU · 16 GB · 200 GB
Up to 500two boxesapp 4 vCPU · 8 GB; media 8 vCPU · 8 GBapp 4 vCPU · 16 GB; media 8 dedicated vCPU · 16 GB

Which computer

ComputerGood forGuide
A Linux server (a VPS or your own box; Ubuntu 24.04 tested)Every size above, and anything that must stay upSELF_HOSTING, SERVER_SETUP
A Mac with Docker Desktop or OrbStackTrying it out; a small group (up to about 25)MAC
A Windows PC with WSL 2 and Docker DesktopTrying it out; a small group (up to about 25). Not yet tested on a real PC.WINDOWS

Why only small groups on a Mac or PC: Docker runs in a virtual machine there, so people on web-only networks can't join calls; and a desktop sleeps, restarts for updates and shares a home connection's upload.

InstallClone the release and run setup.sh. It asks 8 questions and writes one settings file.
Checkdoctor.sh tests ports, certificates, email and calls, and tells you in plain words what to fix.
Upgradeupgrade.sh backs up first and rolls back if anything fails.
Email

Set up email in 5 minutes

Choose Postmark, Resend or any SMTP provider. These are your own accounts with those services: your server sends directly to them. Missived (us) never sees your mail.

Allow about five minutes of setup; domain approval and DNS records can take longer. Keep open and click tracking off in your provider's dashboard.

Postmark

  1. Sign up at Postmark and create a transactional server.
  2. Add your sending domain. Publish the DNS records it gives you for DKIM and the Return-Path (SPF), then wait for verification.
  3. Enable SMTP and copy the Server API token, not the Account token.
  4. In setup's Email question choose postmark. Paste the token (hidden), then a sending address on your verified domain.

Resend

  1. Sign up at Resend and add your sending domain.
  2. Publish the SPF and DKIM DNS records it supplies, then wait for verification.
  3. Create an API key allowed to send from that domain.
  4. In setup's Email question choose resend. Paste the key (hidden), then a sending address on your verified domain.

Other SMTP

  1. Use your mail provider's SMTP service and verify your domain with its SPF and DKIM records.
  2. Get its host, port, username and SMTP password or app password.
  3. Choose smtp in setup. Enter those settings and your verified sending address. Use 587 for STARTTLS or 465 for implicit TLS.

Just looking around? Choose console: codes go to the server log, never an inbox.

After starting the stack, send yourself a test (use your own address):

scripts/selfhost/doctor.sh --send-test [email protected]

Check your inbox and spam, plus the provider's delivery log if it doesn't arrive. A successful SMTP send means accepted for delivery; check the inbox before inviting your group. Full email settings and troubleshooting.

Do it yourself

Already run Cloudflare Tunnel? Do it yourself

You can publish the web app and chat through your own cloudflared tunnel, using your own Cloudflare account (including its free plan). This is separate from our planned DNS + Tunnel service.

Cloudflare decrypts the traffic at its edge. It can see sign-ins, cookies, messages and files passing through the tunnel. HTTPS encrypts each leg, but this is not TLS passthrough. Tell your group before choosing this route.

Calls need a separate media path. Cloudflare Tunnel does not carry calls' UDP for public visitors. Without another path, chat works but a call may stay connecting or have no sound or video.

  • Forward media ports: with a reachable public address, forward 3478/udp, 7882–7891/udp and 7881/tcp to your box (use setup's actual range). Calls use your home upload; carrier-grade NAT prevents this.
  • Use a TURN server elsewhere on TCP/TLS 443: it must also reach your LiveKit media server. This needs extra configuration, bandwidth and usually a paid server; TCP can make calls stutter when packets are lost. Adding a TURN hostname alone does not solve carrier-grade NAT.
  • Stay chat-only: no inbound ports needed for the web app and chat. Tell members calls are unavailable.
Setup outline for Linux, Mac and Windows
  1. Follow the OS setup above with your own hostname, such as chat.example.com. In the single-box configuration, set LIVEKIT_WS_URL to wss://chat.example.com so call signalling also uses the app's proxy.
  2. Give that proxy an origin certificate, or use a local certificate with the tunnel's noTLSVerify setting only on the local route. Set the origin server name and HTTP Host Header to chat.example.com.
  3. In your Cloudflare tunnel, map the public hostname to https://localhost:443 when cloudflared runs on the host. A container must use an address that reaches the proxy; its own localhost is a different container. Keep WebSockets on and bypass caching for this hostname.
  4. Test chat from outside your network, then test calls only after setting up a media path. The full guide covers certificates, Docker Desktop, WSL and what doctor can check.

Full Cloudflare Tunnel guide in the self-hosting docs (public repository coming soon). This is a documented DIY recipe; we have not tested an install with a Cloudflare account.

Before routing uploads or video through it, read Cloudflare's current terms, service-specific terms and video policy. Their plan limits and content rules apply; a free account is not an unlimited media service. WebSocket connections can also reconnect after edge restarts.

Coming next

Coming next — join the waitlist

Not production ready yet

Missived DNS, DNS + Tunnel, managed updates and the phone push relay are in development. Nothing here can be bought or activated today; prices and fair-use limits below are proposed. Join the waitlist for your setup code when they open.

The planned stack is Cloudflare DNS for names, WireGuard from your box, and Caddy (layer-4, SNI passthrough) on our relays. WireGuard and Caddy are open source, so you can run the same relay stack yourself; you can choose your own DNS provider too.

Early access, when it opens

Hosted names will open in weekly batches

When they open, the certificate authorities we use limit how many new certificates a domain gets each week, so we'll open new hosted names in weekly batches, oldest request first. You'll get one email with your setup code when your turn comes. Bringing your own domain will skip the line entirely.

Join the waitlist

A list of people waiting, not a sign-up: no account, nothing to pay.

We use your email only to send your setup code. No newsletter, never shared. We'll email you once to confirm; if you don't, your address is deleted after 7 days, and every email has a link to remove it. Our privacy promise.

Explore the planned services and proposed prices

Missived DNS

$50 / year, proposed

or $5 a month

For a server with a public address: a VPS, a colo box, a home connection with port forwarding.

  • A name like yourgroup.missived.app
  • Certificates set up and renewed for you
  • Managed, signed updates with a backup first and automatic rollback
  • Phone notification relay included when the phone app ships
Join the waitlist

DNS + Tunnel

$100 / year, proposed

or $10 a month

For a computer at home or behind a router you don't control. No port forwarding, works behind carrier-grade NAT.

  • Everything in Missived DNS
  • An encrypted tunnel from your box to our relay
  • Calls and video relayed too
  • Fair use for a real group, in plain numbers below
Join the waitlist
Do it yourself
Missived DNS
DNS + Tunnel
PriceFree$50/yr or $5/mo (proposed)$100/yr or $10/mo (proposed)
Every Missived feature✓✓✓
Your own domain✓ required✓ optional, or ours✓ optional, or ours
Certificates handledAutomatic with your domain✓✓
UpdatesYou run upgrade.shManaged: backup, update, roll back if neededManaged: backup, update, roll back if needed
Works without a public IP——✓
Phone notification relayPlanned add-onIncluded (with the phone app)Included (with the phone app)
Who can read your messagesOnly your serverOnly your serverOnly your server; the relay passes encrypted traffic through
How it will work

Hosted names and the home tunnel, step by step

This is the plan for Missived DNS and DNS + Tunnel, so you can see exactly what would happen and who does what.

You do thisWe do thisHappens automatically

DNS + Tunnel with a Missived name

Your group gets yourgroup.missived.app, your server sits at home, and you never touch your router.

$100/yr or $10/mo, proposedNo router changesLive in about 2 minutes, once open
  1. 1
    YouGet a computer that stays on

    A small PC or mini-PC running Linux is ideal; a Mac or Windows PC works for small groups while it's awake. Up to 25 people: 2 cores, 4 GB of memory, 40 GB of storage.

  2. 2
    YouPick your name and pay

    Choose yourgroup on this page; we check it's free. Pay through Stripe's checkout page. We never see your card.

    2 minutes
  3. 3
    WeSend your setup code

    A one-time code appears on screen and in your email. During early access it arrives when your batch opens (see Early access below).

  4. 4
    YouRun two commands on the computer

    Download Missived and run the setup with your code. It asks a few plain questions, like how to send email.

    git clone <public repo> missived && cd missived
    scripts/selfhost/setup.sh --launcher YOUR-CODE
    About 10 minutes
  5. 5
    AutomaticYour computer opens an encrypted tunnel to us

    WireGuard dials out to two of our relays, so no inbound port forwarding is needed on your router. Your network must allow outbound UDP; a TCP fallback is planned. If one relay goes down, the other carries on.

  6. 6
    WePoint your name at your tunnel

    Our relays learn that yourgroup.missived.app belongs to your tunnel. No waiting on DNS: every Missived name already points at the relays.

    Under 90 seconds
  7. 7
    AutomaticYour computer gets its padlock certificate

    Let's Encrypt issues it straight to your computer through the tunnel. The key stays on your machine, and we never hold it.

  8. 8
    YouOpen your new address and make the Owner account

    Go to https://yourgroup.missived.app, sign up as the Owner, and invite your people. From then on, members' traffic passes through the relay encrypted, and only your computer can read it.

  9. 9
    AutomaticUpdates look after themselves

    When we release a version, your computer checks its signature, backs up, updates, and checks itself. If anything looks wrong, it rolls back to the last good version and tells you.

Words you'll see

A short glossary

Domain

A name you own on the internet, like gracechapel.org. You rent it yearly from a domain company. Our names (yourgroup.missived.app), once they're ready, mean you won't need one.

DNS record

An entry that says "this name lives at this address". Adding one takes a minute in your domain company's settings; changes usually spread within minutes.

Public IP address

The address the internet uses to reach a machine. Rented servers have one. Home connections often share one with the whole street, which is why the tunnel is planned.

Port forwarding

Telling your home router to send certain traffic to one computer. It's fiddly and some internet providers block it. The tunnel will mean you don't need it.

Certificate

What puts the padlock in the browser and encrypts the connection. Let's Encrypt issues them free; your server renews them automatically.

Tunnel and relay

Your computer keeps an encrypted line open to our relay. Members reach the relay, and it passes their encrypted traffic down the line to you without opening it.

How the tunnel will work

We'll carry the traffic. We can't open it.

Your server keeps its own certificate and its own keys. Cloudflare DNS points names at our relays without proxying the traffic. Caddy (layer-4, SNI passthrough) reads the destination hostname, then passes TLS through WireGuard to your box. It does not decrypt it. Calls have a separate UDP forwarding path through the tunnel.

What we'll be able to see

  • Client IP addresses, destination hostnames, connection times and traffic counts (to enforce fair use)
  • The hosted name, your billing details and your account email
  • When the updater checks in: its version and address

What we can't see

  • Messages, files, calls, member lists or anything inside your server
  • Your certificate's private key: it never leaves your box
  • Anything at all if you choose Do it yourself
Tunnel fair use (planned)

Plenty for a real group. Not a free CDN.

The tunnel is being sized for a church, a guild or a team running Missived from a spare computer. It isn't for hosting thousands of people through an old desktop; at that size, a server with its own address is the right fit.

400 GBthrough the relay each month
50 Mbpssustained
40people in calls at once
10 Mbpsif you go over, after a notice, never cut off silently
Questions

Straight answers

If it's open source, why would anyone pay?

You don't have to. The planned paid plans cover things that cost us money to run: the domain and certificates, the relay and its bandwidth, and the service that would update your server for you. The software and every feature are the same either way.

Can I buy Missived DNS or DNS + Tunnel today?

See Coming next — join the waitlist for the planned services. The free self-hosted edition is ready for early testers now.

When the paid plans open, what happens if I stop paying?

Your server keeps running and your data stays on it. The plan is to hold your hosted name for 60 days after 14 days of payment grace, and nothing is deleted without notice. You can switch to your own domain at any time and keep updating from the public releases.

Can I use my own domain?

Yes, on every path. Do it yourself needs one. On the planned paid plans your own domain also skips the certificate queue.

How is this different from the hosted Missived?

Hosted Missived is us running everything for you, priced by plan. Self-hosted is your server: every feature is on, there are no plan limits or prices inside the app, and you're responsible for backups and the hardware.

Do the desktop and phone apps work with my server?

Members use your server in any browser, and can install it as an app from the browser on computers and phones. The Missived desktop app connects to the hosted service only, for now.

My Mac or PC goes to sleep. Does that matter?

Yes: while it sleeps, nobody can reach your server. For a trial that's fine. For a group, keep it awake when plugged in (the Mac and Windows steps above show how), and know that a closed laptop lid still sleeps and Windows Update may restart it. For anything people depend on, use a Linux server.

Do I need a Docker Desktop licence?

Docker Desktop is free for personal use, education, non-commercial open source and small businesses (fewer than 250 people and under $10 million a year). A larger organisation needs a paid Docker subscription, which is yours to hold, not ours. On a Linux server you use Docker Engine, which has no such licence. On a Mac, OrbStack also works (check its licence too).

Why does Windows need WSL?

Missived's setup scripts are Linux scripts, and its parts run as Linux containers. WSL is Linux built into Windows, and Docker Desktop runs on it anyway. A separate PowerShell version would be a second copy to keep in step, so setup.ps1 only checks the Windows side and hands over to Ubuntu.

Has it been tested on Windows?

The Windows checks run in our automated tests on Windows, and the setup scripts are tested on Linux and macOS. A complete install on a real Windows PC, through to a call from another device, hasn't been run by us yet. If you try it, we'd like to hear how it went.

Can I fork it?

Yes, under AGPL-3.0. A public fork needs its own name and logo under our trademark policy, so nobody confuses it with Missived's releases.