Supabase, run for you
Self-hosted Supabase without the DevOps
Keep Supabase. Skip the Docker Compose chores. Aria runs the stack on a private server of yours, applies your migrations and backs it up every night.
What runs on your server?
One database entry in aria.yaml, and the whole stack comes up wired to your app.
Postgres
Your database, with migrations applied in order, each once, and a seed that runs once on a new database.
Auth
Sign-in providers and email templates come from
supabase/config.toml. Sign-up email goes through your SMTP provider or Aria Mail.REST and Realtime
The API and live updates, on one public address with HTTPS. Aria gives your services the address and the keys.
Storage
Buckets from your config, with the files on your server and in the nightly backup.
Edge functions
Every folder under
supabase/functionswith anindex.tsorindex.jsis deployed. Their secrets are listed in aria.yaml.Studio
The Supabase dashboard, for looking at your data. Change settings in your repository, because the next deploy applies what is there.
The jobs that remain
How is this different from Docker Compose on your own VPS?
Supabase recommends Docker Compose for self-hosting. It works, and these are the jobs it leaves with you.
| Job | Docker Compose on a VPS you run | On Aria Cloud |
|---|---|---|
| Server setup and hardening | You | Aria sets the server up and hardens it before Supabase runs |
| Keys and the JWT secret | You make them and put them in an env file | Aria generates them. You never choose them, and your services get them with from: |
| Schema and seed | You run the migrations | Aria applies supabase/migrations on every launch and push, each once |
| Settings | Environment variables | config.toml in your repository, applied on every deploy |
| Sign-up and reset email | You set the SMTP variables | An auth.smtp block, or Aria Mail wired in for you |
| Backups | Not covered by Supabase’s Docker guide | Nightly, encrypted, off the server, with Storage files |
| Checking it works | You test each service | aria check tests the gateway, Auth, REST, Storage, Realtime, HTTPS and Auth’s email |
Supabase’s statements come from its self-hosting documentation at supabase.com/docs/guides/self-hosting, read on 31 October 2026.
What does the stack file look like?
One web service on Supabase. Aria checked this file with its own validator and sized it.
The two NEXT_PUBLIC_ values are public by design, so they are marked build: true. The service-role key is not public, so only server code gets it.
Aria’s sizing function puts this stack at about 6.5 GB, which needs the Developer plan. Aria prints that estimate before you pay.
Aria’s own tests launch a Supabase demo app for real: a web service, migrations, an edge function and a sign-in secret, on a test server. The steps are in Self-hosted Supabase on Aria.
version: 1name: my-appservices: web: type: web install: npm ci build: npm run build start: npm start port: 3000 healthcheck: / domain: "@"databases: main: type: supabaseenv: NEXT_PUBLIC_SUPABASE_URL: services: [web] from: main.url build: true NEXT_PUBLIC_SUPABASE_ANON_KEY: services: [web] from: main.anon_key build: true SUPABASE_SERVICE_ROLE_KEY: services: [web] from: main.service_role_keySizing
How big a server does it need?
Supabase says a minimum of 4 GB of memory, 2 cores and 40 GB of disk, and recommends 8 GB, 4 cores and 80 GB or more.
Developer
£16a month, ex VAT
4 vCPU, 8 GB memory, 75 GB storage
A real product, or self-hosted Supabase with room for builds.
Choose DeveloperPro
£23a month, ex VAT
6 vCPU, 12 GB memory, 100 GB storage
Bigger stacks: several services, queues and heavier traffic.
Choose ProBusiness
£30a month, ex VAT
8 vCPU, 16 GB memory, 200 GB storage
Several apps for one company, or one busy app with room to grow.
Choose BusinessScale
£40a month, ex VAT
8 vCPU, 24 GB memory, 200 GB storage
Large databases and many services under steady load.
Choose ScaleScale Plus
£60a month, ex VAT
16 vCPU, 32 GB memory, 400 GB storage
The biggest apps that still fit on one cloud server.
Choose Scale Plus
Developer (4 vCPU, 8 GB memory, 75 GB storage) meets the recommended memory and cores. Supabase is included at no extra cost on every plan big enough to hold it. Prices are in pounds, ex VAT, for a private VPS. Developer is £16 a month. See pricing for every location.
How does it compare with Supabase Cloud?
The same open-source Supabase, on a server that also runs your app.
| Area | Supabase Cloud | Self-hosted on Aria |
|---|---|---|
| Price | A plan per organisation, plus compute per project | One flat price per server. Supabase is included at no extra cost |
| Your app and workers | Hosted somewhere else | On the same server as the database |
| Backups | Managed backups and point-in-time recovery, by plan | Nightly, encrypted, off the server, kept 30 days by default |
| Settings | Edit them in the dashboard | In your repository. A deploy applies them |
| Who runs the server | Supabase | Aria, on a private VPS that is yours alone |
Can I move a Supabase Cloud project here?
Yes. Nothing in the old project is changed or deleted, so you can try it and go back.
Launch your app on Aria
With a Supabase database. The stack file above is enough to start.
Dump the old project
With the Supabase CLI: the roles, the schema and the data, which includes auth users and their password hashes.
Load it in one transaction
Through a temporary owner login from
aria db url --owner. Either all of it loads or none of it does.Copy the Storage files
The database copy brings the bucket list but not the files. A script copies every object and is safe to run again.
Point the app at Aria
People sign in again once, because the keys and the JWT secret are new. The full list is on Move from Supabase Cloud.
Questions about self-hosted Supabase
Is Supabase really included at no extra cost?
Yes. Supabase runs on the server your plan already pays for, so you pay for the plan and nothing for Supabase itself. It needs about 4 GB of memory on its own, which is why it starts on the Developer plan. There is no charge per seat, per app, per database or per request.
Is this the official Supabase?
Aria installs the official self-hosted Supabase stack: Postgres, Auth, the REST API, Realtime, Storage, Studio and edge functions. It is not a fork or a lookalike. Supabase describes self-hosting as community-supported, and Aria Cloud is a separate company from Supabase.
How much memory does self-hosted Supabase need?
About 4 GB on its own, before your app and its builds. Supabase’s own Docker guide gives a minimum of 4 GB of memory, 2 cores and 40 GB of disk, and recommends 8 GB, 4 cores and 80 GB or more. Aria adds Supabase to its memory estimate, so the plan it suggests already has room.
Are my Supabase databases backed up?
Yes. Aria backs up a Supabase database with its Storage files every night. The backups are encrypted and stored off your server, and you restore from Settings, then Recovery.
Can I move my Supabase Cloud project to Aria?
Yes. You dump the roles, schema and data with the Supabase CLI, load them in one transaction through a temporary owner login, and copy Storage files with a script. People sign in again once because the keys and JWT secret are new. Edge function secrets are listed again in aria.yaml.
Does self-hosted Supabase on Aria send real emails?
Yes, in two ways. Add an auth.smtp block to the database in aria.yaml to use your own provider, or turn on Aria Mail, which Aria wires into Auth for you. Without either, Auth’s email goes to a test inbox and nobody receives it.
Your own Supabase, run for you
Sign up, add one database entry to aria.yaml, and Aria brings the stack up.