App Store template
Strapi icon

Strapi

Open-source headless CMS for building customizable content APIs and administration workflows.

Launch in your Sealos workspace.

Strapi template preview
Template previewFull screenshot
Template deployments
15 on Sealos
Deployment
Your own instance
Category
Tools

About this template

Overview

Strapi is an open-source headless CMS for creating content models, managing content, and serving REST APIs. This template builds Strapi 5.50.1 with Node.js 22 and runs it in production mode on Sealos Cloud.

From the documentation

Strapi provides an administration interface for editors and an API layer for websites, mobile apps, and other clients. Its project files, SQLite data, and local media uploads share persistent application storage, so they survive pod restarts.

How to deploy Strapi

  1. Choose Deploy now to start Strapi in your Sealos workspace.
  2. Review admin_email, admin_password, admin_firstname and the remaining settings 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 Strapi 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 Strapi on Sealos

Strapi is an open-source headless CMS for creating content models, managing content, and serving REST APIs. This template builds Strapi 5.50.1 with Node.js 22 and runs it in production mode on Sealos Cloud.

Strapi Screenshot

About Hosting Strapi

Strapi provides an administration interface for editors and an API layer for websites, mobile apps, and other clients. Its project files, SQLite data, and local media uploads share persistent application storage, so they survive pod restarts.

The template offers two independent storage choices. PostgreSQL 16 is the default production database, while SQLite provides a compact single-instance option. Media can use persistent local storage or a private Sealos Object Storage bucket through Strapi's AWS S3 upload provider.

Common Use Cases

  • Website CMS: Manage structured content for frontend frameworks and static sites
  • Mobile Backend: Publish content through REST APIs
  • Product Catalog: Model products, categories, media, and relationships
  • Editorial Platform: Give content teams a dedicated administration workflow
  • Internal API: Build custom content APIs with role-based access control

Dependencies for Strapi Hosting

The template includes a digest-pinned Node.js 22 runtime, a verified Strapi 5.50.1 package lock, persistent application storage, and optional managed PostgreSQL and Object Storage resources.

Deployment Dependencies

Implementation Details

Architecture Components
  • Strapi Application: Strapi 5.50.1 installed with npm ci, built, and started with a digest-pinned Node.js 22 image
  • Application Storage: A 1Gi persistent volume for project files, SQLite data, and local uploads
  • Dependency Storage: A separate 1Gi persistent volume populated from the verified dependency archive on each cold start
  • PostgreSQL 16: An independent KubeBlocks database when use_postgresql is enabled
  • Sealos Object Storage: A private bucket and managed credentials when enable_s3_storage is enabled
  • Ingress: HTTPS access to the admin interface and content APIs
Configuration Choices
InputDefaultResult
admin_emailUser suppliedCreates the initial administrator before public startup
admin_passwordUser suppliedSets the required initial administrator password
admin_firstnameAdminSets the initial administrator first name
admin_lastnameUserSets the initial administrator last name
use_postgresqltrueUses the managed PostgreSQL 16 database
use_postgresqlfalseUses SQLite at .tmp/data.db on persistent storage
enable_s3_storagefalseStores uploads in public/uploads on persistent storage
enable_s3_storagetrueUses a private Sealos Object Storage bucket through the AWS S3 provider

The template generates Strapi's application keys, JWT secrets, token salts, and ENCRYPTION_KEY during deployment. It creates the initial administrator inside the build init container before the public application becomes Ready. Strapi consumes the KubeBlocks-managed PostgreSQL connection secret directly. A least-privilege Job and CronJob track that secret's revision and restart only the Strapi Pod after credential rotation. Object Storage credentials come from Sealos-managed secrets.

Why Deploy Strapi on Sealos?

Sealos is a Kubernetes-based cloud operating system that manages application resources through a visual Canvas and AI-assisted operations. This Strapi deployment provides:

  • One-Click Deployment: Provision the application and selected managed services from one form
  • Persistent Data: Keep project files, SQLite data, and local uploads across restarts
  • Managed Services: Add PostgreSQL 16 and private Object Storage through explicit options
  • Secure Public Access: Receive an HTTPS endpoint and managed certificate
  • Resource Control: Adjust CPU, memory, and storage from the Canvas
  • Pay-as-You-Go Resources: Allocate the services required by the selected architecture

Deployment Guide

  1. Open the Strapi template and click Deploy Now.
  2. Enter the initial administrator email, password, first name, and last name. The password must contain uppercase, lowercase, number, and special characters.
  3. Keep PostgreSQL enabled for a production database, or clear it for persistent SQLite.
  4. Enable Sealos Object Storage for S3-backed media, or keep local persistent uploads.
  5. Submit the form and wait for deployment to complete. The first verified dependency install and administration build can take several minutes.
  6. Open the application URL at /admin/auth/login and sign in with the administrator credentials from the deployment form.

Login

The template creates the first Strapi administrator before the application Service becomes Ready, which closes the public first-user registration window. Sign in at /admin/auth/login with the admin_email and admin_password values supplied during deployment. Store these credentials in a password manager; later administrators can be managed from the Strapi administration interface.

Configuration

After deployment, use the Strapi administration interface to manage content entries, configure roles, and generate API tokens. Strapi's Content-Type Builder runs in development mode, so production content-model changes should be prepared in project code and deployed through a controlled build. The main endpoints are:

EndpointPurpose
/admin/auth/loginSign in to the administration interface
/adminOpen the administration interface
/apiAccess generated REST endpoints
/_healthCheck application health

Use the Sealos Canvas AI dialog or resource cards for later resource changes. Keep one Strapi replica when using SQLite or local uploads because those modes use a single persistent volume.

Troubleshooting

The Admin Page Is Still Starting

The first deployment verifies the embedded package lock, runs npm ci, creates the initial administrator, packs runtime dependencies, and builds the administration interface. Check the strapi-build and strapi-runtime-deps init-container logs in the Canvas and allow both stages to finish.

PostgreSQL Startup Fails

Confirm the PostgreSQL resource reaches the running state. The idempotent pg-init Job creates the strapi database through the generated connection secret, and the wait-postgresql init container gates application startup until that database is ready.

Media Uploads Fail

For local uploads, confirm the application volume has free capacity. For Object Storage, confirm the bucket resource and its generated bucket secret are ready.

API Requests Return 403

Configure the required permissions under Settings > Users & Permissions plugin > Roles in the Strapi administration interface.

Getting Help

License

This Sealos template is provided under the MIT License. Strapi uses its own licensing terms; see the Strapi license for details.

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