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