App Store template
Pangolin icon

Pangolin

Deploy Pangolin's identity-aware access control plane on Sealos with persistent configuration. Connect an external Gerbil node for tunnel and egress services.

Launch in your Sealos workspace.

Pangolin template preview
Template previewFull screenshot
Template deployments
12 on Sealos
Deployment
Your own instance
Category
Tools

About this template

Overview

Deploy Pangolin's identity-aware access control plane on Sealos with persistent configuration. Connect an external Gerbil node for tunnel and egress services.

From the documentation

Pangolin acts as a control server for identity, policy, and resource access. In this Sealos template, Pangolin runs as a Kubernetes Deployment behind Sealos ingress, with a persistent volume mounted at /app/config to preserve runtime configuration.

How to deploy Pangolin

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

Pangolin is an open-source, identity-aware remote access platform built on WireGuard. This template deploys the Pangolin control plane on Sealos Cloud with persistent configuration storage and HTTPS ingress, while keeping an integration entrypoint for an external Gerbil node.

About Hosting Pangolin

Pangolin acts as a control server for identity, policy, and resource access. In this Sealos template, Pangolin runs as a Kubernetes Deployment behind Sealos ingress, with a persistent volume mounted at /app/config to preserve runtime configuration.

This template intentionally removes built-in Traefik and built-in Gerbil from the official Docker topology. Traffic is terminated by Sealos ingress, and tunnel/egress work is expected to be handled by an external Gerbil deployment that connects back to Pangolin.

Common Use Cases

  • Self-hosted Zero-Trust Access: Protect internal web apps and services with identity-aware access control.
  • Team Access Gateway: Manage user and role-based access for engineering, ops, and support teams.
  • Homelab or SMB Remote Access: Expose selected internal resources safely without opening broad network access.
  • WireGuard-based Private Connectivity: Pair Pangolin with external Gerbil for secure network paths and policy enforcement.

Dependencies for Pangolin Hosting

The Sealos template includes all required runtime dependencies for Pangolin control plane hosting: application workload, persistent storage, service discovery, ingress routing, and Sealos App integration.

Deployment Dependencies
Implementation Details

Architecture Components:

This template deploys the following resources:

  • Pangolin Deployment: docker.io/fosrl/pangolin:1.15.2 with ports 3000/3001/3002/3003.
  • ConfigMap + PVC: Runtime config is mounted from ConfigMap and persisted under /app/config.
  • Service: Internal service exposing Pangolin ports for ingress and cluster access.
  • Ingress:
    Path / -> Pangolin frontend (3002)
    Path /api/v1 -> Pangolin API (3000)
  • App CR: Sealos application entry card with public URL.

Configuration:

  • gerbil_base_endpoint is the public endpoint that external Gerbil advertises to Pangolin.
  • server_secret is generated by default and injected into Pangolin config.
  • Built-in Traefik is removed; Sealos ingress provides external HTTP(S) entry.
  • Built-in Gerbil is removed due to Sealos user workload privilege constraints (NET_ADMIN / SYS_MODULE).

Initial Admin Bootstrap (Important):

After the app starts, Pangolin prints a one-time setup token in container logs. You must use this token to create the first admin account.

  1. Open your deployment in Canvas.
  2. Click the Pangolin Deployment resource card and open Logs.
  3. Find the latest line starting with Token: and copy that setup token.
  4. Open https://<app_host>.<SEALOS_CLOUD_DOMAIN>/auth/initial-setup.
  5. Enter email, password, and the setup token from logs.
  6. Sign in at https://<app_host>.<SEALOS_CLOUD_DOMAIN>/auth/login.

Without this setup token step, admin account creation will fail.

Why Deploy Pangolin on Sealos?

Sealos is an AI-assisted Cloud Operating System built on Kubernetes that unifies application deployment and operations. By deploying Pangolin on Sealos, you get:

  • One-Click Deployment: Deploy Pangolin without manually stitching Docker and ingress resources.
  • Kubernetes Reliability: Use production-grade orchestration and service networking out of the box.
  • Easy Customization: Update environment and resource settings from Canvas dialogs and resource cards.
  • Persistent Storage Included: Keep Pangolin config across restarts with built-in PVC support.
  • Instant Public Access: Automatic HTTPS domain exposure through Sealos ingress.
  • Built-in Ops Workflow: Use Canvas and AI dialog for iterative post-deployment changes.

Deployment Guide

  1. Open the Pangolin template and click Deploy Now.
  2. Configure deployment parameters:
    • gerbil_base_endpoint (required)
    • Optional defaults such as app_name, app_host, and server_secret
  3. Wait for deployment to finish (typically 2-3 minutes). After deployment, Sealos redirects you to Canvas.
  4. Open the generated app URL and complete the Initial Admin Bootstrap with the setup token from the Canvas logs view.
  5. After initial setup, log in and continue configuration from the Pangolin dashboard.

Configuration

ParameterDescriptionDefault
app_nameResource name prefixpangolin-<random>
app_hostPublic hostname prefixpangolin-<random>
server_secretPangolin server secretRandom 32-character string
gerbil_base_endpointPublic endpoint advertised by external Gerbilpangolin.example.com

Post-deployment updates can be applied through:

  • AI Dialog in Canvas for intent-driven changes.
  • Resource Cards for direct edits to Deployment, Service, Ingress, and ConfigMap.

Scaling

To scale Pangolin resources:

  1. Open your deployment Canvas.
  2. Select the Pangolin Deployment resource card.
  3. Adjust CPU/memory or replica settings.
  4. Apply changes and monitor rollout status.

Troubleshooting

Common Issues

Issue: Cannot create first admin account

  • Cause: Setup token was not provided or is invalid.
  • Solution: Open the Pangolin Deployment resource card in Canvas, read the latest Token: from logs, and complete /auth/initial-setup.

Issue: API returns 403 for write operations

  • Cause: Missing CSRF header for API writes.
  • Solution: Include header x-csrf-token: x-csrf-protection for non-GET API calls.

Issue: External Gerbil cannot register or sync

  • Cause: Incorrect remote config endpoint or base endpoint mismatch.
  • Solution: Use --remoteConfig=https://<app_host>.<SEALOS_CLOUD_DOMAIN>/api/v1/ on Gerbil and set gerbil_base_endpoint to Gerbil's public endpoint.
Getting Help

Additional Resources

License

This Sealos template is provided under the templates repository license. Pangolin itself is licensed under AGPL-3.0.

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