diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2865026 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,97 @@ +name: infinimotion + +volumes: + postgres: + redpanda: + +services: + frontend: + image: git.infinimotion.de/infinimotion/frontend:latest + container_name: frontend + depends_on: + - backend + ports: + - "127.0.0.1:7200:7200" + backend: + image: git.infinimotion.de/infinimotion/backend:latest + container_name: backend + depends_on: + - persistence + persistence: + image: git.infinimotion.de/infinimotion/persistence:latest + container_name: persistence + depends_on: + - redpanda + - postgres + postgres: + image: postgres + restart: always + # set shared memory limit when using docker compose + shm_size: 512mb + environment: + POSTGRES_PASSWORD: a552855c0d842e90895121cf614c31f950086cab + volumes: + - postgres:/var/lib/postgresql/data + ports: + - "0.0.0.0:5432:5432" + redpanda: + image: docker.redpanda.com/redpandadata/redpanda:v25.2.9 + container_name: redpanda + entrypoint: /bin/bash + command: > + -c 'echo "$$BOOTSTRAP_YML" > /etc/redpanda/.bootstrap.yaml && + rpk redpanda start + --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:19092 + --advertise-kafka-addr internal://redpanda:9092,external://localhost:19092 + --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:18082 + --advertise-pandaproxy-addr internal://redpanda:8082,external://localhost:18082 + --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:18081 + --rpc-addr redpanda:33145 + --advertise-rpc-addr redpanda:33145 + --mode dev-container + --smp 1 + --default-log-level=info' + environment: + RP_BOOTSTRAP_USER: "im-admin:a552855c0d842e90895121cf614c31f950086cab" + BOOTSTRAP_YML: | + admin_api_require_auth: true + superusers: + - im-admin + enable_sasl: true + auto_create_topics_enabled: true + consumer_group_lag_collection_interval_sec: 10 + enable_host_metrics: true + volumes: + - redpanda:/var/lib/redpanda/data + ports: + #- 18081:18081 + #- 18082:18082 + - "127.0.0.1:19092:19092" + #- 19644:9644 + console: + container_name: redpanda-console + image: docker.redpanda.com/redpandadata/console:v3.2.2 + entrypoint: /bin/sh + command: -c 'echo "$$CONSOLE_CONFIG_FILE" > /tmp/config.yml; /app/console' + environment: + CONFIG_FILEPATH: /tmp/config.yml + CONSOLE_CONFIG_FILE: | + kafka: + brokers: ["redpanda:9092"] + sasl: + enabled: true + username: im-admin + password: a552855c0d842e90895121cf614c31f950086cab + mechanism: SCRAM-SHA-256 + schemaRegistry: + enabled: true + urls: ["http://redpanda:8081"] + redpanda: + adminApi: + enabled: true + urls: ["http://redpanda:9644"] + ports: + - "127.0.0.1:8086:8080" + # nur lokal, weil nicht authentifiziert (enterprise feature...) + depends_on: + - redpanda