Loki — Setup & Configuration

loki grafana docker

Loki — Setup

Grafana Loki — lightweight log aggregation. Label-based indexing, not full-text.

Architecture

Docker containers --> stdout --> Promtail (agent) --> Loki (storage) --> Grafana (UI)

Key Config (single-node)

target: all                    # run all components in one process
pattern_ingester:
  enabled: false               # disable auto-pattern (gRPC self-connection bug)
common:
  ring:
    instance_addr: 127.0.0.1
    kvstore:
      store: inmemory          # no Consul/etcd needed
  replication_factor: 1

Pitfalls

  • RAM: needs ~150 MB free at startup. Will hang on "Ingester not ready" if OOM
  • target: all: mandatory for single-node, runs ingester+distributor+querier in one process
  • pattern_ingester: Loki 3.4 enables it by default, causes gRPC errors in single-node
  • Grafana dashboard path: use /etc/grafana/dashboards/, NOT /var/lib/grafana/dashboards/ (volume overwrites)
  • CI/CD: use COPY in Dockerfile, not bind-mounts (CI runner paths don't exist on host)

Updated: 2026-03-15 19:51:17