version: '3.8' services: citrineos-server: image: ghcr.io/citrineos/citrineos-server:latest container_name: cariflex-citrineos-server restart: unless-stopped environment: APP_NAME: "all" APP_ENV: "docker" AWS_REGION: us-east-1 AWS_ACCESS_KEY_ID: minioadmin AWS_SECRET_ACCESS_KEY: minioadmin DB_STRATEGY: "migrate" BOOTSTRAP_CITRINEOS_DATABASE_HOST: "cariflex-citrineos-db" BOOTSTRAP_CITRINEOS_CONFIG_FILENAME: "config.json" BOOTSTRAP_CITRINEOS_FILE_ACCESS_TYPE: "local" BOOTSTRAP_CITRINEOS_FILE_ACCESS_LOCAL_DEFAULT_FILE_PATH: "/data" CONFIG_CITRINEOS_WIPE_FILE_ON_START: "true" depends_on: cariflex-citrineos-db: condition: service_healthy cariflex-amqp: condition: service_healthy ports: - "8081:8080" volumes: - citrineos-data:/data healthcheck: test: ["CMD-SHELL", "node -e \"const net = require('net'); const c = net.createConnection(8080, '127.0.0.1', () => { c.end(); process.exit(0); }); c.on('error', () => process.exit(1));\""] interval: 30s timeout: 10s retries: 5 networks: cariflex-internal: aliases: - citrineos-server cariflex-citrineos-db: image: postgis/postgis:16-3.5 container_name: cariflex-citrineos-db restart: unless-stopped environment: POSTGRES_DB: citrine POSTGRES_USER: citrine POSTGRES_PASSWORD: citrine volumes: - citrineos-db-data:/var/lib/postgresql/data healthcheck: test: pg_isready --username=citrine interval: 5s timeout: 10s retries: 5 networks: cariflex-internal: aliases: - citrineos-db cariflex-amqp: image: rabbitmq:3-management container_name: cariflex-amqp restart: unless-stopped environment: RABBITMQ_DEFAULT_USER: guest RABBITMQ_DEFAULT_PASS: guest volumes: - citrineos-amqp-data:/var/lib/rabbitmq healthcheck: test: rabbitmq-diagnostics -q ping interval: 15s timeout: 10s retries: 10 start_period: 30s networks: cariflex-internal: aliases: - amqp-broker - cariflex-amqp volumes: citrineos-data: driver: local citrineos-db-data: driver: local citrineos-amqp-data: driver: local networks: cariflex-internal: name: config_cariflex-internal external: true