--- - name: "Create file structure" file: path: "{{ item }}" state: directory with_items: - "{{ data_dir }}/storage-api" - "{{ data_dir }}/storage-api/app" - "{{ data_dir }}/storage-api/files" - name: "Clone latest Storage API" git: repo: git@git.alexav.gg:alex/storage-api.git dest: "{{ data_dir }}/storage-api/app" - name: "Build Storage API Docker Image" docker_image: name: storage-api tag: "latest" build: path: "{{ data_dir }}/storage-api/app" dockerfile: Dockerfile source: build state: present - name: Deploy Storage API Container docker_container: name: storage_api image: storage-api:latest recreate: true restart_policy: unless-stopped networks: - name: "{{ docker_network_name }}" volumes: - "{{ data_dir }}/storage-api/files:/app/files" env: TZ: "{{ TZ }}" TOKEN: "{{ API_ADMIN_KEY }}" labels: traefik.enable: "true" traefik.http.routers.storage.rule: Host(`storage.alexav.gg`) traefik.http.routers.storage.entrypoints: webSecure traefik.http.routers.storage.tls.certresolver: letsencrypt traefik.http.services.storage.loadbalancer.server.port: "3001"