From a63f945c5bd8d490969ed074bf7092c070c3efae Mon Sep 17 00:00:00 2001 From: developerjamiu Date: Tue, 26 May 2026 09:35:26 +0100 Subject: [PATCH 1/5] docs: Restructure Deploy your app section with Custom hosting --- docs/05-build-your-first-app/04-deployment.md | 2 +- .../01-deploy-to-serverpod-cloud.md | 25 +++++++++ docs/08-deployments/01-deployment-strategy.md | 52 ------------------ .../custom-hosting/01-choosing-a-strategy.md | 53 +++++++++++++++++++ .../02-google-cloud-engine-terraform.md} | 2 +- .../03-google-cloud-run-console.md} | 2 +- .../04-aws-ec2-terraform.md} | 2 +- .../05-hosting-elsewhere.md} | 0 .../06-community-supported.md} | 0 .../custom-hosting/_category_.json | 5 ++ src/css/custom.css | 10 ++++ 11 files changed, 97 insertions(+), 56 deletions(-) create mode 100644 docs/08-deployments/01-deploy-to-serverpod-cloud.md delete mode 100644 docs/08-deployments/01-deployment-strategy.md create mode 100644 docs/08-deployments/custom-hosting/01-choosing-a-strategy.md rename docs/08-deployments/{02-deploying-to-gce-terraform.md => custom-hosting/02-google-cloud-engine-terraform.md} (97%) rename docs/08-deployments/{03-deploying-to-gcr-console.md => custom-hosting/03-google-cloud-run-console.md} (96%) rename docs/08-deployments/{04-deploying-to-aws.md => custom-hosting/04-aws-ec2-terraform.md} (97%) rename docs/08-deployments/{05-general.md => custom-hosting/05-hosting-elsewhere.md} (100%) rename docs/08-deployments/{06-community-supported-deployments.md => custom-hosting/06-community-supported.md} (100%) create mode 100644 docs/08-deployments/custom-hosting/_category_.json diff --git a/docs/05-build-your-first-app/04-deployment.md b/docs/05-build-your-first-app/04-deployment.md index 854c1ee4..08d89447 100644 --- a/docs/05-build-your-first-app/04-deployment.md +++ b/docs/05-build-your-first-app/04-deployment.md @@ -36,4 +36,4 @@ Serverpod Cloud is currently in private beta. Request access by [filling out thi ## Other deployment options -Check out [choosing a deployment strategy](../deployments/deployment-strategy) for more information on how to deploy your Serverpod application to other platforms. +Check out [Custom hosting](../08-deployments/custom-hosting/01-choosing-a-strategy.md) for more information on how to deploy your Serverpod application to other platforms. diff --git a/docs/08-deployments/01-deploy-to-serverpod-cloud.md b/docs/08-deployments/01-deploy-to-serverpod-cloud.md new file mode 100644 index 00000000..3b1d9a8a --- /dev/null +++ b/docs/08-deployments/01-deploy-to-serverpod-cloud.md @@ -0,0 +1,25 @@ +--- +sidebar_label: Deploy to Serverpod Cloud +sidebar_class_name: sidebar-icon-deploy-to-cloud +description: Serverpod Cloud is the recommended way to deploy a Serverpod server, with the database, TLS, and scaling managed for you. +--- + +# Deploy to Serverpod Cloud + +[Serverpod Cloud](/cloud) is the recommended way to host a Serverpod server, and the path the Serverpod team builds and maintains. You deploy from the terminal with the `scloud` CLI, and Cloud manages the rest: + +- A Postgres database. +- A public domain with TLS certificates. +- Scaling and the underlying infrastructure. + +The flow is short: + +1. Install the `scloud` CLI. +2. From your server directory, run `scloud launch`. It creates the Cloud project, provisions the database, and deploys your server. +3. Set any app secrets (API keys, OAuth credentials) with `scloud password set`. + +Migrations are applied automatically on each deploy. + +See the [Serverpod Cloud documentation](/cloud) for the full walkthrough, including secrets, custom domains, and logs. + +To run the server yourself instead, see [Custom hosting](./custom-hosting/01-choosing-a-strategy.md). diff --git a/docs/08-deployments/01-deployment-strategy.md b/docs/08-deployments/01-deployment-strategy.md deleted file mode 100644 index 3071c693..00000000 --- a/docs/08-deployments/01-deployment-strategy.md +++ /dev/null @@ -1,52 +0,0 @@ -# Choosing deployment strategy - -There are different options for hosting Serverpod. The minimal requirements are a single server or a serverless managed platform like Google Cloud Run and a Postgres database. Which setup you choose depends on the requirements of your architecture. - -The main two options are running Serverpod on a cluster of servers or on a serverless platform. You must run your servers on a cluster of servers (such as Google Cloud Engine) if your servers have a state. If they are stateless, you can run on a serverless platform (such as Google Cloud Run). An example of a stateful server is [Pixorama](https://pixorama.live), where the server keeps the state up to date in real time in the server's memory. If you only make API calls to retrieve data from a database, running on a serverless platform may be your best option. - -Here are some pros and cons for the different options: - -| | Server cluster | Serverless | -| :--- | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------ | -| Pros | All features are supported. Great for real time communication. Cost efficient at scale. | Minimal starting cost. Easier configuration. Minimal maintenance. | -| Cons | Slightly higher starting cost. More complex to set up. | Limited feature set. The server cannot have a state. | - -The features that currently are not supported by the serverless option are: - -- Future calls. (Configuration is possible but requires a more advanced setup.) -- Health metrics. -- On-server caching. Caching on the server can still occur when serverless instances are kept alive but can be lost at any time. Caching with Redis is supported. -- State. You cannot store any global information in the server's memory. Instead, you must rely on external services such as Postgres, Redis, or other APIs. - -## Supported platforms - -We provide Terraform scripts for setting up your infrastructure with Google Cloud Platform or Amazon Web Services. Still, you can run Serverpod anywhere you can run Dart or host a Docker container. - -### Server cluster - -Serverpod's Terraform scripts will set up an auto-scaling group of servers and configure a database, load balancer, domain names, and certificates. Optionally, you can deploy a staging environment and additional services such as Redis and buckets for file uploads. You deploy new revisions through Github actions, where you can also set up continuous testing. - -These are approximate starting pricing for the primary required services of a minimal setup on Google Cloud Platform. The minimal setup can handle a fair amount of users at no additional cost. With more traffic, the price will be higher but typically scale well. In addition, with a server cluster you can cache data and state directly on your servers which can cut down costs as you scale. - -| Service | Min cost | -| :----------------------- | :------- | -| Compute Engine Instance | $7 / mo | -| Cloud Load Balancing | $19 / mo | -| Cloud SQL for PostgreSQL | $10 / mo | - -### Serverless - -Serverpod runs well on serverless platforms such as Google Cloud run. We do not yet provide terraform scripts for Cloud Run, but it is easy to set up using the GCP console. You can upload new revisions from your command line. - -With Cloud Run, you only pay for handling the traffic you receive. There is no starting cost, and no extra load balancer is required. - -| Service | Min cost | -| :----------------------- | :------- | -| Cloud Run | $0 / mo | -| Cloud SQL for PostgreSQL | $10 / mo | - -:::warning - -The prices shown on this page are approximations and are meant to give you a rough idea of hosting costs. Additional costs may occur, and prices may change. Make sure to do your own research before deploying your infrastructure. - -::: diff --git a/docs/08-deployments/custom-hosting/01-choosing-a-strategy.md b/docs/08-deployments/custom-hosting/01-choosing-a-strategy.md new file mode 100644 index 00000000..605bfebc --- /dev/null +++ b/docs/08-deployments/custom-hosting/01-choosing-a-strategy.md @@ -0,0 +1,53 @@ +--- +sidebar_label: Choosing a strategy +description: Choose how to self-host a Serverpod server, on a server cluster, a serverless platform, or your own machine, as an alternative to Serverpod Cloud. +--- + +# Choosing a strategy + +You can run a Serverpod server anywhere it runs as a Dart process or a Docker container: a managed server cluster, a serverless platform, or your own machine. This page covers the trade-offs, and the following pages walk through each path. For the managed path, see [Serverpod Cloud](/cloud). + +## Server cluster or serverless? + +The two main options are running on a cluster of servers or on a serverless platform. Run on a **cluster** (such as Google Cloud Engine) if your server holds state. Run **serverless** (such as Google Cloud Run) if your server is stateless. An example of a stateful server is [Pixorama](https://pixorama.live), where the server keeps live state in memory. If you only make API calls that read and write a database, serverless may be the better fit. + +| | Server cluster | Serverless | +| :--- | :---------------------------------------------------------------------------------------- | :------------------------------------------------------------------ | +| Pros | All features are supported. Great for real-time communication. Cost-efficient at scale. | Minimal starting cost. Easier configuration. Minimal maintenance. | +| Cons | Slightly higher starting cost. More complex to set up. | Limited feature set. The server cannot hold state. | + +Serverless does not support: + +- Future calls. (Possible to configure, but requires a more advanced setup.) +- Health metrics. +- On-server caching. Caching can still happen while a serverless instance stays warm, but it can be lost at any time. Caching with Redis is supported. +- In-memory state. Store shared state in an external service such as Postgres, Redis, or another API instead. + +## Pick a guide + +- [Google Cloud Engine with Terraform](./02-google-cloud-engine-terraform.md): server cluster on GCP. +- [Google Cloud Run with GCP Console](./03-google-cloud-run-console.md): serverless on GCP. +- [AWS EC2 with Terraform](./04-aws-ec2-terraform.md): server cluster on AWS. +- [Hosting elsewhere](./05-hosting-elsewhere.md): run Serverpod on any Dart or Docker host. +- [Community-supported deployments](./06-community-supported.md): tools built by the community. + +## Approximate costs + +A minimal **server cluster** on Google Cloud Platform: + +| Service | Min cost | +| :----------------------- | :------- | +| Compute Engine Instance | $7 / mo | +| Cloud Load Balancing | $19 / mo | +| Cloud SQL for PostgreSQL | $10 / mo | + +A minimal **serverless** setup on Google Cloud Run, where you only pay for the traffic you serve and no load balancer is required: + +| Service | Min cost | +| :----------------------- | :------- | +| Cloud Run | $0 / mo | +| Cloud SQL for PostgreSQL | $10 / mo | + +:::info +These prices are rough approximations to give you a sense of hosting costs. Actual costs vary and change over time. Do your own research before provisioning infrastructure. +::: diff --git a/docs/08-deployments/02-deploying-to-gce-terraform.md b/docs/08-deployments/custom-hosting/02-google-cloud-engine-terraform.md similarity index 97% rename from docs/08-deployments/02-deploying-to-gce-terraform.md rename to docs/08-deployments/custom-hosting/02-google-cloud-engine-terraform.md index 3a2ac487..afc42bad 100644 --- a/docs/08-deployments/02-deploying-to-gce-terraform.md +++ b/docs/08-deployments/custom-hosting/02-google-cloud-engine-terraform.md @@ -1,6 +1,6 @@ # Google Cloud Engine with Terraform -Serverpod makes deploying your server to Cloud Engine easy using Github, Terraform, and Docker containers. Terraform will set up and manage your infrastructure while you use Github to build your Docker container and manage versions and deployments. Creating your project using `serverpod create` will automatically generate your deployment scripts. The default setup creates a minimal configuration, but you can easily modify the configuration to suit your needs. +Serverpod can be deployed to Cloud Engine using Github, Terraform, and Docker containers. Terraform sets up and manages your infrastructure while you use Github to build your Docker container and manage versions and deployments. The default setup creates a minimal configuration, but you can modify it to suit your needs. :::caution diff --git a/docs/08-deployments/03-deploying-to-gcr-console.md b/docs/08-deployments/custom-hosting/03-google-cloud-run-console.md similarity index 96% rename from docs/08-deployments/03-deploying-to-gcr-console.md rename to docs/08-deployments/custom-hosting/03-google-cloud-run-console.md index 89fd6edf..f310f985 100644 --- a/docs/08-deployments/03-deploying-to-gcr-console.md +++ b/docs/08-deployments/custom-hosting/03-google-cloud-run-console.md @@ -1,6 +1,6 @@ # Google Cloud Run with GCP Console -If your server does not maintain a state and you aren't using future calls, running your Serverpod on Google Cloud Run can be a great option. Cloud Run is the easiest way to deploy your server but may be less flexible as your application grows. Check the [Choosing deployment strategy](deployment-strategy) page for more information on choosing the best solution for your needs. +If your server does not maintain a state and you aren't using future calls, running your Serverpod on Google Cloud Run can be a great option. Cloud Run is the easiest way to deploy your server but may be less flexible as your application grows. See [Choosing a strategy](./01-choosing-a-strategy.md) for more on choosing the best solution for your needs. ## Before you begin diff --git a/docs/08-deployments/04-deploying-to-aws.md b/docs/08-deployments/custom-hosting/04-aws-ec2-terraform.md similarity index 97% rename from docs/08-deployments/04-deploying-to-aws.md rename to docs/08-deployments/custom-hosting/04-aws-ec2-terraform.md index af139474..b1a9ba45 100644 --- a/docs/08-deployments/04-deploying-to-aws.md +++ b/docs/08-deployments/custom-hosting/04-aws-ec2-terraform.md @@ -1,6 +1,6 @@ # AWS EC2 with Terraform -Serverpod makes it easy to deploy your server to AWS using Github and Terraform. Terraform will set up and manage your infrastructure while you use Github actions to manage versions and deployments. Creating your project using `serverpod create` Serverpod will automatically generate your deployment scripts. The default setup uses a minimal configuration that will fit within the AWS free tier, but you can easily modify the configuration to suit your needs. +Serverpod can be deployed to AWS using Github and Terraform. Terraform sets up and manages your infrastructure while you use Github actions to manage versions and deployments. The default setup uses a minimal configuration that fits within the AWS free tier, but you can modify it to suit your needs. :::caution diff --git a/docs/08-deployments/05-general.md b/docs/08-deployments/custom-hosting/05-hosting-elsewhere.md similarity index 100% rename from docs/08-deployments/05-general.md rename to docs/08-deployments/custom-hosting/05-hosting-elsewhere.md diff --git a/docs/08-deployments/06-community-supported-deployments.md b/docs/08-deployments/custom-hosting/06-community-supported.md similarity index 100% rename from docs/08-deployments/06-community-supported-deployments.md rename to docs/08-deployments/custom-hosting/06-community-supported.md diff --git a/docs/08-deployments/custom-hosting/_category_.json b/docs/08-deployments/custom-hosting/_category_.json new file mode 100644 index 00000000..e4d06ea7 --- /dev/null +++ b/docs/08-deployments/custom-hosting/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Custom hosting", + "position": 2, + "className": "sidebar-icon-custom-hosting" +} diff --git a/src/css/custom.css b/src/css/custom.css index b73cddf3..e69dd707 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -540,6 +540,16 @@ a.navbar__link svg use[href="#theme-svg-external-link"] { --sidebar-icon-color: currentColor; } +.theme-doc-sidebar-menu .sidebar-icon-deploy-to-cloud .menu__link { + --sidebar-icon-mask: url('/img/sidebar-icon-cloud-sun.svg'); + --sidebar-icon-color: currentColor; +} + +.theme-doc-sidebar-menu .sidebar-icon-custom-hosting > div.menu__list-item-collapsible > a.menu__link--sublist { + --sidebar-icon-mask: url('/img/sidebar-icon-hammer.svg'); + --sidebar-icon-color: currentColor; +} + .theme-doc-sidebar-menu .sidebar-mobile-product-switch.sidebar-icon-serverpod-cloud, .theme-doc-sidebar-menu .sidebar-mobile-product-switch.sidebar-icon-serverpod-cloud .menu__link { --sidebar-icon-mask: url('/img/sidebar-icon-cloud-sun.svg'); From 9153ec4a232436ca92f251b3a3bb4268d5b85d8d Mon Sep 17 00:00:00 2001 From: developerjamiu Date: Tue, 26 May 2026 15:02:18 +0100 Subject: [PATCH 2/5] docs: Address review on Deploy your app restructure --- .../01-deploy-to-serverpod-cloud.md | 19 +++++++++++-------- .../custom-hosting/01-choosing-a-strategy.md | 2 +- src/css/custom.css | 2 +- static/img/sidebar-icon-server.svg | 1 + 4 files changed, 14 insertions(+), 10 deletions(-) create mode 100644 static/img/sidebar-icon-server.svg diff --git a/docs/08-deployments/01-deploy-to-serverpod-cloud.md b/docs/08-deployments/01-deploy-to-serverpod-cloud.md index 3b1d9a8a..17f9a720 100644 --- a/docs/08-deployments/01-deploy-to-serverpod-cloud.md +++ b/docs/08-deployments/01-deploy-to-serverpod-cloud.md @@ -6,20 +6,23 @@ description: Serverpod Cloud is the recommended way to deploy a Serverpod server # Deploy to Serverpod Cloud -[Serverpod Cloud](/cloud) is the recommended way to host a Serverpod server, and the path the Serverpod team builds and maintains. You deploy from the terminal with the `scloud` CLI, and Cloud manages the rest: +[Serverpod Cloud](/cloud) is the recommended way to host a Serverpod server. It is a fully managed platform built and maintained by the Serverpod team, designed specifically for Serverpod apps. Because it understands Serverpod, you deploy in minutes with zero configuration, and there is no VM setup, container configuration, or infrastructure to orchestrate yourself. -- A Postgres database. -- A public domain with TLS certificates. -- Scaling and the underlying infrastructure. +Cloud manages the production infrastructure for you: -The flow is short: +- A production-grade Postgres database, with migrations applied automatically on each deploy. +- Networking, load balancing, and custom domains with TLS certificates. +- Automatic scaling to any size, with predictable pricing. +- A secure key manager for your app secrets. + +## Deploy from the terminal + +You deploy with the `scloud` CLI: 1. Install the `scloud` CLI. -2. From your server directory, run `scloud launch`. It creates the Cloud project, provisions the database, and deploys your server. +2. Run `scloud launch`. It creates the Cloud project, provisions the database, and deploys your server. 3. Set any app secrets (API keys, OAuth credentials) with `scloud password set`. -Migrations are applied automatically on each deploy. - See the [Serverpod Cloud documentation](/cloud) for the full walkthrough, including secrets, custom domains, and logs. To run the server yourself instead, see [Custom hosting](./custom-hosting/01-choosing-a-strategy.md). diff --git a/docs/08-deployments/custom-hosting/01-choosing-a-strategy.md b/docs/08-deployments/custom-hosting/01-choosing-a-strategy.md index 605bfebc..25dfd90a 100644 --- a/docs/08-deployments/custom-hosting/01-choosing-a-strategy.md +++ b/docs/08-deployments/custom-hosting/01-choosing-a-strategy.md @@ -5,7 +5,7 @@ description: Choose how to self-host a Serverpod server, on a server cluster, a # Choosing a strategy -You can run a Serverpod server anywhere it runs as a Dart process or a Docker container: a managed server cluster, a serverless platform, or your own machine. This page covers the trade-offs, and the following pages walk through each path. For the managed path, see [Serverpod Cloud](/cloud). +You can run a Serverpod server anywhere that supports a Dart process or a Docker container: a managed server cluster, a serverless platform, or your own machine. This page covers the trade-offs, and the following pages walk through each path. For the managed path, see [Serverpod Cloud](/cloud). ## Server cluster or serverless? diff --git a/src/css/custom.css b/src/css/custom.css index e69dd707..57b70fe5 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -546,7 +546,7 @@ a.navbar__link svg use[href="#theme-svg-external-link"] { } .theme-doc-sidebar-menu .sidebar-icon-custom-hosting > div.menu__list-item-collapsible > a.menu__link--sublist { - --sidebar-icon-mask: url('/img/sidebar-icon-hammer.svg'); + --sidebar-icon-mask: url('/img/sidebar-icon-server.svg'); --sidebar-icon-color: currentColor; } diff --git a/static/img/sidebar-icon-server.svg b/static/img/sidebar-icon-server.svg new file mode 100644 index 00000000..ef896e69 --- /dev/null +++ b/static/img/sidebar-icon-server.svg @@ -0,0 +1 @@ + From 42d99f2e8a93557e512e986f34e53607e50b2f8f Mon Sep 17 00:00:00 2001 From: developerjamiu Date: Wed, 27 May 2026 09:41:14 +0100 Subject: [PATCH 3/5] docs: Tighten Cloud page opener and improve description for SEO --- docs/08-deployments/01-deploy-to-serverpod-cloud.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/08-deployments/01-deploy-to-serverpod-cloud.md b/docs/08-deployments/01-deploy-to-serverpod-cloud.md index 17f9a720..718b68c6 100644 --- a/docs/08-deployments/01-deploy-to-serverpod-cloud.md +++ b/docs/08-deployments/01-deploy-to-serverpod-cloud.md @@ -1,12 +1,12 @@ --- sidebar_label: Deploy to Serverpod Cloud sidebar_class_name: sidebar-icon-deploy-to-cloud -description: Serverpod Cloud is the recommended way to deploy a Serverpod server, with the database, TLS, and scaling managed for you. +description: Deploy your Serverpod Flutter backend to Serverpod Cloud in minutes, with zero configuration and a managed database, TLS, and scaling. --- # Deploy to Serverpod Cloud -[Serverpod Cloud](/cloud) is the recommended way to host a Serverpod server. It is a fully managed platform built and maintained by the Serverpod team, designed specifically for Serverpod apps. Because it understands Serverpod, you deploy in minutes with zero configuration, and there is no VM setup, container configuration, or infrastructure to orchestrate yourself. +[Serverpod Cloud](/cloud) is the recommended way to host a Serverpod server. It is a fully managed platform built and maintained by the Serverpod team, designed specifically for Serverpod apps. You deploy in minutes with zero configuration, and there is no VM setup, container configuration, or infrastructure to orchestrate yourself. Cloud manages the production infrastructure for you: From c4ba7e252170fe5af0cd407c9cbe976f656f5d33 Mon Sep 17 00:00:00 2001 From: developerjamiu Date: Wed, 27 May 2026 10:55:22 +0100 Subject: [PATCH 4/5] docs: Note free trial and that the database is optional on Cloud page --- docs/08-deployments/01-deploy-to-serverpod-cloud.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/08-deployments/01-deploy-to-serverpod-cloud.md b/docs/08-deployments/01-deploy-to-serverpod-cloud.md index 718b68c6..dc89be31 100644 --- a/docs/08-deployments/01-deploy-to-serverpod-cloud.md +++ b/docs/08-deployments/01-deploy-to-serverpod-cloud.md @@ -8,9 +8,11 @@ description: Deploy your Serverpod Flutter backend to Serverpod Cloud in minutes [Serverpod Cloud](/cloud) is the recommended way to host a Serverpod server. It is a fully managed platform built and maintained by the Serverpod team, designed specifically for Serverpod apps. You deploy in minutes with zero configuration, and there is no VM setup, container configuration, or infrastructure to orchestrate yourself. +Your first project includes a one-month free trial, with no credit card required. + Cloud manages the production infrastructure for you: -- A production-grade Postgres database, with migrations applied automatically on each deploy. +- An optional production-grade Postgres database, with migrations applied automatically on each deploy. - Networking, load balancing, and custom domains with TLS certificates. - Automatic scaling to any size, with predictable pricing. - A secure key manager for your app secrets. @@ -20,7 +22,7 @@ Cloud manages the production infrastructure for you: You deploy with the `scloud` CLI: 1. Install the `scloud` CLI. -2. Run `scloud launch`. It creates the Cloud project, provisions the database, and deploys your server. +2. Run `scloud launch`. It creates the Cloud project, provisions a database if you enable one, and deploys your server. 3. Set any app secrets (API keys, OAuth credentials) with `scloud password set`. See the [Serverpod Cloud documentation](/cloud) for the full walkthrough, including secrets, custom domains, and logs. From 979210eb4a59d43bec13329a64d33e522bc2a974 Mon Sep 17 00:00:00 2001 From: developerjamiu Date: Wed, 27 May 2026 11:00:18 +0100 Subject: [PATCH 5/5] docs: Present Cloud free trial as an info callout --- docs/08-deployments/01-deploy-to-serverpod-cloud.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/08-deployments/01-deploy-to-serverpod-cloud.md b/docs/08-deployments/01-deploy-to-serverpod-cloud.md index dc89be31..63257e4e 100644 --- a/docs/08-deployments/01-deploy-to-serverpod-cloud.md +++ b/docs/08-deployments/01-deploy-to-serverpod-cloud.md @@ -8,8 +8,12 @@ description: Deploy your Serverpod Flutter backend to Serverpod Cloud in minutes [Serverpod Cloud](/cloud) is the recommended way to host a Serverpod server. It is a fully managed platform built and maintained by the Serverpod team, designed specifically for Serverpod apps. You deploy in minutes with zero configuration, and there is no VM setup, container configuration, or infrastructure to orchestrate yourself. +:::info + Your first project includes a one-month free trial, with no credit card required. +::: + Cloud manages the production infrastructure for you: - An optional production-grade Postgres database, with migrations applied automatically on each deploy.