Files
Weather-App/Ansible/meteo_setup.yml

71 lines
1.9 KiB
YAML

- 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 }}"