Skip to content
Nautilo Documentation
Deploy / Build / AdministerDeploy Nautilo

Deploy Nautilo on Railway

Create a customer-owned Railway Server, claim its first owner, and prove useful value.

Railway is the shortest hosted path into Nautilo. The CLI creates one project in a workspace you select, including Nautilo, Logto, two PostgreSQL services, persistent storage, and managed HTTPS domains.

Release channel

The Railway journey is qualified, but the signed public CLI installer is not published yet. Do not substitute an internal bundle or source checkout and call it the public installation path.

Before you begin

You need a Railway account allowed to create projects in the paying workspace, a browser, a password manager, and any provider keys you intend to use. You do not need a Railway PAT, your own OAuth app, Docker, DNS, an SSH key, or a registry credential.

1. Confirm the CLI and name the project

nautilo --version
nautilo host --help
export NAUTILO_PROJECT_NAME="acme-nautilo"

Use lowercase letters, numbers, and hyphens. Nautilo will not silently adopt or modify an existing project with the same name.

2. Choose provider setup

For a repeatable administrator path, download the Railway provider TOML template, install a protected copy, then uncomment only providers you use:

mkdir -p ~/.config/nautilo
install -m 600 ~/Downloads/railway-providers.toml.example \
  ~/.config/nautilo/providers.toml

You may instead use guided setup. Skipping providers requires explicit degraded-mode consent and leaves the Server unable to do useful model work until you configure one.

3. Review a read-only plan

nautilo host plan \
  --backend railway \
  --project-name "$NAUTILO_PROJECT_NAME" \
  --provider-config "$HOME/.config/nautilo/providers.toml" \
  --all-providers

Complete Railway OAuth in the browser. Before continuing, require the plan to show the intended workspace and payer, no billable mutation yet, the services and storage, a dated cost approximation, selected provider names, and any capability gaps. It must never display provider values.

4. Deploy exactly what you reviewed

nautilo host deploy \
  --backend railway \
  --project-name "$NAUTILO_PROJECT_NAME" \
  --provider-config "$HOME/.config/nautilo/providers.toml" \
  --all-providers \
  --yes

The CLI creates one receipt-owned project, reports progress, and opens first-owner setup. If the terminal or browser closes, do not deploy again. Run the exact nautilo host resume ... command printed by the CLI.

5. Claim the first owner

Follow Create the first owner. Success ends at /help/server, with the Server Guide visible and no generic Genie prompt covering it.

6. Prove the Server is useful

Confirm prepared providers are ready, or add a model-capable provider in the Server Guide. Send one real test message. Then sign out, return to /help/server, and sign in as the same owner.

7. Resume, inspect, or remove

The protected local receipt owns the launch and project identifiers. Use the exact resume, inspect, and destroy commands emitted for that deployment. Closing a terminal or browser does not stop Railway billing.

For deterministic platform automation, see Railway automation.