---
- name: update inception
  hosts: all
  tasks:
    - name: Stop Inception container if it exists
      docker_container:
        name: inception
        state: absent
    - name: Deploy Inception Docker container
      docker_container:
        name: inception
        image: inception:{{semaphore_vars.task_details.incoming_version}}
        state: started
        restart_policy: always
        networks:
          - name: traefik
          - name: inception
          - name: redis
          - name: rabbitmq
          - name: minio
          - name: mongo
        exposed_ports:
          - "3000"
        env:
          sdxl_endpoint: "{{ sdxl_endpoint }}"
          PORT: "{{ PORT }}"
          ACTION_SERVICE: "true"
          CONFIG_SERVICE: "false"
          PRODUCER_SERVICE: "true"
          QUERY_SERVICE: "true"
          RABBIT_MQ_CONSUMER: "true"
          AUTH_SERVICE: "true"
          MONGODB_URI: "{{ MONGODB_URI }}"
          ELASTICSEARCH_URI: "{{ ELASTICSEARCH_URI }}"
          RABBIT_MQ_URI: "{{ RABBIT_MQ_URI }}"
          REDIS_URI: "{{ REDIS_URI }}"
          MINIO_URL: "{{ MINIO_URL }}"
          MINIO_ENDPOINT: "{{ MINIO_ENDPOINT }}"
          MINIO_PORT: "{{ MINIO_PORT }}"
          MINIO_USE_SSL: "{{ MINIO_USE_SSL }}"
          MINIO_ACCESS_KEY: "{{ MINIO_ACCESS_KEY }}"
          MINIO_SECRET_KEY: "{{ MINIO_SECRET_KEY }}"
        labels:
          traefik.enable: "true"
          traefik.docker.network: "traefik"
          traefik.http.routers.inception.entrypoints: "web,websecure"
          traefik.http.routers.inception.rule: "Host(`inception.eron.co`) || HostRegexp(`{subdomain:[a-zA-Z0-9-]+}.inception.eron.co`)"
          traefik.http.services.inception.loadbalancer.server.port: "3000"
          traefik.http.routers.inception.tls: "true"
          traefik.http.routers.inception.tls.certresolver: "letsencrypt"
          traefik.http.routers.inception.service: "inception"
          traefik.http.routers.inception.tls.domains[0].main: "inception.eron.co"
          traefik.http.routers.inception.tls.domains[0].sans: "*.inception.eron.co"