---
title: "Monolithic deployment | Grafana Tempo documentation"
description: "Set up a Tempo deployment in monolithic mode"
---

# Monolithic deployment

The `TempoMonolithic` Custom Resource (CR) creates a Tempo deployment in [Monolithic mode](/docs/tempo/latest/set-up-for-tracing/setup-tempo/plan/deployment-modes/#monolithic-mode). In this mode, a single container has all components of the Tempo deployment, including the compactor, distributor, ingester, querier, and query-frontend.

This type of deployment is ideal for small deployments, demo, and test setups, and supports storing traces in memory, in a Persistent Volume and in object storage.

> Note
> 
> The monolithic deployment of Tempo doesn’t scale horizontally. If you require horizontal scaling, use the `TempoStack` CR for a Tempo deployment in [Microservices mode](/docs/tempo/latest/set-up-for-tracing/setup-tempo/plan/deployment-modes/#microservices-mode).

## Quickstart

The following manifest creates a Tempo monolithic deployment with trace ingestion over OTLP/gRPC and OTLP/HTTP, storing traces in a 2 GiB `tmpfs` volume (in-memory storage).

YAML ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```yaml
apiVersion: tempo.grafana.com/v1alpha1
kind: TempoMonolithic
metadata:
  name: sample
spec:
  storage:
    traces:
      backend: memory
      size: 2Gi
```

After the Pod is ready, you can send traces to `tempo-sample:4317` (OTLP/gRPC) and `tempo-sample:4318` (OTLP/HTTP) inside the cluster.

To configure a Grafana data source, use the URL `http://tempo-sample:3200` (available inside the cluster).

## CRD specification

A manifest with all available configuration options is available here: [tempo.grafana.com\_tempomonolithics.yaml](https://github.com/grafana/tempo-operator/blob/main/docs/spec/tempo.grafana.com_tempomonolithics.yaml).

> Note
> 
> This file is auto-generated and does not constitute a valid CR.

It provides an overview of the structure, the available configuration options and help texts.
