Migrating from Railway

Migrate from Railway to EU infrastructure

Partiri supports the same Git-based deployment model as Railway. Your build command, start command, and environment variables transfer as-is, and if you're already using a Dockerfile, it works unchanged — now running entirely on EU infrastructure.

What maps to what

Railway concepts, translated

Your build command, start command, and environment variables transfer as-is.

On RailwayOn Partiri
Build Command / Start CommandBuild command and run command in the service settings, transferred as-is
DockerfileWorks unchanged — or use a native runtime, detected automatically from files like package.json or go.mod
VariablesEnvironment variables, injected at runtime and editable from the service settings page
VolumesPersistent Storage — a 1–10 GB disk attached to a service, for file uploads, SQLite databases, or caches
Web / Worker / Cron servicesWeb Service, Worker, and Cron Job service types
Custom domains & TLSCustom domains with TLS certificates provisioned automatically
Deploy on pushA Git push webhook to your configured branch, or a deploy hook for CI pipelines
PR environmentsNot supported — see limitations below
Honest limitations

What doesn't carry over

We'd rather tell you upfront than have you find out mid-migration.

  • No automatic build detection beyond the supported runtimes. We detect Node.js, Python, Go, Rust, Ruby, Elixir, PHP, JVM, .NET, C++ and static sites from your project files. Outside those, bring a Dockerfile — it runs unchanged.

  • No PR environments. There is no automatic preview environment feature for pull requests. Deployments are triggered manually or via Git push webhooks to a configured branch.

  • Managed PostgreSQL, no MySQL or Redis. Partiri offers Managed PostgreSQL databases (single-instance, EU-hosted, private in-cluster networking) — there's no backups, point-in-time recovery, high availability, or connection pooling in v1, and no managed MySQL or Redis service. Persistent Storage attaches a volume to a service for file-based data; for anything needing those guarantees, keep it external and connect via an environment variable.

Getting started

Your first deploy, step by step

Bring the same build and start commands you already use on Railway.

  1. 1

    Connect your source

    Point Partiri at the same Git repository (GitHub, GitLab, Bitbucket, or Codeberg) or container image you already deploy from Railway.

  2. 2

    Reuse your build and start commands

    Set the same build command and start command in the service settings, or keep your Dockerfile as-is.

  3. 3

    Copy your Variables

    Move your Railway Variables into Partiri environment variables — they transfer directly, no renaming required.

  4. 4

    Pick a region and pod size

    Choose a European region and a pod size — all available regions are based in Europe.

  5. 5

    Deploy

    We build your app, assign it a subdomain, and it's live. Attach your custom domain whenever you're ready.

Read the full deployment guide
Data residency

Infrastructure that stays in the EU

Partiri is a European company, and our infrastructure runs entirely out of European regions. Every deployment — build, storage, and traffic — stays within the EU, and we're GDPR-compliant by default with no extra configuration needed.

Regions are live today in Germany (Nuremberg) and Finland (Helsinki), with more European countries on the roadmap.

See where we're live

Ready to move off Railway?

Bring your build command, start command, and variables, and deploy on EU-only infrastructure.

Create your project