For Statamic
Statamic, served without the surprises
Free to sign up. No egress fees on any product.
Why Statamic on Edge
Flat-file content, flat-fee infrastructure
Flat-file, no database drama
Content lives in the repo as Markdown and YAML. Nothing to snapshot or scale, so the VM does one job well.Assets straight to storage
Point an asset container at an S3 disk on Edge Storage. Uploads, focal-point crops and downloads share one bucket.Image transforms at the CDN
Keep Glide tags where you like them, or add ?width= and format=auto to any asset URL for AVIF and WebP at the edge.Global CDN, zero egress
Public pages cache in 988 locations. The Control Panel stays on your VM, out of the cache.Static output, no origin
Run php please ssg:generate, sync the output to a bucket and serve it from the CDN. Ideal for sites that change daily.Laravel inside
Forge, Envoyer and Kamal all target an Edge VM. The Edge CLI and agent API cover the VM, DNS and CDN.
Two ways to run it
Dynamic, static, or both
- Static from a bucketGenerate with the SSG addon in CI, sync to Edge Storage, serve from the CDN. No origin VM in the request path.
- Dynamic on a VMForms, member areas or live search? Run Statamic under Nginx and PHP-FPM like any Laravel app.
- Eloquent when you need itSwitch to the Eloquent driver and point Statamic at MySQL or Postgres, on the same VM or its own.
- Glide or edge transformsGlide keeps working. Edge transforms skip the render step and cache every variant worldwide.
Reference architecture
How Statamic maps to Edge
Editors
Control Panel at /cp
nginx + php-fpm 8.3
Statamic · s-2vcpu-4gb
acme-site
static HTML from ssg:generate
acme-assets
asset container on an s3 disk
acme.studio
every page, from the bucket
assets.acme.studio
images, resized at the edge
Readers
never reach the VM
- Compute
Runs Statamic under Nginx and PHP-FPM, and builds the static output.
- Storage
Holds asset containers, Glide variants and the generated site.
- CDN
Serves pages straight from the bucket and caches them worldwide.
- Image optimisation
A drop-in alternative to Glide URLs, with on-the-fly transforms.
- DNS
Anycast DNS for the apex, www and preview branches.
- Shield
Scores Statamic form submissions for spam. No CAPTCHA.
- Assist
Turns your flat-file content into answers, one tag in the layout.
Deploy
Statamic on Edge in five steps
- 01
Create the VM and the buckets
The lemp script installs Nginx and PHP 8.3. Deploy Statamic to it as you would any Laravel app.
shell$ edge compute create --name statamic --size s-2vcpu-4gb \ --image ubuntu-24 --region london --script lemp $ edge storage create acme-assets $ edge storage create acme-site - 02
Add an S3 disk for assets
Install league/flysystem-aws-s3-v3, add the disk, then set disk: assets in content/assets/assets.yaml.
config/filesystems.php'assets' => [ 'driver' => 's3', 'key' => env('EDGE_KEY'), 'secret' => env('EDGE_SECRET'), 'region' => 'us-east-1', 'bucket' => 'acme-assets', 'endpoint' => 'https://storage.edge.network', 'use_path_style_endpoint' => true, 'url' => 'https://assets.acme.studio', ], - 03
Generate and sync the static site
Run this in CI on every push, or on the VM after editors publish.
shell$ composer require statamic/ssg $ php please ssg:generate $ edge storage sync --delete storage/app/static acme-site/ - 04
Serve both buckets through the CDN
The CDN serves index.html for directory paths, so /about/ just works. Image transforms go on the asset domain.
shell$ edge cdn create --name acme-studio $ edge cdn domains add cdn-a1b2c3 --domain acme.studio \ --origin-type storage --storage-bucket acme-site $ edge cdn domains add cdn-a1b2c3 \ --domain assets.acme.studio --jit-image \ --origin-type storage --storage-bucket acme-assets - 05
Resize images from Antlers
Append transform parameters to any asset URL. Glide tags keep working if you prefer them.
resources/views/partials/hero.antlers.html<img src="{{ hero_image:url }}?width=1200&format=auto" srcset="{{ hero_image:url }}?width=800&format=auto 800w, {{ hero_image:url }}?width=1600&format=auto 1600w" alt="{{ hero_image:alt }}" >
Prefer to hand it off? Give the job to your AI agent or have our engineers do it.
What it costs
A content site for the price of a VM
- No database server to pay for
- Traffic growth only moves the CDN line
- Build in CI and drop the VM if you like
- Hourly billing with optional hard caps
Estimated monthly bill on Edge
Marketing site · ~200k page views/mo · 25 GB of assets and HTML
- Compute$19.24Standard VM · 2 vCPU · 4 GiB · Control Panel + builds
- CDN$0.502.5M requests: 500k free, then 2M × $0.25 per million
- Storage$0.3025 GB across both buckets: 5 GB free, then 20 GB × $0.015
- DNS$0.00Zone, www and preview records
- Egress$0.00
FAQ
Statamic on Edge, answered
Static, dynamic, or both?
How do asset containers work?
What about Statamic Pro and the Eloquent driver?
How do content updates get deployed?
Drop-in services
Add these without touching the stack
- Edge ShieldBot protection
POST /siteverify → score: 94Score Statamic form submissions with a single server-side check. No spam plugin stack, no puzzles.
Free for most sites. No puzzles, no widget to style.Explore - Edge AssistAI answers
<script src="…/assist.js">Your flat-file content becomes an answer box with one line in the layout.
Free tier: 250 answered questions a monthExplore
Ship your Statamic site on Edge
Free to sign up. Bring an existing site or start fresh: flat-file or Eloquent, static or dynamic.
Free tiers hard-cap. Nothing bills until you add a card.