---
- name: show remote host
  debug:
    msg: "the remote server is {{ ansible_host }}"
- name: create build dir if not exists
  file:
    path: "{{ build_root_abspath }}"
    state: directory
- name: git clone
  git:
    repo: "https://pvggitea.duckdns.org/GiteaTeam/demo-fastapi.git"
    dest: "{{ build_root_abspath }}"
    remote: "origin"
    version: "main"
- name: Create Python virtual environment
  command:
    cmd: /usr/bin/python3 -m venv "{{ build_root_abspath }}/venv"
    creates: "{{ build_root_abspath }}/venv"
- name: install fastapi
  command:
    cmd: source "{{ build_root_abspath }}/venv/bin/activate"
    cmd: pip install "fastapi[all]"
- name: install Docker
  command:
    cmd: source "{{ build_root_abspath }}/venv/bin/activate"
    cmd: pip install "docker"
- name: Build container image
  community.docker.docker_image:
    name: helloworld-fastapi
    source: build
    build:
      path: "{{ build_root_abspath }}"
      pull: false
    tag: "{{ demobackend_version }}"
- name: run docker
  docker_container:
    name: demobackend
    state: started
    recreate: yes
    image: "helloworld-fastapi:{{ demobackend_version }}"
    ports:
      - "80:80"
