71 lines
1.9 KiB
YAML
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 }}"
|