Deploy hatamoto

Open-source CMS in one Go binary: site, admin and API on Postgres

Deploy hatamoto

/var/lib/postgresql/data

Just deployed

/data

Deploy and Host Hatamoto on Railway

Hatamoto is an open-source CMS. One Go binary serves the website, the admin and the API, and PostgreSQL stores all content. You get a fast server-rendered site, a block editor, a media library, SEO fields, redirects, sitemaps, sandboxed WebAssembly plugins and themes, built-in backups and signed automatic updates.

About Hosting Hatamoto

Hosting Hatamoto takes two pieces: the hatamoto container and a PostgreSQL 16 database. On first boot the container runs every database migration, generates its own server secret and prints a one-time setup link and code in the deploy logs. You open that link, enter the code and create the admin account. Uploads, secrets, backups and update releases live on a single volume mounted at /data, so they survive redeploys. A built-in supervisor installs signed updates in place and rolls back an update that fails its health check, so the service stays up without manual image bumps.

Common Use Cases

  • Company and marketing websites with pages, a blog and landing pages
  • Content sites that need strong SEO: canonicals, sitemaps, structured data and redirects
  • A headless CMS that serves content to another frontend through its API

Dependencies for Hatamoto Hosting

  • PostgreSQL 18 (included in this template)
  • A persistent volume on /data (included in this template)

Deployment Dependencies

Implementation Details

Hatamoto's admin lives at a random secret address, not /admin. To find it after deploying:

  1. Open the hatamoto service > Deployments > Deploy Logs and search for Setup. The line reads Setup: open https://<your-domain>/<admin-path>/setup and enter code XXXX-XXXX.
  2. Open that link, enter the code and create your admin account.
  3. Bookmark https://<your-domain>/<admin-path>/. That is your admin.

Lost the address? Install the Railway CLI and run railway ssh, then hatamoto admin-url.

Using a custom domain? Add it under Settings > Networking, then set PUBLIC_BASE_URL to https://your-domain. For email (password resets, invites), fill in the SMTP_* variables. Behind Cloudflare, add HATAMOTO_TRUSTED_CDN=cloudflare.

Why Deploy Hatamoto on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Hatamoto on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Libredesk - Complete Setup
Complete self-hosted omnichannel customer support desk.

codestorm
2
View Template
Paperless-ngx
Paperless-ngx — document management with OCR and full-text search

INAPP
1
View Template
Instatic CMS - Postgres
Design, build and manage powerful static sites from state-of-the-art CMS

Instatic
168