Add meteo_setup.yml

This commit is contained in:
2025-07-14 07:21:34 +00:00
commit 1e1d538c5d

70
meteo_setup.yml Normal file
View File

@ -0,0 +1,70 @@
# Aby uruchomic ten playbook przez Dockera:
# docker run --rm -it \
# -v /home/jakub/services/connect_moria:/ansible/playbooks \
# -v ~/.ssh/id_rsa:/root/.ssh/id_rsa:ro \
# willhallonline/ansible:latest \
# /bin/sh -c "ansible-galaxy install geerlingguy.docker && ansible-playbook -i /ansible/playbooks/hosts.ini /ansible/playbooks/meteo_setup.yml"
- name: Setup weather-app and DB
hosts: moria
become: true
vars:
docker_registry_username: "<TWOJ_UZYTKOWNIK>"
docker_registry_password: "<TAJNE_HASLO>"
docker_image: "registry.cbpio.pl/twoj_uzytkownik/weather-app:latest"
pg_container_name: db
pg_image: postgres:16
pg_user: weather_user
pg_password: weather_pass
pg_db: weather
pg_volume: weather_data
pg_network: shared-net
roles:
- geerlingguy.docker
tasks:
- name: Docker login
community.docker.docker_login:
registry_url: registry.cbpio.pl
username: "{{ docker_registry_username }}"
password: "{{ docker_registry_password }}"
- name: Create network
community.docker.docker_network:
name: "{{ pg_network }}"
state: present
- name: Create volume
community.docker.docker_volume:
name: "{{ pg_volume }}"
- name: Start DB container
community.docker.docker_container:
name: "{{ pg_container_name }}"
image: "{{ pg_image }}"
restart_policy: always
state: started
env:
POSTGRES_USER: "{{ pg_user }}"
POSTGRES_PASSWORD: "{{ pg_password }}"
POSTGRES_DB: "{{ pg_db }}"
volumes:
- "{{ pg_volume }}:/var/lib/postgresql/data"
networks:
- name: "{{ pg_network }}"
- name: Start app container
community.docker.docker_container:
name: weather-app
image: "{{ docker_image }}"
restart_policy: always
state: started
ports:
- "8000:8000"
env:
DATABASE_URL: "postgresql+asyncpg://{{ pg_user }}:{{ pg_password }}@db:5432/{{ pg_db }}"
networks:
- name: "{{ pg_network }}"