2018-07-13 16:28:45 +02:00
|
|
|
version: '3.4'
|
2019-11-12 00:18:59 +01:00
|
|
|
x-restart-policy: &restart_policy
|
2018-07-13 16:28:45 +02:00
|
|
|
restart: unless-stopped
|
2019-11-12 00:18:59 +01:00
|
|
|
x-sentry-defaults: &sentry_defaults
|
|
|
|
<< : *restart_policy
|
2019-07-08 17:56:51 +02:00
|
|
|
build:
|
2019-11-12 00:18:59 +01:00
|
|
|
context: ./sentry
|
|
|
|
args:
|
|
|
|
- SENTRY_IMAGE
|
|
|
|
image: sentry-onpremise-local
|
2018-07-13 16:28:45 +02:00
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- postgres
|
|
|
|
- memcached
|
|
|
|
- smtp
|
2019-11-12 00:18:59 +01:00
|
|
|
- snuba-api
|
|
|
|
- snuba-consumer
|
|
|
|
- snuba-replacer
|
|
|
|
- symbolicator
|
|
|
|
- kafka
|
2018-07-13 16:28:45 +02:00
|
|
|
environment:
|
2019-11-12 00:18:59 +01:00
|
|
|
SNUBA: 'http://snuba-api:1218'
|
2018-07-13 16:28:45 +02:00
|
|
|
volumes:
|
2019-11-12 00:18:59 +01:00
|
|
|
- 'sentry-data:/var/lib/sentry/files'
|
|
|
|
x-snuba-defaults: &snuba_defaults
|
|
|
|
<< : *restart_policy
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
- clickhouse
|
|
|
|
- kafka
|
|
|
|
image: 'getsentry/snuba:latest'
|
|
|
|
environment:
|
|
|
|
SNUBA_SETTINGS: docker
|
|
|
|
CLICKHOUSE_HOST: clickhouse
|
2019-12-03 22:53:38 +01:00
|
|
|
DEFAULT_BROKERS: 'kafka:9092'
|
2019-11-12 00:18:59 +01:00
|
|
|
REDIS_HOST: redis
|
|
|
|
# TODO: Remove these after getsentry/snuba#353
|
|
|
|
UWSGI_MAX_REQUESTS: '10000'
|
|
|
|
UWSGI_DISABLE_LOGGING: 'true'
|
|
|
|
UWSGI_ENABLE_THREADS: 'true'
|
|
|
|
UWSGI_DIE_ON_TERM: 'true'
|
|
|
|
UWSGI_NEED_APP: 'true'
|
|
|
|
UWSGI_IGNORE_SIGPIPE: 'true'
|
|
|
|
UWSGI_IGNORE_WRITE_ERRORS: 'true'
|
|
|
|
UWSGI_DISABLE_WRITE_EXCEPTION: 'true'
|
2018-07-13 16:28:45 +02:00
|
|
|
services:
|
2016-06-24 21:18:58 +02:00
|
|
|
smtp:
|
2019-11-12 00:18:59 +01:00
|
|
|
<< : *restart_policy
|
2016-06-24 21:18:58 +02:00
|
|
|
image: tianon/exim4
|
2016-05-28 00:52:58 +02:00
|
|
|
memcached:
|
2019-11-12 00:18:59 +01:00
|
|
|
<< : *restart_policy
|
|
|
|
image: 'memcached:1.5-alpine'
|
2016-05-28 00:52:58 +02:00
|
|
|
redis:
|
2019-11-12 00:18:59 +01:00
|
|
|
<< : *restart_policy
|
|
|
|
image: 'redis:5.0-alpine'
|
|
|
|
volumes:
|
|
|
|
- 'sentry-redis:/data'
|
2016-05-28 00:52:58 +02:00
|
|
|
postgres:
|
2019-11-12 00:18:59 +01:00
|
|
|
<< : *restart_policy
|
|
|
|
image: 'postgres:9.6'
|
|
|
|
volumes:
|
|
|
|
- 'sentry-postgres:/var/lib/postgresql/data'
|
|
|
|
zookeeper:
|
|
|
|
<< : *restart_policy
|
|
|
|
image: 'confluentinc/cp-zookeeper:5.1.2'
|
|
|
|
environment:
|
|
|
|
ZOOKEEPER_CLIENT_PORT: '2181'
|
|
|
|
ZOOKEEPER_LOG4J_ROOT_LOGLEVEL: 'ERROR'
|
|
|
|
ZOOKEEPER_TOOLS_LOG4J_LOGLEVEL: 'ERROR'
|
|
|
|
volumes:
|
|
|
|
- 'sentry-zookeeper:/var/lib/zookeeper'
|
|
|
|
kafka:
|
|
|
|
<< : *restart_policy
|
|
|
|
depends_on:
|
|
|
|
- zookeeper
|
|
|
|
image: 'confluentinc/cp-kafka:5.1.2'
|
|
|
|
environment:
|
|
|
|
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
|
2019-12-03 22:53:38 +01:00
|
|
|
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka:9092'
|
2019-11-12 00:18:59 +01:00
|
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: '1'
|
|
|
|
KAFKA_LOG4J_LOGGERS: 'kafka.cluster=WARN,kafka.controller=WARN,kafka.coordinator=WARN,kafka.log=WARN,kafka.server=WARN,kafka.zookeeper=WARN,state.change.logger=WARN'
|
|
|
|
KAFKA_LOG4J_ROOT_LOGLEVEL: 'ERROR'
|
|
|
|
KAFKA_TOOLS_LOG4J_LOGLEVEL: 'ERROR'
|
|
|
|
volumes:
|
|
|
|
- 'sentry-kafka:/var/lib/kafka'
|
|
|
|
clickhouse:
|
|
|
|
<< : *restart_policy
|
|
|
|
image: 'yandex/clickhouse-server:19.4'
|
|
|
|
ulimits:
|
|
|
|
nofile:
|
|
|
|
soft: 262144
|
|
|
|
hard: 262144
|
|
|
|
volumes:
|
|
|
|
- 'sentry-clickhouse:/var/lib/clickhouse'
|
|
|
|
snuba-api:
|
|
|
|
<< : *snuba_defaults
|
|
|
|
snuba-consumer:
|
|
|
|
<< : *snuba_defaults
|
|
|
|
command: consumer --auto-offset-reset=latest --max-batch-time-ms 750
|
|
|
|
snuba-replacer:
|
|
|
|
<< : *snuba_defaults
|
|
|
|
command: replacer --auto-offset-reset=latest --max-batch-size 3
|
|
|
|
snuba-cleanup:
|
|
|
|
<< : *snuba_defaults
|
|
|
|
image: snuba-cleanup-onpremise-local
|
|
|
|
build:
|
|
|
|
context: ./cron
|
|
|
|
args:
|
|
|
|
BASE_IMAGE: 'getsentry/snuba:latest'
|
|
|
|
command: '"*/5 * * * * gosu snuba snuba cleanup --dry-run False"'
|
|
|
|
symbolicator:
|
|
|
|
<< : *restart_policy
|
2019-11-26 00:33:04 +01:00
|
|
|
image: 'getsentry/symbolicator:latest'
|
2016-08-03 18:21:59 +02:00
|
|
|
volumes:
|
2019-11-12 00:18:59 +01:00
|
|
|
- 'sentry-symbolicator:/data'
|
|
|
|
command: run
|
|
|
|
symbolicator-cleanup:
|
|
|
|
image: symbolicator-cleanup-onpremise-local
|
|
|
|
build:
|
|
|
|
context: ./cron
|
|
|
|
args:
|
2019-11-26 00:33:04 +01:00
|
|
|
BASE_IMAGE: 'getsentry/symbolicator:latest'
|
2019-11-12 00:18:59 +01:00
|
|
|
command: '"55 23 * * * gosu symbolicator symbolicator cleanup"'
|
2016-05-28 00:52:58 +02:00
|
|
|
web:
|
2019-11-12 00:18:59 +01:00
|
|
|
<< : *sentry_defaults
|
2016-05-28 00:52:58 +02:00
|
|
|
ports:
|
2019-11-12 00:18:59 +01:00
|
|
|
- '9000:9000/tcp'
|
2016-05-28 00:52:58 +02:00
|
|
|
cron:
|
2019-11-12 00:18:59 +01:00
|
|
|
<< : *sentry_defaults
|
2016-06-24 21:18:58 +02:00
|
|
|
command: run cron
|
2016-05-28 00:52:58 +02:00
|
|
|
worker:
|
2019-11-12 00:18:59 +01:00
|
|
|
<< : *sentry_defaults
|
2016-06-24 21:18:58 +02:00
|
|
|
command: run worker
|
2019-11-12 00:18:59 +01:00
|
|
|
sentry-cleanup:
|
|
|
|
<< : *sentry_defaults
|
|
|
|
image: sentry-cleanup-onpremise-local
|
|
|
|
build:
|
|
|
|
context: ./cron
|
|
|
|
args:
|
|
|
|
BASE_IMAGE: 'sentry-onpremise-local'
|
|
|
|
command: '"0 0 * * * gosu sentry sentry cleanup --days $SENTRY_EVENT_RETENTION_DAYS"'
|
2018-07-13 16:28:45 +02:00
|
|
|
volumes:
|
2019-11-12 00:18:59 +01:00
|
|
|
sentry-data:
|
|
|
|
external: true
|
|
|
|
sentry-postgres:
|
|
|
|
external: true
|
|
|
|
sentry-redis:
|
|
|
|
external: true
|
|
|
|
sentry-zookeeper:
|
|
|
|
external: true
|
|
|
|
sentry-kafka:
|
|
|
|
external: true
|
|
|
|
sentry-clickhouse:
|
|
|
|
external: true
|
|
|
|
sentry-symbolicator:
|
|
|
|
external: true
|