> ## Documentation Index
> Fetch the complete documentation index at: https://docs.speckle.systems/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> These docs contain multiple Speckle product experiences. For Speckle 2026.9, prefer /next/ pages for the topics and changes they cover. The navigation label Current does not override this version-specific precedence.
> Coverage under /next/ is incremental. Use Current documentation for unchanged topics and when a /next/ page says coverage is unavailable or explicitly refers you to Current. Do not infer a feature was removed from a missing page.
> Read the page-specific documentation status, applicability, affected guidance and replacement links in agent-only content. Impacted, changed and superseded apply only to the stated scope; they do not mean the entire feature is deprecated. Historical connector guides apply only to the legacy connector described.
> Match guidance to the customer's deployment version, model data format and connector. Respect plan, permission and compatibility restrictions. If an unknown version or data format changes the answer, ask a focused clarification; do not infer deployment version from the date alone.

# Server Architecture

> The Speckle server is designed as a modular, scalable system that can handle everything from small team deployments to enterprise-scale installations. This page provides a high-level overview of the server architecture and its components.

## Overview

The Speckle server follows a microservices architecture pattern, with each component responsible for specific functionality while communicating through well-defined APIs. This design allows for:

* **Scalability**: Components can be scaled independently
* **Reliability**: Failure in one component doesn't bring down the entire system
* **Maintainability**: Each component can be updated and maintained separately
* **Flexibility**: Components can be deployed on different infrastructure as needed

## Core Services

### API Server

The central component that handles all client requests and business logic.

Responsibilities:

* Authentication & Authorization
* Project Management
* Data Operations
* User Management
* Webhook Management

### Frontend

The web interface for managing Speckle projects and data.

Responsibilities:

* User Interface
* Data Visualization
* User Management
* Project Administration

### Supporting Services

* **Preview Service**: Generates object previews headlessly
* **Webhook Service**: Handles external webhook calls and integrations
* **Conversion runner** (2026.9 and later): Converts uploaded files (IFC, RVT, NWD, DWG, DGN, SKP, 3DM, OBJ, STEP) as one Kubernetes Job per file on a dedicated node pool; the [Enterprise deployment guide](/developers/server/deployment/enterprise-license#file-imports-conversion-runner) covers enabling it. Earlier lines ship an IFC import service that handles IFC only
* **Database monitor**: Generates statistics related to the stored data

## Required Dependencies

### Database (PostgreSQL)

PostgreSQL serves as the primary database for all relational data including user accounts, projects, object metadata, and activity logs.

### Object Storage (S3-compatible)

Object storage handles the actual 3D data and file assets. We require an S3-compatible blob storage, such as AWS S3 or MinIO.

### Cache Layer (Redis-compatible)

The cache layer provides caching and session management capabilities, serving as the Redis-compatible open-source alternative.

Cached Data:

* User Sessions
* Rate Limiting
* Messages between supporting services and the API server

### Email server (SMTP-compatible)

This handles all transactional emails to users, including account email verification. We recommend using an externally provided email service which is SMTP compatible.

<Note>
  **For detailed implementation information**: Check the [GitHub
  repository](https://github.com/specklesystems/speckle-server) for the latest architectural
  decisions, configuration details, and technical specifications.
</Note>
