App Store template
Keystone icon

Keystone

Keystone is an open-source headless CMS and application framework for building GraphQL-powered backends and Admin UIs.

Launch in your Sealos workspace.

Keystone template preview
Template previewFull screenshot
Template deployments
14 on Sealos
Deployment
Your own instance
Category
Tools

About this template

Overview

Keystone is an open-source headless CMS and application framework for building GraphQL-powered backends and Admin UIs. This template deploys Keystone with a managed PostgreSQL database on Sealos Cloud.

From the documentation

Keystone runs on Node.js and automatically generates a powerful Admin UI and GraphQL API from your defined schema. It uses Prisma ORM under the hood to connect to PostgreSQL, providing relational data modeling, authentication, and access control out of the box.

How to deploy Keystone

  1. Choose Deploy now to start Keystone in your Sealos workspace.
  2. Review admin_name, admin_email, admin_password in the deployment form.
  3. Launch the template, then inspect the application status and resource cards in Canvas.

Resources to plan for

Start with the resources defined by the Keystone template. Review CPU, memory, persistent storage, and network allocations for every service in Canvas. Capacity needs depend on your data and workload; monitor usage as they grow.

Template configuration and setup

Access after deployment

Use the application URL or connection details shown in Canvas. Follow the deployment guide for first-time account setup or client configuration, and keep generated credentials available for that step.

Hosting and billing

Sealos monthly plans include compute, memory, storage, and traffic. Size your plan for all deployed services. Software licenses and external AI or API services may have separate terms and charges. Confirm the applicable plan and optional charges in Cost Center.

Compare Sealos resource plans
Read full documentationCollapse documentation

For current cloud charges, refer to Sealos plan pricing. Upstream documentation may reference earlier billing models.

Deploy and Host Keystone on Sealos

Keystone is an open-source headless CMS and application framework for building GraphQL-powered backends and Admin UIs. This template deploys Keystone with a managed PostgreSQL database on Sealos Cloud.

About Hosting Keystone

Keystone runs on Node.js and automatically generates a powerful Admin UI and GraphQL API from your defined schema. It uses Prisma ORM under the hood to connect to PostgreSQL, providing relational data modeling, authentication, and access control out of the box.

The Sealos template handles PostgreSQL database provisioning, schema initialization, and admin account seeding automatically. It also provides persistent storage for application build artifacts, along with SSL certificate provisioning and domain management.

Common Use Cases

  • Headless CMS: Manage structured content for websites, mobile apps, or any frontend through a GraphQL API and intuitive Admin UI.
  • Internal Tools and Admin Panels: Quickly build custom admin dashboards and data management interfaces without writing frontend code from scratch.
  • Unified Multi-Platform Backend: Use Keystone's GraphQL API as a single backend powering web, mobile, and IoT applications simultaneously.
  • Content-Driven SaaS Platforms: Embed content management capabilities into your SaaS product with fine-grained access control and custom business logic.

Dependencies for Keystone Hosting

The Sealos template includes all required dependencies: Node.js 22 runtime, PostgreSQL 16.4 database, Keystone 6 framework, and TypeScript compiler.

Deployment Dependencies
Implementation Details

Architecture Components:

This template deploys the following services:

  • Keystone Application: A Node.js service running as a StatefulSet, serving the Admin UI and GraphQL API on port 3000
  • PostgreSQL 16.4: A KubeBlocks-managed database cluster storing all content, user accounts, and schema data
  • Database Init Job: A one-time job that waits for PostgreSQL to become ready, then creates the keystone database
  • Bootstrap Init Container: Syncs application source files, installs dependencies, builds the project, and runs Prisma database migrations before the main container starts

Configuration:

The template ships with a starter schema containing three content types: Users, Posts, and Tags. Users support email/password authentication, Posts support rich text content with author and tag relationships, and Tags provide a simple categorization system. All content operations require authentication by default.

The bootstrap process uses hash-based change detection — on subsequent restarts, a rebuild is only triggered when source files have changed, keeping regular startup times fast.

License Information:

Keystone is licensed under the MIT License.

Why Deploy Keystone on Sealos?

