name: sim-eventos networks: savefamily: external: true proxy: external: true internal: driver: bridge services: rabbitmq-sim-broker: container_name: rabbitmq-sim-broker image: "rabbitmq:4.2.2-management" expose: - 5672 - 15672 env_file: - ./.env restart: unless-stopped healthcheck: test: ["CMD", "rabbitmq-diagnostics", "check_port_connectivity"] interval: 10s timeout: 5s retries: 5 environment: RABBITMQ_USER: ${RABBITMQ_USER} RABBITMQ_PASSWORD: ${RABBITMQ_PASSWORD} entrypoint: ["bash", "/usr/local/bin/docker-entrypoint-wrapper.sh"] command: ["rabbitmq-server"] volumes: - ./rabbit/docker-entrypoint-wrapper.sh:/usr/local/bin/docker-entrypoint-wrapper.sh:ro - ./rabbitmq_plugins/enabled_plugins:/etc/rabbitmq/enabled_plugins:ro - ./rabbit/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro - ./rabbit/definitions.json:/etc/rabbitmq/definitions.template.json:ro networks: - internal - proxy labels: - "io.portainer.accesscontrol.teams=develop" - "traefik.enable=true" - "traefik.http.routers.sf-sims-rabbitmq.entrypoints=web" - "traefik.http.routers.sf-sims-rabbitmq.rule=Host(`sf-sims-rabbitmq.savefamilygps.net`)" - "traefik.http.middlewares.sf-sims-rabbitmq-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.sf-sims-rabbitmq.middlewares=sf-sims-rabbitmq-https-redirect" - "traefik.http.routers.sf-sims-rabbitmq-secure.entrypoints=websecure" - "traefik.http.routers.sf-sims-rabbitmq-secure.rule=Host(`sf-sims-rabbitmq.savefamilygps.net`)" - "traefik.http.routers.sf-sims-rabbitmq-secure.tls=true" - "traefik.http.routers.sf-sims-rabbitmq-secure.service=sf-sims-rabbitmq" - "traefik.http.routers.sf-sims-rabbitmq-secure.tls.certresolver=myresolver" - "traefik.http.services.sf-sims-rabbitmq.loadbalancer.server.port=15672" - "traefik.docker.network=proxy" sf-sims-api: container_name: sf-sims-api build: context: . dockerfile: Dockerfile args: PORT: ${PORT:-3000} image: sf-sims-api env_file: - ./.env restart: unless-stopped depends_on: rabbitmq-sim-broker: condition: service_healthy networks: - savefamily - proxy - internal expose: - ${PORT} volumes: - ./.env:/home/node/app/.env:ro - ./sim-consumidor-nos.env:/home/node/app/packages/sim-consumidor-nos/.env:ro - ./sim-consumidor-alai.env:/home/node/app/packages/sim-consumidor-alai/.env:ro - ./sim-consumidor-objenious.env:/home/node/app/packages/sim-consumidor-objenious/.env:ro - ./wsaccess_alaisecure_com_cert_client_new.p12:/home/node/app/packages/sim-consumidor-alai/certificates/wsaccess_alaisecure_com_cert_client_new.p12:ro - ./sim-objenious-cron.env:/home/node/app/packages/sim-objenious-cron/.env:ro - ./obj.pem:/home/node/app/packages/sim-consumidor-objenious/obj.pem:ro - ./obj.pem:/home/node/app/packages/sim-objenious-cron/obj.pem:ro healthcheck: test: [ "CMD-SHELL", 'node -e "fetch(''http://localhost:'' + (process.env.PORT || 3000) + ''/health'').then(r => { if (!r.ok) process.exit(1) }).catch(() => process.exit(1))"', ] interval: 10s timeout: 5s retries: 5 start_period: 15s labels: - "io.portainer.accesscontrol.teams=develop" - "traefik.enable=true" - "traefik.http.routers.sf-sims.entrypoints=web" - "traefik.http.routers.sf-sims.rule=Host(`sf-sims.savefamilygps.net`)" - "traefik.http.middlewares.sf-sims-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.sf-sims.middlewares=sf-sims-https-redirect" - "traefik.http.routers.sf-sims-secure.entrypoints=websecure" - "traefik.http.routers.sf-sims-secure.rule=Host(`sf-sims.savefamilygps.net`)" - "traefik.http.routers.sf-sims-secure.tls=true" - "traefik.http.routers.sf-sims-secure.service=sf-sims" - "traefik.http.routers.sf-sims-secure.tls.certresolver=myresolver" - "traefik.http.services.sf-sims.loadbalancer.server.port=${PORT}" - "traefik.docker.network=proxy"