--- - name: Set postgres container vars ansible.builtin.set_fact: db_container_image: 'postgres:{{ docker_postgres_tag }}' db_container_env: POSTGRES_USER: "{{ docker_service_underscore_name }}" POSTGRES_PASSWORD: "{{ database_passwords[docker_service_name] }}" db_container_data: /var/lib/postgresql/data when: docker_database == 'postgres' - name: Set mariadb container vars ansible.builtin.set_fact: db_container_image: mariadb:10 db_container_env: MARIADB_USER: "{{ docker_service_underscore_name }}" MARIADB_DATABASE: "{{ docker_service_underscore_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 ansible.builtin.set_fact: db_container_image: 'mongo:latest' db_container_data: /data/db when: docker_database == 'mongo' - name: Define db container data mount set_fact: db_container_mounts: - name: db path: "{{ db_container_data }}" mode: '0700' - name: Define db container config mount set_fact: db_container_mounts: "{{ db_container_mounts + [{'template': 'mariadb.cnf', 'path': '/etc/mysql/conf.d/custom.cnf'}] }}" when: db_config_mounts_needed - 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 }} ansible.builtin.include_role: name: service vars: docker_namespace: "{{ _docker_namespace }}" docker_service: db docker_image: "{{ db_container_image }}" reverse_proxy_type: none docker_mounts: "{{ db_container_mounts }}" docker_published_ports: "{{ db_published_ports | default([]) }}" docker_env: "{{ db_container_env | default({}) }}" docker_additional_env: {} docker_networks: [] docker_database: none docker_additional_services: [] docker_host_user: false dockerfile: [] docker_command: "{{ omit }}" docker_entrypoint: "{{ omit }}" docker_memory: "{{ omit }}" - name: phpMyAdmin container for {{ docker_service_name }} ansible.builtin.include_role: name: service vars: docker_namespace: "{{ _docker_namespace }}" docker_service: phpmyadmin docker_image: phpmyadmin docker_mounts: [] docker_published_ports: - "127.0.0.1:{{ ports[docker_service_name]['phpmyadmin'] }}:80" docker_env: PMA_ABSOLUTE_URI: "https://{{ docker_vhost_domains[docker_service_name + '_phpmyadmin'][0] }}" PMA_HOST: "{{ docker_service_name }}-db" docker_additional_env: {} docker_networks: [] docker_database: none docker_additional_services: [] docker_host_user: false dockerfile: [] docker_command: "{{ omit }}" docker_entrypoint: "{{ omit }}" docker_memory: "{{ omit }}" docker_proxy_target_protocol: http vhost_basicauth: "{{ docker_phpmyadmin_basicauth }}" vhost_basicauth_users: "{{ docker_phpmyadmin_basicauth_users }}" when: docker_database == 'mariadb' and ports[docker_service_name]['phpmyadmin'] is defined