SentrySentry
Deploy

Deploy com Docker

Docker Compose e variáveis de ambiente

Deploy com Docker

O Sentry é distribuído com um Dockerfile e docker-compose.yml que sobem o binário + Postgres em um único comando.

Docker Compose (recomendado para produção)

docker build -t sentry .
docker compose -f deploy/docker/docker-compose.yml up -d

O compose sobe dois serviços:

  • sentry — o binário do Sentry (lê logs do nginx, roda o pipeline, despacha actions).
  • postgres — banco Postgres para events, incidents, rules, routes, ip_state.

Variáveis de ambiente

Segredos vão em env vars, nunca no config commitado:

export SENTRY_CF_TOKEN=xxx        # Cloudflare API token (opcional)
export SENTRY_CF_ZONE=yyy         # Cloudflare zone ID (opcional)
export SENTRY_LLM_KEY=zzz         # OpenRouter key (opcional)
export SENTRY_STORAGE__POSTGRES__URL=postgres://sentry:secret@db/sentry

O overlay de env (SENTRY_<SECTION>__<KEY>) sobrescreve qualquer campo do TOML.

Volumes

  • /var/lib/sentry — data dir (modelos ONNX, MMDB, cache local).
  • /var/log/nginx — access.log tailado pela source nginx.
  • Postgres data — volume gerenciado pelo compose.

Config

Monte seu sentry.toml no container (ex: em /etc/sentry/sentry.toml) ou use só env vars. Exemplo de docker-compose.yml override:

services:
  sentry:
    image: sentry:latest
    environment:
      SENTRY_STORAGE__POSTGRES__URL: postgres://sentry:secret@db/sentry
      SENTRY_CF_TOKEN: ${SENTRY_CF_TOKEN}
    volumes:
      - ./sentry.toml:/etc/sentry/sentry.toml:ro
      - /var/log/nginx:/var/log/nginx:ro
      - sentry-data:/var/lib/sentry
    depends_on:
      - postgres

  postgres:
    image: postgres:16
    environment:
      POSTGRES_USER: sentry
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: sentry
    volumes:
      - pg-data:/var/lib/postgresql/data

volumes:
  sentry-data:
  pg-data:

Logs

O Sentry usa tracing para structured logging. Veja os logs do container:

docker compose -f deploy/docker/docker-compose.yml logs -f sentry

On this page