Sealos is an AI-assisted Cloud Operating System built on Kubernetes that unifies the entire application lifecycle, from development in cloud IDEs to production deployment and management. It is perfect for building and scaling modern AI applications, SaaS platforms, and complex microservice architectures. By deploying Keystone on Sealos, you get:

  • One-Click Deployment: Deploy Keystone with a managed PostgreSQL database in a single click. No YAML configuration, no container orchestration complexity - just point, click, and deploy.
  • Auto-Scaling Built-In: Your applications automatically scale up and down based on demand. Handle traffic spikes without manual intervention or complex configuration.
  • Easy Customization: Configure admin credentials, resource limits, and storage with intuitive forms. Customize your setup without touching a single line of code.
  • Zero Kubernetes Expertise Required: Get all the benefits of Kubernetes - high availability, service discovery, and container orchestration - without becoming a Kubernetes expert.
  • Persistent Storage Included: Built-in persistent storage solutions ensure your application data and build artifacts are safe across deployments and scaling events.
  • Instant Public Access: Each deployment gets an automatic public URL with SSL certificates. Your Admin UI and GraphQL API are instantly accessible without complex networking setup.
  • Automated Backups: Automatic database backups and disaster recovery ensure your content data is always safe.

Deploy Keystone on Sealos and focus on designing your content models instead of managing infrastructure.

Deployment Guide

  1. Open the Keystone template and click Deploy Now.
  2. Configure the following parameters in the popup dialog:
    • Admin Name: Display name for the initial administrator
    • Admin Email: Email address used to log in to the Admin UI
    • Admin Password: Password for the administrator account
  3. Wait for deployment to complete (typically 2-3 minutes). The first deployment takes a bit longer as it needs to install npm dependencies and build the Keystone project. After deployment, you will be redirected to the Canvas. For later changes, describe your requirements in the dialog to let AI apply updates, or click the relevant resource cards to modify settings.
  4. Access your Keystone instance via the provided URL and log in to the Admin UI with the email and password you configured during deployment.

Configuration

After deployment, you can configure Keystone through:

  • AI Dialog: Describe the changes you want and let AI apply updates
  • Resource Cards: Click the relevant resource cards to modify settings
  • Admin UI: Access the Keystone Admin UI directly via the deployment URL to manage content, users, and data

To customize the content schema (add new lists, fields, or relationships), modify the schema source files through the ConfigMap resource card.

Troubleshooting

Common Issues

Application takes a long time to start on first deployment

  • Cause: The init container needs to install npm dependencies and build the Keystone project.
  • Solution: Wait for the init container to finish. Subsequent restarts will be much faster due to hash-based change detection.

Cannot log in to the Admin UI

  • Cause: Incorrect admin credentials or the seeding process was skipped.
  • Solution: Verify the email and password entered during deployment. Check the application logs for any warnings related to admin account seeding.
Getting Help

Additional Resources

From launch to everyday operations

Why deploy
on Sealos

A shorter path from an app you want to an app you can run. Sealos brings deployment and ongoing operations into one place.

  1. One-click deployment

    Start with a ready-made template. Review its configuration and launch from the Sealos console.

  2. Managed Kubernetes

    Run on managed infrastructure with built-in workload scheduling and recovery.

  3. Automatic HTTPS

    Give your application a public HTTPS endpoint with certificates managed for you.

  4. Persistent storage

    Keep application data on persistent volumes across container restarts.

  5. Room to grow

    Adjust CPU, memory, and replicas from the console as your workload changes.

One template. Connected resources.

You Get the Whole Stack

Sealos provisions the resources defined by your template and brings them together in your workspace.

  • App Service

    Container workloads with configurable CPU, memory, and replicas.

  • Public HTTPS URL

    An address for your app, with managed TLS certificates.

  • Database

    A database provisioned alongside your app when the template calls for one.

  • Persistent Volume

    Storage for the files and data your application needs to keep.

  • Environment Variables

    Application settings and secrets configured in one place.

  • Logs & Metrics

    Inspect container logs and resource usage from the console.

Resources and their configuration vary by template. Review the deployment form for this app’s exact setup.

Explore more production-ready templates.

More