avicenna/plattform/docker-compose.yml

105 lines
3.0 KiB
YAML

version: '3.3'
networks:
data-hub_net:
services:
# Automation
kestra-db:
image: postgres
volumes:
- ./.local/data/postgres:/var/lib/postgresql/data
env_file:
- .env
environment:
POSTGRES_DB: ${KESTRA_POSTGRES_DB}
POSTGRES_USER: ${KESTRA_POSTGRES_USER}
POSTGRES_PASSWORD: ${KESTRA_POSTGRES_PASSWORD}
networks:
data-hub_net:
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${KESTRA_POSTGRES_DB} -U $${KESTRA_POSTGRES_USER}"]
interval: 30s
timeout: 10s
retries: 10
kestra:
image: kestra/kestra:latest-full
pull_policy: always
# Note that this is meant for development only. Refer to the documentation for production deployments of Kestra which runs without a root user.
user: "root"
command: server standalone --worker-thread=128
networks:
data-hub_net:
volumes:
- ./.local/data/kestra:/app/storage
- /var/run/docker.sock:/var/run/docker.sock
- /tmp/kestra-wd:/tmp/kestra-wd
environment:
KESTRA_CONFIGURATION: |
datasources:
postgres:
url: jdbc:postgresql://kestra-db:5432/kestra
driverClassName: org.postgresql.Driver
username: kestra
password: k3str4
kestra:
server:
basic-auth:
enabled: false
username: "admin@kestra.io" # it must be a valid email address
password: kestra
repository:
type: postgres
storage:
type: local
local:
base-path: "/app/storage"
queue:
type: postgres
tasks:
tmp-dir:
path: /tmp/kestra-wd/tmp
url: http://localhost:8080/
ports:
- "8080:8080"
- "8081:8081"
depends_on:
kestra-db:
condition: service_started
avicenna-data:
image: thedevilisdero/avic-data-connector
ports:
- 3000:3000
env_file: .env
environment:
DATABASE_PORT: ${DATABASE_PORT}
DATABASE_HOST: ${DATABASE_HOST}
DATABASE_USERNAME: ${DATABASE_USERNAME}
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
DATABASE_DATABASE: ${DATABASE_DATABASE}
DATABASE_URL: ${DATABASE_URL}
DISPO_LIVE_BASE_URL: ${DISPO_LIVE_BASE_URL}
DISPO_LIVE_USERNAME: ${DISPO_LIVE_USERNAME}
DISPO_LIVE_PASSWORD: ${DISPO_LIVE_PASSWORD}
DYFLEXIS_V0_BASE_URL: ${DYFLEXIS_V0_BASE_URL}
DYFLEXIS_V2_BASE_URL: ${DYFLEXIS_V2_BASE_URL}
DYFLEXIS_V0_API_KEY: ${DYFLEXIS_V0_API_KEY}
DYFLEXIS_V2_API_KEY: ${DYFLEXIS_V2_API_KEY}
networks:
- data-hub_net
avicenna-db:
image: postgres:16.3
env_file: .env
environment:
POSTGRES_HOST: ${DATABASE_HOST}
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
POSTGRES_USER: ${DATABASE_USERNAME}
POSTGRES_DB: ${DATABASE_DATABASE}
PG_DATA: /var/lib/postgresql/data
volumes:
- ./.local/pgdata:/var/lib/postgresql/data
networks:
- data-hub_net