Skip to content

For Craft CMS

Craft CMS hosting, production-grade and predictable

Real VMs tuned for PHP, asset volumes in S3-compatible storage and the front end cached in 988 locations. The setup Craft teams want, at a price agencies can plan around.

Free to sign up. No egress fees on any product.

Why Craft CMS on Edge

The hosting Craft recommends, at agency-friendly prices

Real PHP performance, S3-backed assets and a CDN in front, without per-page-view pricing.
  • Real PHP, real performance

    Dedicated CPU, NVMe storage and OPcache on a VM sized for Craft. Nothing bills you per page view.
  • S3 asset volumes

    Local volumes in development, an S3-compatible filesystem on Edge Storage in production. Same Craft setup either way.
  • Image transforms, two ways

    Craft's native transforms keep working. For busy sites, add ?width= and format=auto to asset URLs and let the CDN do it.
  • Global CDN, zero egress

    The front end caches in 988 locations. Logged-in editors go to origin; nobody pays egress.
  • MySQL or Postgres

    Run the database on the same VM to save money, on its own VM to scale, or at your existing provider.
  • Project config and Composer

    The standard flow: pull, composer install, php craft up. Wrap it in CI, Forge or Envoyer, all pointed at an Edge VM.

Reference architecture

How Craft maps to Edge

A standard LEMP stack with S3-backed asset volumes and the CDN out front. Boring, fast and predictable.
  • Compute

    Runs Craft, Nginx and PHP-FPM, with MySQL or Postgres alongside.

  • Storage

    Holds asset volumes through an S3-compatible filesystem.

  • CDN

    Caches the front end and every asset URL worldwide.

  • Image optimisation

    On-the-fly variants straight from Craft asset URLs.

  • DNS

    Anycast DNS for the apex, www and each client subdomain.

  • Shield

    Keeps spam off contact and entry forms without hurting the UX.

  • Assist

    Answers visitor questions from your entries, on brand.

Deploy

Craft on Edge in five steps

The Craft deploy you already know, with Edge Storage for assets and the CDN in front.
  1. 01

    Create the VM and the asset bucket

    The lemp script installs Nginx, MySQL 8 and PHP 8.3, which covers Craft 5's PHP 8.2+ requirement.

    shell
    $ edge compute create --name craft --size s-2vcpu-4gb \
        --image ubuntu-24 --region london --script lemp
    
    $ edge storage create acme-assets
  2. 02

    Configure an S3-compatible filesystem

    Craft's first-party Amazon S3 plugin has no custom endpoint setting, so use an S3-compatible filesystem plugin and reference these variables in Settings → Filesystems.

    .env
    EDGE_KEY="..."
    EDGE_SECRET="..."
    EDGE_BUCKET="acme-assets"
    EDGE_REGION="us-east-1"
    EDGE_ENDPOINT="https://storage.edge.network"
    EDGE_ASSETS_URL="https://assets.acme.agency"
  3. 03

    Deploy the Craft way

    Pull, install, apply migrations and project config, then clear the CDN. Wrap it in CI or point Forge or Envoyer at the VM.

    shell
    $ git pull && composer install --no-dev
    $ php craft up
    $ php craft clear-caches/all
    $ edge cdn purge cdn-a1b2c3
  4. 04

    Put the CDN in front

    One domain for the site, one for assets with image transforms switched on.

    shell
    $ edge cdn create --name acme-agency
    $ edge cdn domains add cdn-a1b2c3 \
        --domain acme.agency --origin https://<vm-ip>
    $ edge cdn domains add cdn-a1b2c3 \
        --domain assets.acme.agency --jit-image \
        --origin-type storage --storage-bucket acme-assets
  5. 05

    Serve transforms from the CDN

    Append parameters to the asset URL. Native transforms still work where you'd rather keep them.

    templates/_partials/hero.twig
    {% set image = entry.heroImage.one() %}
    <img
      src="{{ image.url }}?width=1200&format=auto"
      srcset="{{ image.url }}?width=800&format=auto 800w,
              {{ image.url }}?width=1600&format=auto 1600w"
      alt="{{ image.alt }}"
    >

Prefer to hand it off? Give the job to your AI agent or have our engineers do it.

What it costs

A client site you can quote with confidence

One VM, one CDN deployment and one bucket. Add a client and you add the same three lines again.
  • No per-page-view or per-site fees
  • Asset bandwidth at $0 egress
  • Root access for Forge, Envoyer or CI
  • Hourly billing with optional hard caps
See compute pricing

Estimated monthly bill on Edge

Agency client site · ~300k page views/mo · 45 GB of assets

USD
  • Compute$19.24Standard VM · 2 vCPU · 4 GiB · Craft + MySQL
  • CDN$0.753.5M requests: 500k free, then 3M × $0.25 per million
  • Storage$0.6045 GB of assets: 5 GB free, then 40 GB × $0.015
  • DNS$0.00Zone and client subdomains
  • Egress$0.00
Total$20.59

FAQ

Craft CMS on Edge, answered

Something else? Ask an engineer.
Craft 4 or Craft 5?
Both. Craft 5 needs PHP 8.2 or later, and the lemp library script installs PHP 8.3. Run composer install and php craft up and you're done.
Which S3 plugin should I use?
Any Craft filesystem plugin that accepts a custom S3 endpoint. Craft's own Amazon S3 plugin is built for AWS and has no endpoint setting, so choose an S3-compatible one and point it at storage.edge.network.
Can I keep using Forge or Envoyer?
Yes. Both can target an Edge VM by IP. Edge provides the server; they run the deploy pipeline. Or script the same flow with the Edge CLI and skip the third party.
How does this compare to Servd or Cloudways?
Cheaper and faster, and you keep root. The trade-off is managing the OS yourself, with a startup script or Forge, or our Expert Services team can run it for you.
What about Craft Commerce?
It runs identically: the same PHP and MySQL stack, with product imagery in the same asset bucket. The CDN handles catalogue traffic and checkout goes to origin.

Ship Craft on Edge

Start free. Bring an existing Craft site or start a new one, with agency-friendly pricing all the way up.

Free tiers hard-cap. Nothing bills until you add a card.