# Cariflex - CitrineOS docker-compose (adapté pour l'intégration Cariflex) # Basé sur https://github.com/citrineos/citrineos-core 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 ports: - 8080:8080 - 8443:8443 volumes: - citrineos-data:/data healthcheck: test: ["CMD-SHELL", "node -e \"const net = require('net'); const client = net.createConnection(8080, '127.0.0.1', () => { client.end(); process.exit(0); }); client.on('error', () => process.exit(1)); client.setTimeout(5000, () => { client.destroy(); process.exit(1); });\""] interval: 30s timeout: 10s retries: 5 networks: - traefik-public - cariflex-internal 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 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 check_port_connectivity interval: 10s timeout: 10s retries: 3 networks: - cariflex-internal volumes: citrineos-data: driver: local citrineos-db-data: driver: local citrineos-amqp-data: driver: local networks: traefik-public: external: true cariflex-internal: driver: bridge