From install to live
The flow is always the same: write a post, let Selfish build the site, point it at a place once, and publish. You do the connection setup a single time for each site. After that a publish shows you what will change and sends only that.
Before the first publish
Set Site URL in Site Settings → Site to the public address readers will reach. Feeds, the sitemap and link previews are built from it. Create a site has the details.
Where should your site live?
Open Site Settings → Publishing. When a site has nowhere to publish yet, Selfish asks the question in plain words and says what each answer needs. You can change your mind at any time, and each site remembers its own setup.
Free, and quick to set up
| Route | What it is | What it needs |
|---|---|---|
| GitHub Pages | Your site lives in a GitHub repository, and every publish is kept, so you can always go back. | A free GitHub account. |
| Cloudflare Pages | Served from Cloudflare’s network, fast wherever your readers are. | A free Cloudflare account. |
| Netlify | A managed host that is quick to publish to again. | A Netlify account. |
I already have web hosting
| Route | What it is | What it needs |
|---|---|---|
| SFTP | Upload to the server your web host gave you, or to one of your own. | The server’s address, a username, and a password or key. |
| WebDAV | Upload to a WebDAV folder: Nextcloud, a Synology or QNAP, Fastmail Files, a Hetzner Storage Box. | The folder’s address, a username and a password. |
I use storage buckets
| Route | What it is | What it needs |
|---|---|---|
| S3-compatible storage | Amazon S3, Cloudflare R2, Backblaze B2, DigitalOcean Spaces or MinIO. | A bucket and an access key. |
I keep my own copy in sync
| Route | What it is | What it needs |
|---|---|---|
| A folder | Selfish copies the site into a folder on this device, in iCloud Drive or Dropbox, or one your web host’s app keeps in sync. | A folder you choose, on each device. |
Whichever route you choose, every secret is stored in the Apple Keychain: SFTP passwords and SSH keys, WebDAV passwords, S3 secret keys, and Netlify, Cloudflare and GitHub tokens. Never in the site’s data, an export or a log. With iCloud Keychain on, they sync between your own devices, end-to-end encrypted.
Test, then publish
Every route has Test Connection (for a folder, Check Folder). Use it before your first publish. It checks your details and the destination, so you find problems now and not halfway through an upload.
On SFTP and GitHub Pages it also notices when everything connects but the site still wouldn’t show, and says what to change: the result reads Connected — check this, with the fix beneath it.
Then choose Publish Site. Preview and publish walks through the screen, and How publishing works explains what happens underneath.
Themes
How a site looks is separate from where it goes. A theme is chosen for each site, and switching one never touches your words. See Themes and design in the user guide, or all eleven themes.
Choosing a host
Compare hosting options for Selfish: managed static hosting, your own server, object storage, or a folder you sync.
Every route, and how it works
- 01 SFTP Your own server or web hosting, with a password or an SSH key.
- 02 WebDAV Nextcloud, a Synology or QNAP, Fastmail Files, a Hetzner Storage Box, or a host that offers WebDAV.
- 03 S3-compatible storage Amazon S3, Cloudflare R2, Backblaze B2, DigitalOcean Spaces or MinIO.
- 04 Netlify A managed host with HTTPS and a CDN. Needs a site and a personal access token.
- 05 Cloudflare Pages Served from Cloudflare's network. Needs a Pages project and an API token.
- 06 GitHub Pages Free hosting from a GitHub repository, with every publish kept. Sign in, or use a token.
- 07 A folder A folder on your device, in iCloud Drive or Dropbox, or one your web host's app keeps in sync.
- 08 Custom domains The DNS records your domain needs on GitHub Pages, Netlify and Cloudflare Pages, and how Selfish checks them.
- 09 How publishing works The files in a site, how only changes are sent, what is removed and what is never touched.
- 10 Troubleshooting Refused connections, permissions, tokens, host keys, and sites that connect but don't show.