152 lines
4.3 KiB
YAML
152 lines
4.3 KiB
YAML
services:
|
|
#######################
|
|
# PostgreSQL
|
|
#######################
|
|
db:
|
|
image: postgres:9.6.1
|
|
environment:
|
|
POSTGRES_PASSWORD: adminadmin
|
|
POSTGRES_DB: office
|
|
volumes:
|
|
- dbdata-hai:/var/lib/postgresql/data
|
|
|
|
#######################
|
|
# Dynamixs AI
|
|
#######################
|
|
app:
|
|
image: imixs/dynamixs-ai
|
|
depends_on:
|
|
- db
|
|
environment:
|
|
JAVA_OPTS: "-Dnashorn.args=--no-deprecation-warning"
|
|
POSTGRES_USER: "postgres"
|
|
POSTGRES_PASSWORD: "adminadmin"
|
|
POSTGRES_CONNECTION: "jdbc:postgresql://db/office"
|
|
TZ: "Europe/Berlin"
|
|
LANG: "en_US.UTF-8"
|
|
MAILGATEWAY: "localhost"
|
|
ASYNCEVENT_PROCESSOR_ENABLED: "true"
|
|
ASYNCEVENT_PROCESSOR_INITIALDELAY: "30000"
|
|
# Metrics
|
|
METRICS_ENABLED: "true"
|
|
# OCR
|
|
OCR_SERVICE_ENDPOINT: "http://tika:9998/tika"
|
|
OCR_SERVICE_MODE: "MODEL"
|
|
#OCR_STRATEGY: "NO_OCR, OCR_ONLY, OCR_AND_TEXT_EXTRACTION, AUTO (default)"
|
|
OCR_STRATEGY: "AUTO"
|
|
# Collabora integration
|
|
WOPI_PUBLIC_ENDPOINT: "http://localhost:9980"
|
|
WOPI_DISCOVERY_ENDPOINT: "http://collabora:9980/hosting/discovery"
|
|
WOPI_HOST_ENDPOINT: "http://imixs-documents:8080/api/wopi/"
|
|
COLLABORA_CONVERTER_URL: "http://collabora:9980/lool/convert-to/"
|
|
|
|
# Imixs-AI
|
|
# Optional configured via imixs.properties
|
|
LLM_SERVICE_ENDPOINT: "https://llama.cpp.imixs.com/"
|
|
LLM_SERVICE_ENDPOINT_USER: "admin"
|
|
LLM_SERVICE_ENDPOINT_PASSWORD: "imixs4.null"
|
|
|
|
# Cassandra Embeddings
|
|
EMBEDDINGS_CLUSTER_CONTACTPOINTS: "cassandra"
|
|
EMBEDDINGS_CLUSTER_KEYSPACE: "embeddings"
|
|
|
|
ports:
|
|
- "8080:8080"
|
|
- "9990:9990"
|
|
- "8787:8787"
|
|
volumes:
|
|
- ./deployments:/opt/jboss/wildfly/standalone/deployments/
|
|
- ./import_examples:/opt/jboss/import_examples/
|
|
|
|
# Mapping the host ip to the container
|
|
# This setting is used for local testing only
|
|
# Wildfly can access the keycloak server via the external host address
|
|
extra_hosts:
|
|
- "keycloak.imixs.local:host-gateway"
|
|
|
|
#######################
|
|
# Tika OCR Service
|
|
#######################
|
|
tika:
|
|
#image: imixs/tika
|
|
#image: apache/tika:1.24.1-full
|
|
image: apache/tika:3.2.0.0-full
|
|
environment:
|
|
TZ: "Europe/Berlin"
|
|
ports:
|
|
- "9998:9998"
|
|
|
|
#######################
|
|
# Cassandra
|
|
#######################
|
|
cassandra:
|
|
image: cassandra:5.0.4
|
|
container_name: cassandra
|
|
mem_limit: 2G # Mindestens 2 GB RAM für Cassandra 5.x
|
|
mem_reservation: 1G # Reserviert 1 GB
|
|
environment:
|
|
- TZ="Europe/Berlin"
|
|
- JVM_OPTS=-Xms1G -Xmx1G # Heap auf 1 GB begrenzen
|
|
- CASSANDRA_CLUSTER_NAME=dynamixsAiCluster
|
|
- CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch
|
|
- CASSANDRA_DC=datacenter1
|
|
- CASSANDRA_RACK=rack1
|
|
ports:
|
|
- "9042:9042" # CQL-Port
|
|
- "7000:7000" # Inter-Node-Kommunikation
|
|
- "7001:7001" # TLS-fähige Inter-Node-Kommunikation
|
|
- "7199:7199" # JMX-Port
|
|
volumes:
|
|
- cassandra_data:/var/lib/cassandra
|
|
|
|
#######################
|
|
# collabora Office Online
|
|
#######################
|
|
# collabora:
|
|
# image: collabora/code:23.05.0.5.1
|
|
# #expose:
|
|
# # - 9980
|
|
# ports:
|
|
# - "9980:9980"
|
|
# environment:
|
|
# - username=admin
|
|
# - password=adminadmin
|
|
# - extra_params=--o:ssl.enable=false
|
|
# - aliasgroup1=http://imixs-documents:8080
|
|
# volumes:
|
|
# - ./configuration/collabora/fonts:/usr/share/fonts/truetype/more/
|
|
# - ./configuration/collabora/fonts:/opt/cool/systemplate/usr/share/fonts/truetype/more/
|
|
|
|
#######################
|
|
# Imixs Admin Client
|
|
#######################
|
|
imixsadmin:
|
|
image: imixs/imixs-admin
|
|
ports:
|
|
- "8888:8080"
|
|
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
ports:
|
|
- "9090:9090"
|
|
volumes:
|
|
- ./configuration/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
|
|
- prometheusdata:/prometheus/
|
|
|
|
grafana:
|
|
image: grafana/grafana:10.4.0 # Aktuelle stabile Version
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- GF_SECURITY_ADMIN_PASSWORD=admin # Standardpasswort setzen
|
|
volumes:
|
|
- grafana-storage:/var/lib/grafana # Persistente Daten
|
|
#networks:
|
|
# - monitoring
|
|
|
|
volumes:
|
|
dbdata-hai:
|
|
dbkeycloak:
|
|
cassandra_data:
|
|
prometheusdata:
|
|
grafana-storage:
|