Skip to content
Not released yet: version 0.1 is being built. See what works today.

Railway

Railway runs each compose service as a service of its own, so there is no server to look after. In return, less of the security model holds, and the warehouse is Postgres.

Railway attaches a volume to one service only, puts every service of a project on one private network, and has no depends_on (Railway’s compose guide). So:

  • The warehouse is postgres. DuckDB’s hand-off needs a volume shared by three containers, and Railway cannot share one. Switching is one setting.
  • anfra’s data source and Cerbos’s policies go into their images at mb build, instead of onto a shared volume.
  • Secrets come through Railway’s variables, with the env provider.
  • Network separation is gone: every service can reach every other. The database roles, the per-container secrets, Cerbos, the api’s sign-in and the guarded fetcher still hold. The network rules, read-only root filesystems and dropped capabilities do not.

Choose Railway when you want no server more than you want the full security model.