// Migration Guide · 2026

Migrate from DigitalOcean to Runsite

Whether you're on App Platform or managing Droplets, DigitalOcean leaves you choosing between limited managed tiers and hands-on server work. Runsite reads your App Platform app.yaml and runs the whole stack managed in Frankfurt.

{ }
app.yaml
on DigitalOcean
git push → build
EU
live stack
Frankfurt · eu-central
~15 min
typical migration
PaaS, not droplet ops
keep your workflow
Keep DigitalOcean running
until you cut over
Zero Server Management
Frankfurt EU Data Center
100% GDPR Compliant
Free Tier — Forever

// the mental model

Every DigitalOcean concept has a Runsite home

DigitalOcean App Platform describes your app in an app.yaml spec. Runsite reads it and recreates each component as a managed EU resource — no Droplet to babysit.

app.yaml
name: my-app
services:
  - name: api
    github:
      repo: me/app
      branch: main
    run_command: npm start
    http_port: 8080
databases:
  - name: db
    engine: PG
    version: "16"
  • App Platform service
    digitalocean
    Web service auto
    Same git-driven build and run command
  • run_command + build
    digitalocean
    Start & build commands auto
    Carried over from app.yaml unchanged
  • Managed PG database
    digitalocean
    Managed PostgreSQL you do
    Provision in Frankfurt; dump and restore
  • Managed Redis (Valkey)
    digitalocean
    Managed Redis you do
    Provision Redis; repoint REDIS_URL
  • Droplet (if used)
    digitalocean
    Managed web service auto
    Stop patching a VM — Runsite runs your container for you
  • App-level env vars
    digitalocean
    Environment variables auto
    Non-secret vars imported; secrets pasted once

// step by step

From DigitalOcean to live in the EU

Six steps. Most of them take seconds. DigitalOcean 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 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. DigitalOcean 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

  • App Platform services — build & run commands
  • HTTP ports and health checks
  • Non-secret environment variables
  • Auto-deploy on git push

You handle once

  • Managed databases — dump and restore into managed PostgreSQL
  • Managed Redis / Valkey — recreate as managed Redis
  • Droplet workloads — repackage as a web service
  • Secret environment variables — paste once after import

// digitalocean problems → runsite solutions

Common DigitalOcean frustrations — sound familiar?

Every DigitalOcean frustration, solved.

DigitalOcean problem

"I have to manage the server myself"

Droplets require SSH access, OS updates, security patches, nginx config, and manual deployment.

Runsite solution

Fully managed PaaS

Push to GitHub, auto-build, auto-deploy. SSL, scaling, and maintenance handled for you.

DigitalOcean problem

"DigitalOcean is a US company"

Your data is subject to US jurisdiction even on Amsterdam droplets.

Runsite solution

EU entity, EU law

Runsite is registered in the EU. Your data is governed by European privacy laws.

DigitalOcean problem

"$200 trial credit runs out"

DigitalOcean's trial is generous but temporary. After 60 days, you pay for everything.

Runsite solution

Permanent free tier

No trial period. No credit card. Build and deploy at zero cost, forever.

// comparison

Runsite vs DigitalOcean

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

Feature Runsite DigitalOcean
Deployment Method Git push, auto-build Manual server setup
Server Management Fully managed You manage everything
EU Data Centers Frankfurt (eu-central) Amsterdam, Frankfurt
GDPR Compliance EU entity US company
Free Tier Permanent $200 trial credit
Basic Droplet €5/mo (managed) $6/mo (unmanaged)
SSL Certificates Automatic Manual setup

Migrating from DigitalOcean, answered

Does Runsite replace App Platform or Droplets?

Both. Runsite is fully managed like App Platform, but it also replaces hand-managed Droplets — you stop patching and securing a VM and run your container managed instead.

Can Runsite read my app.yaml?

Yes. Runsite reads your App Platform app.yaml, maps services, build and run commands, and databases onto Runsite resources, and shows the full plan before provisioning anything.

How do I move my DigitalOcean managed database?

Runsite provisions a managed PostgreSQL of the same major version in Frankfurt. Export with pg_dump from DigitalOcean and restore with pg_restore; the connection string is auto-wired into DATABASE_URL.

Is there downtime migrating from DigitalOcean?

No. Your DigitalOcean app or Droplet keeps serving while you build and verify on Runsite, then you switch DNS to cut over and can roll back at any time.

Why migrate from DigitalOcean to Runsite?

Runsite gives you fully managed EU hosting in Frankfurt for GDPR, predictable EUR pricing with hard spending caps and a permanent free tier — without choosing between limited tiers and manual server ops.

Leave DigitalOcean behind

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

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