Sign inSign up

helmforge/strapi-base

By helmforge

•Updated about 1 month ago

Production-ready Strapi base image for HelmForge deployments with multi-arch support.

Image
Integration & delivery
Developer tools
Content management system
0

4.6K

helmforge/strapi-base repository overview

⁠helmforge/strapi-base

Production-ready Strapi base image for HelmForge deployments.

This image provides a clean and secure Strapi runtime designed for Docker, Kubernetes, Helm charts, CI/CD pipelines and GitOps-based deployments.

⁠Features

  • Strapi 5 base project
  • Node.js Alpine-based image
  • Multi-architecture support: linux/amd64 and linux/arm64
  • Supports SQLite, PostgreSQL and MySQL
  • Runs as non-root user by default
  • Includes Strapi admin panel
  • Runtime configuration through environment variables
  • S3-compatible upload provider support
  • Health check endpoint available at /_health
  • Signed with Cosign
  • SBOM available
  • Built for HelmForge Strapi chart deployments

⁠Quick usage

docker pull docker.io/helmforge/strapi-base:latest

Run locally:

docker run --rm -p 1337:1337 docker.io/helmforge/strapi-base:latest

Run with required secrets:

docker run --rm -p 1337:1337 -e APP_KEYS="key1,key2,key3,key4" -e API_TOKEN_SALT="change-me" -e ADMIN_JWT_SECRET="change-me" -e JWT_SECRET="change-me" -e TRANSFER_TOKEN_SALT="change-me" docker.io/helmforge/strapi-base:latest

Access:

  • Admin panel: http://localhost:1337/admin
  • API: http://localhost:1337/api
  • Health check: http://localhost:1337/_health

⁠Kubernetes usage

This image is intended to be used with the HelmForge Strapi chart.

helm repo add helmforge https://repo.helmforge.dev

helm install strapi helmforge/strapi

For production deployments, configure external database credentials, persistent storage, object storage and application secrets using Kubernetes Secrets.

⁠Environment variables

Required variables:

  • APP_KEYS
  • API_TOKEN_SALT
  • ADMIN_JWT_SECRET
  • JWT_SECRET
  • TRANSFER_TOKEN_SALT

PostgreSQL example:

  • DATABASE_CLIENT=postgres
  • DATABASE_HOST
  • DATABASE_PORT=5432
  • DATABASE_NAME
  • DATABASE_USERNAME
  • DATABASE_PASSWORD
  • DATABASE_POOL_MIN=0

MySQL example:

  • DATABASE_CLIENT=mysql
  • DATABASE_HOST
  • DATABASE_PORT=3306
  • DATABASE_NAME
  • DATABASE_USERNAME
  • DATABASE_PASSWORD

⁠Health check

curl http://localhost:1337/_health

Example response:

{
  "status": "ok",
  "timestamp": "2026-04-10T02:00:00.000Z",
  "uptime": 123.45,
  "database": "connected",
  "version": "5.x"
}

⁠Tags

  • latest — latest published Strapi base image
  • <version> — pinned HelmForge image version

For production workloads, prefer pinning a specific version instead of using latest.

docker pull docker.io/helmforge/strapi-base:<version>

⁠Security

This image follows a security-first build approach:

  • Non-root runtime user
  • Minimal Alpine-based image
  • No embedded credentials
  • Runtime configuration through environment variables
  • Image signing
  • SBOM generation
  • Vulnerability scanning in CI/CD

⁠Source

https://github.com/helmforgedev/strapi-base⁠

⁠Maintained by HelmForge

Part of the HelmForge ecosystem: lightweight, transparent and production-ready tooling for Kubernetes operations.

Tag summary

Content type

Image

Digest

sha256:70e9143d6…

Size

281.6 MB

Last updated

about 1 month ago

docker pull helmforge/strapi-base