services:
  spiffworkflow-backend:
    build:
      context: spiffworkflow-backend
      dockerfile: dev.Dockerfile
    user: "${RUN_AS}"
    environment:
      FLASK_DEBUG: "1"
      POETRY_VIRTUALENVS_IN_PROJECT: "true"
      SPIFFWORKFLOW_BACKEND_DATABASE_URI: ""
      SPIFFWORKFLOW_BACKEND_LOG_LEVEL: "INFO"
      SPIFFWORKFLOW_BACKEND_ENV: "${SPIFFWORKFLOW_BACKEND_ENV:-local_development}"
      SPIFFWORKFLOW_BACKEND_LOAD_FIXTURE_DATA: ""
      SPIFFWORKFLOW_BACKEND_EVENT_STREAM_HOST: "${SPIFFWORKFLOW_BACKEND_EVENT_STREAM_HOST:-spiff-arena-event-stream-1}"
      SPIFFWORKFLOW_BACKEND_EVENT_STREAM_PORT: "${SPIFFWORKFLOW_BACKEND_EVENT_STREAM_PORT:-8008}"
      XDG_CACHE_HOME: "/app/.cache"
    env_file:
      - path: .env
        required: false
    volumes:
      - ./spiffworkflow-backend:/app
  event-stream:
    build:
      context: event-stream
      dockerfile: elasticsearch.Dockerfile
    user: "${RUN_AS}"
    environment:
      SPIFFWORKFLOW_EVENT_STREAM_HOST: "${SPIFFWORKFLOW_EVENT_STREAM_HOST:-0.0.0.0}"
      SPIFFWORKFLOW_EVENT_STREAM_PORT: "${SPIFFWORKFLOW_EVENT_STREAM_PORT:-8008}"
      SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_HOST: "${SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_HOST:-elasticsearch}"
      SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_PORT: "${SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_PORT:-9200}"
      SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_USE_HTTPS: "${SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_USE_HTTPS:-false}"
      SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_USERNAME: "${SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_USERNAME:-elastic}"
      SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_PASSWORD: "${SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_PASSWORD:-elastic}"
      SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_INDEX: "${SPIFFWORKFLOW_EVENT_STREAM_ELASTICSEARCH_INDEX:-spiffworkflow_event_stream}"
      XDG_CACHE_HOME: "/app/.cache"
    env_file:
      - path: .env
        required: false
    ports:
      - "${SPIFFWORKFLOW_EVENT_STREAM_PORT:-8008}:${SPIFFWORKFLOW_EVENT_STREAM_PORT:-8008}/tcp"
    volumes:
      - ./event-stream:/app