Add meteo_setup.yml
This commit is contained in:
70
meteo_setup.yml
Normal file
70
meteo_setup.yml
Normal 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 }}"
|
Reference in New Issue
Block a user