Overview
Discover what makes Squidex powerful
Squidex is a fully‑open source headless CMS built on ASP.NET Core with a CQRS architecture. It exposes a rich, versioned content model through RESTful endpoints that adhere to OData conventions and are auto‑documented with Swagger/OpenAPI. The core of Squidex is a **content hub**: developers can define schemas, create entries, and manage assets via a web UI or programmatically. Every change is immutable—each patch generates a new version, allowing full audit trails and roll‑back capabilities. The platform is designed to be agnostic of the front‑end; any client—React, Vue, native mobile, or another server—can consume the data through the API or GraphQL endpoint.
Runtime
Command & Query Separation
Event Sourcing
Persistence
Overview
Squidex is a fully‑open source headless CMS built on ASP.NET Core with a CQRS architecture. It exposes a rich, versioned content model through RESTful endpoints that adhere to OData conventions and are auto‑documented with Swagger/OpenAPI. The core of Squidex is a content hub: developers can define schemas, create entries, and manage assets via a web UI or programmatically. Every change is immutable—each patch generates a new version, allowing full audit trails and roll‑back capabilities. The platform is designed to be agnostic of the front‑end; any client—React, Vue, native mobile, or another server—can consume the data through the API or GraphQL endpoint.
Architecture
- Runtime: ASP.NET Core 8, leveraging dependency injection and middleware pipelines for cross‑cutting concerns such as authentication (OpenID Connect), logging, and caching.
- Command & Query Separation: CQRS pattern splits write operations (commands) from read queries, enabling independent scaling of the query side with a dedicated cache layer.
- Event Sourcing: Every mutation emits domain events that can be consumed by external services via webhooks or a built‑in event bus.
- Persistence: Supports MongoDB, PostgreSQL, MySQL, and SQL Server as the underlying data store. The choice is abstracted through a repository layer; schema migrations are handled by EF Core or MongoDB migration scripts.
- Asset Storage: Binary files are stored in the same database or an external blob store (Azure Blob, S3) via a pluggable storage provider.
- Containerization: A single Docker image exposes two services—
apiandadmin. Kubernetes manifests are provided, allowing deployment as a StatefulSet with persistent volumes.
Core Capabilities
- Schema Builder: Define content types with rich field definitions (text, number, reference, file) and enforce validation rules.
- Versioning & Audit: Every content change is stored as a new version; the audit log records user, timestamp, and diff.
- Workflow Engine: Declarative workflows that trigger on events (publish, review) and enforce role‑based permissions.
- API Surface: REST endpoints with OData filtering, sorting, and paging; GraphQL endpoint supports exact field selection and real‑time subscriptions via WebSocket.
- Event Hooks: HTTP webhooks, Azure Functions, or custom event handlers can react to content changes.
- Localization: Multi‑language support at the field level, with culture fallbacks and translation workflows.
Deployment & Infrastructure
Squidex is designed for self‑hosting on any modern platform: Windows, Linux, Azure, AWS, GCP, Docker Compose, Kubernetes, or even Heroku. The lightweight runtime requires only the .NET 8 SDK (or runtime) and a supported database. For production, a typical stack includes:
- API & Admin – Docker containers behind an NGINX reverse proxy or Azure App Service.
- Database – PostgreSQL (recommended for relational features) with WAL archiving and PITR.
- Blob Storage – Azure Blob or S3 for media files, configured via environment variables.
- Cache – Redis or in‑memory caching for query results; optional ElasticSearch for full‑text search.
Horizontal scaling is achieved by running multiple API instances behind a load balancer; the CQRS pattern ensures that read replicas can be added without affecting write consistency.
Integration & Extensibility
- SDKs: NuGet packages for C#, JavaScript (Axios wrapper), and TypeScript allow developers to embed Squidex operations directly in their codebases.
- Plugins: The core is extensible through dependency injection; custom handlers for authentication, storage, or search can be plugged in.
- Webhooks & Events: Every action emits an event; developers can subscribe via HTTP callbacks or message queues (Kafka, RabbitMQ).
- GraphQL Subscriptions: Real‑time updates to clients are supported out of the box, enabling live dashboards or CMS‑powered UIs.
- CI/CD Hooks: The API can be invoked from pipelines to seed data, run migrations, or trigger deployments.
Developer Experience
Squidex offers comprehensive documentation (docs.squidex.io) that covers architecture, API usage, and deployment guides. The community is active on Discourse and GitHub Discussions, with a clear issue triage process. Configuration is largely environment‑variable driven, making it straightforward to integrate into existing DevOps workflows. The open source MIT license removes licensing friction, and the modular design encourages reuse of components in other projects.
Use Cases
- Content‑Rich Applications: Websites, mobile apps, or IoT dashboards that require structured content with version history.
- Enterprise Publishing: Multi‑team workflows, audit trails, and role‑based permissions make it suitable for regulated industries.
- Headless Microservices: A single source of truth for content that feeds multiple downstream services via REST or GraphQL.
- Rapid Prototyping: The built‑in admin UI and schema builder let developers iterate on data models without writing code.
Advantages
- Performance & Scalability: CQRS and event sourcing allow independent scaling of reads/writes; built‑in caching reduces latency.
- Flexibility: Choice of database, storage provider, and
Open SourceReady to get started?
Join the community and start self-hosting Squidex today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Paaster
Secure, private pastebin with end‑to‑end encryption
SWAG (Secure Web Application Gateway)
Secure, self‑hosted web gateway with automatic SSL and reverse proxy
Linkwarden
Collaborative, self‑hosted bookmark manager with preservation
Opik
Open-source LLM evaluation platform for tracing, metrics, and guardrails

WiKiss
Simple, PHP‑based wiki with quick setup and powerful plugins
Maloja
Track your music listening history, no frills
