343447f67a
* fix: docker image now starts with SQLite by default when CONFIG_PROP is unset Previously, startup.sh always passed -DCONDUCTOR_CONFIG_FILE pointing at the bundled config.properties, which ships with conductor.db.type commented out. This suppressed the JAR's built-in SQLite default, causing persistence to fail on a bare `docker run -p 8080:8080 conductoross/conductor:latest`. Now: if CONFIG_PROP is unset, the JAR is launched without -DCONDUCTOR_CONFIG_FILE and uses its built-in defaults (SQLite, no external dependencies). If CONFIG_PROP is set, the named config under /app/config/ is passed exactly as before — all docker-compose setups are unaffected. Fixes #1041. Prerequisite for deprecating conductoross/conductor-standalone (conductor-oss/getting-started#7, sunset 2026-07-24). * fix: pin postgres:16 and add OpenSearch heap limits in docker-compose files Three compose files set OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m (redis-os, redis-os2, redis-os3) to match the existing ES_JAVA_OPTS limits on ES7/ES8; without it OpenSearch auto-allocates heap and gets OOM-killed on constrained hosts. docker-compose-postgres-es7.yaml pins postgres to :16 (was untagged :latest, now resolved to PG18) which caused data-directory version conflicts when run after any other postgres compose setup. All 9 docker-compose configurations tested healthy end-to-end after these fixes. * fix: restore file-storage bind mount and fix -DCONDUCTOR_CONFIG_FILE placement in startup.sh - startup.sh: move -DCONDUCTOR_CONFIG_FILE before -jar so it is treated as a JVM system property (not a program argument). The previous version silently dropped the config file when CONFIG_PROP was set, preventing conductor.file-storage.enabled=true from taking effect and causing FileResource controller to not register (/api/files → 404). - docker-compose-es8.yaml: restore the /tmp/conductor-file-storage-e2e bind mount that was lost in the merge from main. - run_tests-es8.sh: restore STORAGE_DIR setup (mkdir) that was also lost in the merge from main. These were regressions introduced during the Merge branch main into fix/docker-startup-sqlite-default commit (3e94bf7bd). * test: fix flaky PostgresQueueListenerTest by awaiting notification delivery pg_notify delivery requires a JDBC round-trip; a bare assertTrue immediately after sendNotification races the socket flush. Use await() with a 500 ms timeout, consistent with the other notification tests in this file.
81 lines
2.1 KiB
YAML
81 lines
2.1 KiB
YAML
version: '2.3'
|
|
|
|
services:
|
|
conductor-server:
|
|
environment:
|
|
- CONFIG_PROP=config-redis-os3.properties
|
|
- JAVA_OPTS=-Dpolyglot.engine.WarnInterpreterOnly=false
|
|
image: conductor:server
|
|
container_name: conductor-server-os3
|
|
build:
|
|
context: ../
|
|
dockerfile: docker/server/Dockerfile
|
|
args:
|
|
YARN_OPTS: ${YARN_OPTS}
|
|
INDEXING_BACKEND: opensearch3
|
|
networks:
|
|
- internal
|
|
ports:
|
|
- 8000:8080
|
|
- 8128:5000
|
|
healthcheck:
|
|
test: ["CMD", "curl","-I" ,"-XGET", "http://localhost:8080/health"]
|
|
interval: 60s
|
|
timeout: 30s
|
|
retries: 12
|
|
links:
|
|
- conductor-opensearch:os
|
|
- conductor-redis:rs
|
|
depends_on:
|
|
conductor-opensearch:
|
|
condition: service_healthy
|
|
conductor-redis:
|
|
condition: service_healthy
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "1k"
|
|
max-file: "3"
|
|
|
|
conductor-redis:
|
|
image: redis:6.2.3-alpine
|
|
volumes:
|
|
- ../server/config/redis.conf:/usr/local/etc/redis/redis.conf
|
|
networks:
|
|
- internal
|
|
healthcheck:
|
|
test: [ "CMD", "redis-cli","ping" ]
|
|
|
|
conductor-opensearch:
|
|
image: opensearchproject/opensearch:3.0.0
|
|
container_name: opensearch-3
|
|
environment:
|
|
- plugins.security.disabled=true
|
|
- cluster.name=opensearch-cluster # Name the cluster
|
|
- node.name=conductor-opensearch # Name the node that will run in this container
|
|
- discovery.seed_hosts=conductor-opensearch # Nodes to look for when discovering the cluster
|
|
- cluster.initial_cluster_manager_nodes=conductor-opensearch # Nodes eligible to serve as cluster manager
|
|
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=P4zzW)rd>>123_
|
|
- OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m
|
|
volumes:
|
|
- osdata3-conductor:/usr/share/opensearch/data
|
|
networks:
|
|
- internal
|
|
healthcheck:
|
|
test: curl http://localhost:9200/_cluster/health -o /dev/null
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 12
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "1k"
|
|
max-file: "3"
|
|
|
|
volumes:
|
|
osdata3-conductor:
|
|
driver: local
|
|
|
|
networks:
|
|
internal:
|