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