---
- name: deploy stage
  hosts: all
  tasks:
    - name: Stop stage container if it exists
      docker_container:
        name: stage
        state: absent
    - name: Deploy stage Docker container
      docker_container:
        name: stage
        image: ocean:{{semaphore_vars.task_details.incoming_version}}
        state: started
        restart_policy: always
        networks:
          - name: traefik
          - name: inception
        env:
          SERVER_BASE_URL: "{{SERVER_BASE_URL}}"
          DEBUG: "{{DEBUG}}"
        labels:
          traefik.enable: "true"
          traefik.docker.network: "traefik"
          traefik.http.routers.stage.entrypoints: "web,websecure"
          traefik.http.routers.stage.rule: "HostRegexp(`{subdomain:[a-zA-Z0-9-]+}.sp.eron.co`) || HostRegexp(`{subdomain:[a-zA-Z0-9-]+}.stage.eron.co`)"
          traefik.http.services.stage.loadbalancer.server.port: "3000"
          traefik.http.routers.stage.tls: "true"
          traefik.http.routers.stage.tls.certresolver: "letsencrypt"
          traefik.http.routers.stage.service: "stage"
          traefik.http.routers.stage.tls.domains[0].main: "sp.eron.co"
          traefik.http.routers.stage.tls.domains[0].sans: "*.sp.eron.co"
          traefik.http.routers.stage.tls.domains[1].main: "stage.eron.co"
          traefik.http.routers.stage.tls.domains[1].sans: "*.stage.eron.co"