App Store template
Twenty icon

Twenty

Open-source CRM alternative to Salesforce. Customizable views, flexible data management, workflow automation. Built with TypeScript, React, NestJS, PostgreSQL.

Launch in your Sealos workspace.

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

About this template

Overview

Twenty is an open-source CRM for managing companies, people, opportunities, tasks, notes, dashboards, and workflows. This template deploys Twenty 2.22.0 with a dedicated server, background worker, PostgreSQL, Redis, automatic HTTPS, and selectable file storage on Sealos.

From the documentation

Twenty combines a customizable CRM interface with workflow automation and extensible data models. Teams can organize customer records, track opportunities, assign tasks, and build operational workflows from one workspace.

How to deploy Twenty

  1. Choose Deploy now to start Twenty in your Sealos workspace.
  2. Review USE_S3_STORAGE 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 Twenty 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 Twenty on Sealos

Twenty is an open-source CRM for managing companies, people, opportunities, tasks, notes, dashboards, and workflows. This template deploys Twenty 2.22.0 with a dedicated server, background worker, PostgreSQL, Redis, automatic HTTPS, and selectable file storage on Sealos.

Twenty application screenshot

About Hosting Twenty

Twenty combines a customizable CRM interface with workflow automation and extensible data models. Teams can organize customer records, track opportunities, assign tasks, and build operational workflows from one workspace.

The Sealos deployment preserves Twenty's official multi-service architecture. The server handles the web UI and APIs, the worker processes background queues, PostgreSQL stores application and workspace data, and Redis manages queues and caching.

Local file storage uses a shared 1 GiB persistent volume mounted by the server and worker on the same node. Enabling S3 provisions a private Sealos Object Storage bucket and removes the local file volume and its scheduling constraint.

Common Use Cases

  • Sales CRM: Track companies, contacts, opportunities, owners, and activities.
  • Customer operations: Manage tasks, notes, timelines, and shared account context.
  • Custom data models: Adapt objects, fields, views, and relationships to internal processes.
  • Workflow automation: Run event-driven and scheduled workflows through the background worker.

Dependencies for Twenty Hosting

The template provisions every required service and generates the application encryption key.

Deployment Dependencies
Implementation Details

Architecture Components:

  • Twenty server 2.22.0: StatefulSet serving the web UI and API on port 3000.
  • Twenty worker 2.22.0: Deployment processing queues, workflows, webhooks, and scheduled jobs.
  • PostgreSQL 16.4: KubeBlocks-managed database with a 1 GiB data volume.
  • Redis 7.2.7: KubeBlocks-managed Redis and sentinel components for queues and caching.
  • File storage: Shared 1 GiB local volume by default, or a private S3-compatible bucket.
  • Ingress: Provides the generated public domain and TLS termination.

The server waits for three successful PostgreSQL queries and an authenticated Redis ping before starting. This protects first-boot migrations from managed-service provisioning races. The worker starts after the server health endpoint is ready.

Deployment Options:

ParameterDefaultDescription
USE_S3_STORAGEfalseStore files in private Sealos Object Storage instead of the shared local volume.

The validated resource limits are 1 CPU and 2 GiB memory for the server, plus 500 millicores and 1 GiB memory for the worker. These limits cover first-run migrations and active queue processing.

License Information:

Twenty is primarily licensed under AGPL-3.0. Files marked with the upstream enterprise license notice use Twenty's commercial terms.

Why Deploy Twenty on Sealos?

  • Complete service bundle: Provision the server, worker, PostgreSQL, Redis, storage, and networking together.
  • Managed databases: Run PostgreSQL and Redis through KubeBlocks with persistent volumes.
  • Selectable file storage: Use a shared local volume for a compact deployment or private S3 storage for object-backed files.
  • Persistent CRM data: Keep workspace records, configuration, and queue state across pod restarts.
  • Managed public access: Receive a generated HTTPS URL with ingress and TLS configuration.

Deployment Guide

  1. Open the Twenty template and click Deploy Now.
  2. Enable S3 storage when you want uploaded files stored in Sealos Object Storage, then confirm the deployment.
  3. Wait for PostgreSQL, Redis, the server, and the worker to become ready. The first deployment can take several minutes while Twenty runs database migrations.
  4. Open the URL shown on the application card.

Register and Sign In

On the first visit, select Continue with email, enter your email address and password, and choose Sign up. Create the first workspace, complete your profile, and finish or skip the optional onboarding steps. The first registered user becomes the workspace owner and administrator.

Later visits use the same Continue with email flow. Enter the registered email address and password to sign in.

Configuration

Configure objects, fields, views, roles, workflows, and integrations from the Twenty workspace settings. The template generates a stable encryption key for protected configuration values.

For infrastructure changes, open the deployment Canvas and use the AI dialog or resource cards. Keep the generated encryption key stable when updating an existing deployment.

Scaling

The default template runs one server and one worker. Local file storage keeps both pods on one node so they can share the ReadWriteOnce volume. S3 storage removes that local-volume constraint and provides a cleaner base for future worker scaling.

Troubleshooting

First startup takes several minutes

Twenty runs database setup, migrations, and workspace upgrade commands before serving traffic. Check the server logs for migration progress and wait for the /healthz endpoint to become ready.

The worker is waiting to start

The worker waits for the server health endpoint. Check PostgreSQL, Redis, and server readiness first.

Getting Help

License

This Sealos template is provided under the repository license. Twenty licensing details are available in the upstream license file.

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