# 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: "" docker_registry_password: "" 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 }}"