--- - name: Set postgres container vars set_fact: db_container_image: 'postgres:14-alpine' db_container_env: POSTGRES_USER: "{{ docker_service_name }}" POSTGRES_PASSWORD: "{{ database_passwords[docker_service_name] }}" db_container_data: /var/lib/postgresql/data when: docker_database == 'postgres' - name: Set mariadb container vars set_fact: db_container_image: mariadb:10 db_container_env: MARIADB_USER: "{{ docker_service_name }}" MARIADB_DATABASE: "{{ docker_service_name }}" MARIADB_PASSWORD: "{{ database_passwords[docker_service_name] }}" MARIADB_RANDOM_ROOT_PASSWORD: "{{ database_passwords[docker_service_name + '_root'] is not defined | string }}" MARIADB_ROOT_PASSOWRD: "{{ database_passwords[docker_service_name + '_root'] | default(omit) }}" db_container_data: /var/lib/mysql db_image_port: 3306 when: docker_database == 'mariadb' - name: Set mongo container vars set_fact: db_container_image: 'mongo:latest' db_container_data: /data/db when: docker_database == 'mongo' - name: Set db published ports var set_fact: db_published_ports: ["127.0.0.1:{{ ports[docker_service_name].db }}:{{ db_image_port }}"] when: ports[docker_service_name].db is defined - name: Database container for {{ docker_service_name + ' (' + docker_database + ')' }} docker_container: name: "{{ docker_service_name }}_db" image: "{{ db_container_image }}" pull: true env: "{{ db_container_env | default(omit) }}" published_ports: "{{ db_published_ports | default(omit) }}" restart_policy: always mounts: - source: "{{ docker_service_name + '_db' }}" target: "{{ db_container_data }}" networks: "{{ container_networks | default(omit) }}" log_driver: local