- name: Setup weather-app and supporting services hosts: moria become: true vars: docker_registry_username: "your_username" docker_registry_password: "your_password" docker_image: "registry.cbpio.pl/jakub_figat/weather-app:latest" pg_network: shared-net roles: - geerlingguy.docker tasks: - name: Logowanie do prywatnego rejestru Docker community.docker.docker_login: registry_url: registry.cbpio.pl username: "{{ docker_registry_username }}" password: "{{ docker_registry_password }}" - name: Utwórz wspólną sieć shared-net jeśli nie istnieje community.docker.docker_network: name: "{{ pg_network }}" state: present - name: Pobierz zawsze najnowszy obraz aplikacji community.docker.docker_image: name: "{{ docker_image }}" source: pull force_source: true - name: Uruchom kontener weather-app community.docker.docker_container: name: weather-app image: "{{ docker_image }}" restart_policy: always state: started ports: - "8000:8000" env: DATABASE_URL: "postgresql+asyncpg://user:pass@host:5432/db" networks: - name: "{{ pg_network }}" - name: Uruchom kontener Redis community.docker.docker_container: name: redis image: redis:7 restart_policy: always state: started networks: - name: "{{ pg_network }}" - name: Stwórz wolumen dla MongoDB community.docker.docker_volume: name: mongo_data state: present - name: Uruchom kontener MongoDB community.docker.docker_container: name: mongo image: mongo:6 restart_policy: always state: started ports: - "27017:27017" volumes: - mongo_data:/data/db networks: - name: "{{ pg_network }}"