App Store template
Happy Server icon

Happy Server

Self-hosted synchronization backend for end-to-end encrypted Happy clients for Claude Code.

Launch in your Sealos workspace.

Happy Server template preview
Template previewFull screenshot
Template deployments
15 on Sealos
Deployment
Your own instance
Category
AI

About this template

Overview

Happy Server is the self-hosted synchronization backend for open-source, end-to-end encrypted Happy clients for Claude Code. Clients encrypt conversation and session data before it leaves the device; the server stores and relays encrypted payloads, coordinates authentication, and keeps devices in sync through HTTP APIs and WebSocket connections.

From the documentation

This Sealos template deploys Happy Server with managed PostgreSQL, Redis, S3-compatible Object Storage, HTTPS ingress, and an App Launcher shortcut.

How to deploy Happy Server

  1. Choose Deploy now to start Happy Server in your Sealos workspace.
  2. Sign in to Sealos and review the template configuration in your workspace.
  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 Happy Server 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 Happy Server on Sealos

Happy Server screenshot

About Happy Server

Happy Server is the self-hosted synchronization backend for open-source, end-to-end encrypted Happy clients for Claude Code. Clients encrypt conversation and session data before it leaves the device; the server stores and relays encrypted payloads, coordinates authentication, and keeps devices in sync through HTTP APIs and WebSocket connections.

This Sealos template deploys Happy Server with managed PostgreSQL, Redis, S3-compatible Object Storage, HTTPS ingress, and an App Launcher shortcut.

Use Cases

  • Self-host the Happy sync API for teams that want infrastructure control.
  • Keep encrypted Claude Code client data on your own Sealos workspace.
  • Provide real-time multi-device sync through Redis-backed WebSocket sessions.
  • Store encrypted attachments or artifacts in S3-compatible Object Storage.
  • Run a reproducible backend stack without maintaining Kubernetes manifests by hand.

Dependencies

The template creates these resources:

  • Happy Server: Node.js/Fastify application container pinned to a GHCR image digest.
  • PostgreSQL 16.4: Persistent relational database for accounts, sessions, feed events, keys, and metadata.
  • Redis 7.2: Cache and pub/sub backend for real-time coordination.
  • ObjectStorageBucket: Public-read S3-compatible bucket used for file and artifact URLs.
  • Ingress + Service + App: Public HTTPS endpoint and Sealos App Launcher entry.

Implementation Details

  • Runtime image: ghcr.io/yangchuansheng/happy-server pinned by digest.
  • Application port: 3005.
  • Health check: /health, which validates database connectivity.
  • Database bootstrap: an idempotent PostgreSQL init Job creates the happy-server database and required tables before the application becomes ready.
  • Secret handling: database credentials, Redis credentials, and object storage credentials are read from Sealos-managed secrets.
  • Resource baseline: the app container uses 200m CPU and 256Mi memory after deployment testing; 128Mi was rejected because the Node.js process was OOM-killed during startup.

Why Deploy on Sealos

Sealos gives this template managed runtime primitives that fit Happy Server well:

  • One-click deployment from the App Store.
  • Managed PostgreSQL, Redis, object storage, HTTPS ingress, and persistent volumes.
  • Automatic domain, TLS, logs, and resource controls from the Sealos dashboard.
  • A Kubernetes-native manifest that remains portable and auditable.

Deployment Guide

Step 1: Open the template

Open Happy Server on the Sealos App Store, then click Deploy Now.

Step 2: Review generated values

The template generates:

  • app_name: Kubernetes resource name prefix.
  • app_host: public hostname prefix.
  • seed: random server-side secret used by Happy Server.

The generated values are safe defaults for a fresh deployment. Change app_name or app_host only if you need a stable name.

Step 3: Deploy

Click Deploy. Sealos creates the object storage bucket, PostgreSQL cluster, Redis cluster, database initialization Job, application Deployment, Service, Ingress, and App Launcher entry.

Step 4: Verify the service

After deployment completes, open the generated Sealos App URL. You can also verify the health endpoint:

curl https://<your-happy-server-domain>/health

A healthy response looks like:

{"status":"ok","service":"happy-server"}

Configuration

ItemSourcePurpose
DATABASE_URLSealos PostgreSQL secretConnects Happy Server to the happy-server database.
REDIS_URLSealos Redis secret and service DNSEnables Redis-backed real-time coordination.
S3_ACCESS_KEY, S3_SECRET_KEY, S3_BUCKET, S3_HOSTSealos Object Storage secretsEnables artifact and file storage.
PUBLIC_URLGenerated Sealos HTTPS domainPublic base URL for the service.
HANDY_MASTER_SECRETGenerated template seedServer-side secret material.

Scaling

The default template runs one Happy Server replica. Increase replicas only after confirming the Redis-backed real-time workflow and your client traffic pattern. PostgreSQL and Redis are deployed with persistent storage and Sealos-managed service endpoints.

Troubleshooting

  • Health check returns 503: PostgreSQL is not ready or the init Job has not completed. Wait for the PostgreSQL cluster and *-pg-init Job to finish.
  • Application restarts during startup: confirm Redis service DNS resolves and object storage secrets exist. The expected Redis service is *-redis-redis-redis.
  • OOMKilled at startup: keep the app limit at 256Mi or higher. A 128Mi test limit was insufficient for the current Node.js image.
  • File URLs fail: confirm the ObjectStorageBucket exists and uses publicRead, because Happy Server returns public object URLs.
  • Image pull warning: the image is public and pinned by digest. If your workspace requires registry credentials, create the generated image pull secret through Sealos.

Resources

License

Happy Server is released under the MIT License. This Sealos template follows the license of the template repository.

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