Your first Joinery site.

About thirty minutes of filling in forms in a web browser. No command line, nothing to install on your computer, and at the end a mail, calendar and file server that belongs to you.

What you will need Other ways to install

A computer you rent, and two free plans

Joinery runs on a machine you control, not on ours. You rent that machine by the month, and two free plans cover the jobs a lone server does badly.

A computer you rent

Nobody wants a server humming in a cupboard, so you rent a small one in a data center — a VPS. You never see the hardware; you fill in a form and it exists. Joinery has a one-click installer on Linode, part of Akamai Cloud, who answer support around the clock. Entry level is $5 a month, paid to them.

A service to send mail

Receiving mail on your own server is straightforward. Convincing the rest of the world to accept mail from a brand new server is not, and it is the one job worth giving to a specialist. SMTP2GO sends 1,000 messages a month free, which is more than most households manage.

Somewhere safe for backups

A backup that lives on the same machine as the data is not a backup. Backblaze B2 gives you 10 GB free, and your site writes there on a schedule using a key that can add backups but never delete them — so a broken server cannot erase its own history.

Self-hosted means exactly what it sounds like. Your mail, files and calendars sit on your machine, behind your domain name. We cannot read them and we cannot lock you out of them — which is the whole point, and also why the next section asks you to open four accounts instead of one.

Before you start

Four accounts, opened in this order. Two are free, one costs about a sandwich a year, and one is $5 a month.

Account What it is for Cost
Namecheap Your domain name — your address on the internet $10–15 a year
SMTP2GO Sending your outgoing mail Free
Linode The server everything runs on $5 a month
Backblaze Storage for your backups Free to 10 GB

Along the way you are handed two kinds of secret. It is worth knowing which is which before the first one appears.

Three keys you copy and paste

You copy each of these from one website and paste it into your own site. Once pasted, your site holds it and your copy can go in the bin.

  • The SMTP2GO API key — step 2
  • The Linode API token — step 3
  • The Backblaze application key — step 5

Five that nobody can re-issue

None of these can be looked up again later — not by you, and not by us. Put each one into a password manager the moment you see it.

  • Your site login password — step 4, then the fresh one you set at first login
  • Your server root password — step 4
  • Your vault recovery codes — these open your encrypted mail and files if you lose your passkey
  • Your two-factor backup codes, if you enable 2FA — these get you back in if your second factor stops working
  • Your backup recovery key — this opens your backups

Eight steps

Every screenshot opens full size if you click it.

1

Buy a domain name

5 minutes

A domain is your address on the internet — the part after the @ in your email address. You are used to that being gmail.com or yahoo.com, owned by someone else. Getting it back is the reason Joinery exists. We recommend Namecheap, though any registrar works. Roughly $10–15 a year.

Once you own it, point it at the server you are about to create:

  1. In the Namecheap dashboard, click Manage beside your domain.
  2. Find the section marked Nameservers, choose Custom, and set the two entries to ns1.linode.com and ns2.linode.com.
  3. Click the green checkmark.
Only do this on a new or unconfigured domain. Changing nameservers replaces whatever DNS records the domain has now. If the domain already runs a website or a mailbox you care about, stop here and set it up by hand instead — the full installation reference covers that case.
The Namecheap domain list, with the Manage button beside the domain circled
The domain page scrolled to Nameservers, set to Custom DNS with ns1.linode.com and ns2.linode.com filled in
2

Set up mail sending

5 minutes

Open a free account at SMTP2GO. The free plan sends 1,000 messages a month, and your mail still lives on your own server — only the last hop out to the world is borrowed.

  1. In the left menu, open Sending and then API Keys.
  2. Click Add API Key and name it anything — Joinery is fine.
  3. Check its Permissions before saving. Turn on two groups: Emails and Sender Domains.
  4. Copy the key somewhere safe. You paste it into the setup wizard in step 7.
The SMTP2GO API Keys page, with Sending and API Keys circled in the left menu and the Add API Key button circled at the top right
3

Open a Linode account and create a token

5 minutes

Sign up through our referral link and you get $100 of credit to spend over your first 60 days — more than enough to run your site free for two months. You will verify your email address and add a card. Once the Linode dashboard loads, you are ready.

  1. Open the profile menu at the top right and choose API Tokens.
  2. Click Create a Personal Access Token and label it Joinery Token.
  3. Set the expiry to In one month.
  4. Set Domains and Linodes to Read/Write, and everything else to No Access.
  5. Click Create Token and save what it shows you. You paste it in step 4.
