> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Solo en modo local

> Implementación de ClickStack solo en modo local: la pila de observabilidad de ClickHouse

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

Al igual que la [imagen todo en uno](/es/clickstack/deployment/docker-compose), esta imagen de Docker completa agrupa todos los componentes de ClickStack:

* **ClickHouse**
* **HyperDX**
* **colector de OpenTelemetry (OTel)** (expone OTLP en los puertos `4317` y `4318`)
* **MongoDB** (para el estado persistente de la aplicación)

**Sin embargo, la autenticación de usuarios está deshabilitada para esta distribución de HyperDX**

<div id="suitable-for">
  ### Adecuado para
</div>

* Demos
* Depuración
* Desarrollo con HyperDX

<div id="deployment-steps">
  ## Pasos de implementación
</div>

<br />

<Steps>
  <Step>
    ### Implementar con Docker

    El modo local implementa la UI de HyperDX en el puerto 8080.

    ```shell theme={null}
    docker run -p 8080:8080 clickhouse/clickstack-local:latest
    ```
  </Step>

  <Step>
    ### Acceder a la UI de HyperDX

    Visita [http://localhost:8080](http://localhost:8080) para acceder a la UI de HyperDX.

    **No se solicitará crear un usuario, ya que la autenticación no está habilitada en este modo de implementación.**

    Conéctate a tu propio clúster externo de ClickHouse, por ejemplo, ClickHouse Cloud.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-2.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=90882c718a44526d13c819ab7218a9d0" alt="Crear acceso" size="md" width="1966" height="1392" data-path="images/use-cases/observability/hyperdx-2.png" />

    Crea una fuente, conserva todos los valores predeterminados y completa el campo `Table` con el valor `otel_logs`. El resto de la configuración debería detectarse automáticamente, lo que te permitirá hacer clic en `Save New Source`.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8c05c8a2/RhEK5rhPj_7m6pWY/images/use-cases/observability/hyperdx-logs.png?fit=max&auto=format&n=RhEK5rhPj_7m6pWY&q=85&s=cdb0c680a92e975a92664b4abd323123" alt="Crear fuente de logs" size="md" width="1944" height="1572" data-path="images/use-cases/observability/hyperdx-logs.png" />
  </Step>
</Steps>

<div id="schema-choice-map-vs-json">
  ## Elección del esquema: Map vs JSON
</div>

ClickStack almacena los atributos como columnas `Map(LowCardinality(String), String)` de forma predeterminada. Este es el esquema recomendado para las cargas de trabajo de observabilidad. En combinación con la [serialización de mapas por buckets](/es/reference/data-types/map#bucketed-map-serialization) y los índices de texto sobre las claves y los valores del mapa, ofrece lookups selectivos sin la sobrecarga de ingesta por clave de las subcolumnas JSON dinámicas.

También hay disponible, en fase beta, un esquema de tipo `JSON` para evaluarlo en cargas de trabajo con un conjunto pequeño y estable de claves de atributos. **No se recomienda** como opción predeterminada. Consulta [Map vs tipo JSON](/es/clickstack/ingesting-data/schema/map-vs-json) para ver la comparación completa y las variables de entorno necesarias para habilitar la compatibilidad con JSON.
