Files
deployment/docker-compose.yml
2025-10-22 21:02:43 +02:00

98 lines
2.9 KiB
YAML

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