// Migration Guide · 2026

Migrate from Platform.sh to Runsite

Platform.sh is powerful but configuration-heavy — three YAML files and a steep learning curve. Runsite reads your .platform.app.yaml and recreates the stack in Frankfurt with far less configuration and the same EU compliance.

{ }
.platform.app.yaml
on Platform.sh
git push → build
EU
live stack
Frankfurt · eu-central
~20 min
typical migration
Less YAML, same EU
keep your workflow
Keep Platform.sh running
until you cut over
€5 Starting Price/mo
Free Tier
100% GDPR Compliant
Frankfurt EU Data Center

// the mental model

Every Platform.sh concept has a Runsite home

Platform.sh spreads config across .platform.app.yaml, services.yaml and routes.yaml. Runsite reads your app definition and maps each piece onto a simpler resource model.

.platform.app.yaml
name: app
type: 'nodejs:20'
relationships:
  database: 'db:postgresql'
  cache: 'redis:redis'
web:
  commands:
    start: 'npm start'
hooks:
  build: 'npm ci && npm run build'
  • type + build hook
    platform.sh
    Web service + build command auto
    Runtime and build hook become service settings
  • web.commands.start
    platform.sh
    Start command auto
    Carried over unchanged
  • postgresql relationship
    platform.sh
    Managed PostgreSQL you do
    Provision in Frankfurt; relationship becomes DATABASE_URL
  • redis relationship
    platform.sh
    Managed Redis you do
    Provision Redis; relationship becomes REDIS_URL
  • Variables
    platform.sh
    Environment variables auto
    Non-secret vars imported; secrets pasted once
  • routes.yaml
    platform.sh
    Routing rules you do
    Recreate routes and redirects in the dashboard

// step by step

From Platform.sh to live in the EU

Six steps. Most of them take seconds. Platform.sh keeps serving traffic until you flip your DNS.

  1. 1

    Create a Runsite project

    ~30 sec

    Sign in at runsite.app and create an empty project. No credit card, no sales call.

  2. 2

    Connect your Git repo

    GitHub · GitLab · Bitbucket

    Authorize GitHub, GitLab or Bitbucket. Runsite scans the selected branch for your .platform.app.yaml and detects the stack automatically.

  3. 3

    Review the detected setup

    Full preview before provisioning

    Runsite lists every service, database and env var it found and how each maps onto a Runsite resource. Tweak build or start commands inline. Nothing is created yet.

  4. 4

    Provision in Frankfurt

    One click · eu-central

    Create the whole stack in one step. Cross-resource env vars are wired up for you, and you get fresh database and Redis credentials in the EU.

  5. 5

    Drop in your secrets

    Secrets stay out of Git

    Secret values are never read from your repo. Paste API keys and tokens once in the dashboard; they're encrypted at rest and never logged.

  6. 6

    Push to go live

    Live in < 2 min

    git push and your app builds and deploys in the EU in under two minutes. Point your custom domain when ready. Platform.sh keeps running until you cut over.

// no surprises

What moves on its own — and what you touch

Honest about the boundaries. The supported stack is recreated in one click; a short list needs a human, and Runsite flags every item.

Imported automatically

  • Runtime, build hook and start command
  • Web service configuration
  • Non-secret variables
  • Auto-deploy on git push

You handle once

  • PostgreSQL relationship — import into managed PostgreSQL
  • Redis relationship — recreate as managed Redis
  • routes.yaml — recreate routing rules
  • Worker / cron processes — recreate in the dashboard

// platform.sh problems → runsite solutions

Common Platform.sh frustrations — sound familiar?

Every Platform.sh frustration, solved.

Platform.sh problem

"€30+/mo for a simple app"

Platform.sh/Upsun charges a project fee plus per-hour compute, disk, and backup costs. Even small apps are expensive.

Runsite solution

€5/mo, all included

Web service with compute, SSL, and monitoring for €5/mo. Add PostgreSQL for €5/mo. No hidden fees.

Platform.sh problem

"15-day trial is not enough"

Platform.sh gives you 15 days to evaluate. After that, you're on usage-based billing with no free option.

Runsite solution

Free tier forever

Prototype and test as long as you need. No countdown, no credit card, no pressure to convert.

Platform.sh problem

"Platform YAML config is verbose"

Platform.sh requires .platform.app.yaml, services.yaml, and routes.yaml with platform-specific syntax.

Runsite solution

Push code, we figure it out

Runsite auto-detects your stack. Or bring a Dockerfile — standard tools, no proprietary config.

// comparison

Runsite vs Platform.sh

Side-by-side. No marketing fluff — just facts.

Feature Runsite Platform.sh
Minimum Cost €5/mo ~€30-60+/mo (project fee + compute)
Free Tier Permanent, no credit card 15-day trial only
Pricing Model Fixed plans Per-hour compute + disk + backup fees
EU Entity EU-registered French company (SAS)
GDPR Compliance Full compliance Full compliance
Multi-Environment Coming soon Git branch = environment
Configuration Zero-config or Dockerfile Platform-specific YAML
Spending Limits Hard cap + Telegram alerts Usage-based billing

Migrating from Platform.sh, answered

Do I have to keep three YAML files like Platform.sh?

No. Platform.sh requires .platform.app.yaml, services.yaml and routes.yaml. Runsite reads your app definition and configures services through a simpler model, so you maintain far less YAML.

How do relationships map to Runsite?

Platform.sh relationships become standard environment variables. A postgresql relationship becomes DATABASE_URL and a redis relationship becomes REDIS_URL, auto-wired to the managed resources Runsite provisions.

What about my database data?

Runsite provisions managed PostgreSQL of the same major version in Frankfurt. Export from Platform.sh with pg_dump and restore with pg_restore; the connection string is wired in automatically.

Is there downtime?

No. Your Platform.sh environment keeps running while you build and verify on Runsite, then you cut over with DNS and can roll back at any time.

Why migrate from Platform.sh to Runsite?

You keep EU data residency and GDPR compliance but with much less configuration overhead, predictable EUR pricing with hard spending caps, and a permanent free tier.

Leave Platform.sh behind

Bring your .platform.app.yaml. We'll handle the rest — in Frankfurt.

Start your migration →
No rewrites Zero downtime Deploy in 2 min EU servers