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_FILE_PATH: "/data" CONFIG_CITRINEOS_WIPE_FILE_ON_START: "true" depends_on: cariflex-citrineos-db: condition: service_healthy cariflex-amqp: condition: service_healthy volumes: - citrineos-data:/data ports: - "8081:8080" networks: - 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 networks: cariflex-internal: aliases: - amqp-broker traefik-public: restart: unless-stopped environment: RABBITMQ_DEFAULT_USER: guest RABBITMQ_DEFAULT_PASS: guest labels: - "traefik.enable=true" - "traefik.http.routers.rabbitmq.rule=Host(`amqp.digitribe.fr`)" - "traefik.http.routers.rabbitmq.entrypoints=websecure" - "traefik.http.routers.rabbitmq.tls.certresolver=letsencrypt" - "traefik.http.services.rabbitmq.loadbalancer.server.port=15672" volumes: - citrineos-amqp-data:/var/lib/rabbitmq healthcheck: test: rabbitmq-diagnostics -q ping interval: 15s timeout: 10s retries: 10 start_period: 30s hasura: image: hasura/graphql-engine:v2.40.0 container_name: cariflex-hasura restart: unless-stopped ports: - "8082:8080" environment: HASURA_GRAPHQL_DATABASE_URL: "postgresql://citrine:citrine@cariflex-citrineos-db:5432/citrine" HASURA_GRAPHQL_ENABLE_CONSOLE: "true" HASURA_GRAPHQL_DEV_MODE: "true" HASURA_GRAPHQL_ADMIN_SECRET: "Digitribe972" HASURA_GRAPHQL_UNAUTHORIZED_ROLE: "anonymous" depends_on: cariflex-citrineos-db: condition: service_healthy labels: - "traefik.enable=true" - "traefik.http.routers.hasura.rule=Host(`hasura.digitribe.fr`)" - "traefik.http.routers.hasura.entrypoints=websecure" - "traefik.http.routers.hasura.tls.certresolver=letsencrypt" - "traefik.http.services.hasura.loadbalancer.server.port=8080" networks: - traefik-public - cariflex-internal citrineos-operator-ui: image: citrineos-operator-ui:latest container_name: cariflex-citrineos-operator-ui restart: unless-stopped ports: - "3002:3000" depends_on: - hasura labels: - "traefik.enable=true" - "traefik.http.routers.citrineos-ui.rule=Host(`citrineos.digitribe.fr`)" - "traefik.http.routers.citrineos-ui.entrypoints=websecure" - "traefik.http.routers.citrineos-ui.tls.certresolver=letsencrypt" - "traefik.http.services.citrineos-ui.loadbalancer.server.port=3000" networks: - traefik-public - cariflex-internal volumes: citrineos-data: driver: local citrineos-db-data: driver: local citrineos-amqp-data: driver: local networks: traefik-public: external: true cariflex-internal: name: config_cariflex-internal external: true