The Linode profile menu open, with API Tokens circled
The token is short-lived and narrow on purpose. Your site uses it once, to add your domain to Linode’s DNS and point it at itself, and then deletes it.
5

Make a backup bucket

5 minutes, while you wait

Open Backblaze B2 and sign in to the dashboard. The first 10 GB is free and anything beyond it is cheap.

  1. Click Create a Bucket, name it joinerybackups, and leave every other option at its default.
  2. Back on the dashboard, click Application Keys in the left menu.
  3. Click Add a New Application Key and name it backupkey.
  4. Choose the bucket you just made from the dropdown, and set access to Read and Write.
  5. Click Create New Key and save what it shows you, along with the bucket name.
The B2 Cloud Storage dashboard, with the Create a Bucket button and the Application Keys menu item circled
6

Log in

2 minutes

Ten minutes after you clicked Create, open a browser and go to your own site:

https://yourname.com/admin

Log in with the admin email and password you typed on the form in step 4 — not the root password. You will be asked to set a new password straight away; do it, and save that one too.

If the padlock is not ready yet, http://yourname.com/admin works in the meantime. Domain names take a little while to spread across the internet, and the secure version switches itself on shortly after yours arrives.
7

Walk through the setup wizard

10 minutes

Your site opens its setup wizard the first time you log in. Each screen explains itself, so go through them in order. Do not skip the email screen: a password reset email is the way back into your account, and a brand new site cannot send one until mail is configured.

Have ready to paste: the SMTP2GO key from step 2, and the Backblaze bucket name and key from step 5. The Linode token is already in place — the wizard uses it once to add your DNS records, then deletes it.

Some screens show you a keep forever secret once and never again: your vault recovery codes, your backup recovery key, and your two-factor backup codes if you enable 2FA. Save each one before you click past it. Nobody — including us — can reissue them.
8

Open your new mailbox

1 minute

Click your avatar at the top right and choose Dashboard, or go straight to yourname.com/profile. Then click Email in the submenu.

That is your mail, on your domain, on your server. You are done.

Four things, already running

Nothing else to install. Every one of these arrived with the server and is on from the first login.

Mail

Replaces Gmail

A full mailbox on your own domain. The address you picked in the wizard sends and receives here, and you can add more from the mail admin.

Drive

Replaces Google Drive

File storage on your own machine, with sync clients and a private tier whose contents the server cannot read.

Calendar

Replaces Google Calendar

Events, invitations, recurring entries, reminder emails, and imports from the calendars you keep elsewhere.

AI assistant

Optional

Installed, and waiting on one thing: a key from an AI provider you choose — a local model, or a no-logging service. The wizard asks, or add it later under Settings.

The AI key belongs to an account you own, so your usage is billed to you directly and never passes through us. Nothing is sent anywhere until you add one.

If something goes wrong

The site never appears, even after 15 minutes

Almost always a typo in the domain field. The cheapest fix is also the cleanest: in the Linode dashboard, delete the server (Settings → Delete) and repeat step 4 with the field corrected. Nothing is lost, because nothing is in it yet.

The site loads over http:// but the padlock is missing

Your domain name has not finished spreading across the internet yet. Nothing is broken and there is nothing to do — the certificate arrives on its own once the domain resolves everywhere, usually within the hour.

I cannot log in

Check three things. You are using the admin email and password from the form in step 4, not the root password. You are at /admin. And the address has no typo. The root password is for the rented machine itself and will never log you into your website.

Can I do this on a server I already have?

Yes. This walkthrough is the one-click path on Linode because it is the shortest. If you have your own machine, or want a manual install, a multi-site setup, or the private mail relay, that is all in the full installation reference.

What does this end up costing?

$5 a month to Linode for the server, and $10–15 a year to your registrar for the domain. SMTP2GO and Backblaze are free at these volumes. Joinery itself is free to self-host for personal, household, educational and nonprofit use — not a trial, not seat-capped. You pay us nothing here. Business use needs a licence; see pricing.

Going deeper: the full installation reference covers manual installs, multi-site servers, the mail relay topology and every option in detail, and the rest of the developer documentation covers running the thing once it is up.

Half an hour from here.

Start at step one, or have us do the whole thing for you instead — also free.