This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Supabase is a popular backend-as-a-service for developers building web and mobile apps. It provides you Postgres database, auth, APIs, file storage, real-time and server-side functions. It allows developers to write application backends without writing every piece from scratch.
But as applications grow, developers need more control over infrastructure, database resources, data storage, and deployment. Supabase deployed on affordable VPS server hosting or a dedicated server (basically self-hosting) is worth considering.
We will cover how Supabase hosting works, what kind of server resources are needed, how to deploy it with Docker, and what developers need to know before deploying it.
What Is Supabase Hosting?
Supabase hosting for development teams means running open-source backend services on servers. It also enables applications and makes backend development easier. Other integrated services within Supabase hosting include:
They include:
- PostgreSQL database: Stores the application data, user data, and relations.
- Authentication: User registration & login, password recovery, social sign-in.
- Automation: Auto-generated REST APIs to operate on DB tables
- Storage: Manage file uploads, images and other app assets.
Server Requirements for Supabase
Processor
Database queries, API requests, authentication operations, background jobs, all that happens on the CPU. If you’re processing requests concurrently with multiple services, additional CPU capacity can be useful.
Two cores will be enough for initial testing in a small project. Upgrade to more if you need to test an application in production with multiple users, frequent queries, and real-time activity.
RAM
Memory is important, because PostgreSQL and other Supabase services need RAM for them to run well.
Memory is running low, containers restart, swapping happens, and the database slows down. Adopt the recommended baseline and measure real consumption as the application grows.
Memory Retention
Supabase requires storage for PostgreSQL data, application files, logs, and uploaded assets. SSD storage is a good choice for database workloads, as it offers faster data access compared to traditional hard drives.
NVMe storage works well for workloads that do many reads and writes to the database. And plan for storage growth. Also have separate backups, not just the main disk on the server.
Security Best Practices for Self-hosted Subphase
A self-hosted deployment provides the infrastructure but also the responsibility to secure the environment for developers.
Adhere to these practices:
- Turn on Row Level Security (RLS): Create RLS policies on the exposed database tables to enable users to only see those records that they are authorized to change.
- Protect environment variables: Protect database passwords, signing keys, and service credentials. When possible, use a secrets manager and restrict access to config files.
- Configure firewall rules: If you are in charge of the traffic to public apps, make sure that only the ports that are required are open. Keep Postgres and internal service ports internal unless you really need to connect to them directly.
- Use HTTPS: Create TLS certificates for public endpoints and require encrypted communication.
- Keep services running up-to-date: Apply tested updates to the operating system, docker environment and Supabase components.
- Backup: Independently back up PostgreSQL databases and storage data. Backups from the primary server. Sometimes test restores.
- Monitor server activity: CPU, memory, disk usage, database performance, container health and more to detect problems before your users do.
When to Use Self-Hosted Supabase
Self-hosted Supabase isn’t for every app. Whether to use self-hosted Supabase would depend on technical requirements and resources available to maintain infrastructure.
If you consider hosting it yourself:
- You want more control over infrastructure and data location.
- Your project needs a deployment environment independent of others.
- You have some configuration needs at the server level.
- Your team owns PostgreSQL, Docker, backups, and security.
- You want to customize the deployment to the application workload.
If you want to offload server administration, get managed platform features, and focus on application development, then managed Supabase is a good fit.
If you are comparing servers on price per month you should also be looking at the operational costs of self-hosting for production workloads. Maintenance, monitoring, backups, security, recovery planning, all of these take time and resources.
Conclusion
Supabase hosting is the flexible way to build and run application backends powered by PostgreSQL, authentication, APIs, storage, and real-time services.
The managed platform takes care of running the infrastructure, but self-hosting on a VPS provides developers with more control over deployment, the server resources, and where the data resides. Initial setup is approachable with Docker Compose, but you still need to plan carefully for production deployment.
Select server resources based on the application load, lock down all exposed services, back up independently, and monitor performance as usage scales. Self-hosted Supabase can be used for many types of development projects, if the right infrastructure and maintenance practices are in place.
Frequently Asked Questions
- What is Supabase hosting?
Supabase hosting involves running backend services powered by PostgreSQL, authentication, APIs, file storage, and real-time functionality. Developers can use Supabase’s managed platform or self-host its open-source services on a VPS or dedicated server.
- Can I self-host Supabase on a VPS?
Yes, you can self-host Supabase on a VPS using Docker. This gives developers greater control over server resources, deployment configurations, infrastructure, and data location. However, you are responsible for server maintenance, security, backups, and monitoring.
- What are the server requirements for self-hosting Supabase?
Supabase requires sufficient CPU, RAM, and SSD or NVMe storage to run PostgreSQL and its associated services. Two CPU cores can be enough for initial testing of small projects. Production workloads may require additional resources depending on database queries, concurrent users, and real-time activity.
- Is self-hosted Supabase better than managed Supabase?
It depends on your project requirements. Self-hosted Supabase is suitable for developers who need greater infrastructure control, data-location flexibility, and deployment customization. Managed Supabase is better for teams that want to reduce server administration and focus on application development.
Related Posts
Explore related articles covering connected topics, practical insights, and useful guides.
Explore More Insights
Explore the latest in WordPress
Trying to stay on top of it all? Get the best tools, resources and inspiration sent to your inbox every Wednesday.


