--- - name: Ensure container '{{ postgresql_container_name }}' is {{ postgresql_container_state }} to initialise the database community.docker.docker_container: name: "{{ postgresql_container_name }}" image: "{{ postgresql_container_image }}" env: >-2 {{ postgresql_container_env | default({}, true) | combine({'POSTGRES_PASSWORD': postgresql_superuser_password}) }} user: "{{ postgresql_container_user | default(omit, true) }}" ports: "{{ postgresql_container_ports | default(omit, true) }}" labels: "{{ postgresql_container_labels | default(omit, true) }}" volumes: "{{ postgresql_container_initdb_volumes }}" recreate: "{{ postgresql_container_recreate | default(omit, true) }}" networks: "{{ postgresql_container_networks | default(omit, true) }}" etc_hosts: "{{ postgresql_container_etc_hosts | default(omit, true) }}" memory: "{{ postgresql_container_memory | default(omit, true) }}" memory_reservation: "{{ postgresql_container_memory_reservation | default(omit, true) }}" oom_killer: "{{ postgresql_container_oom_killer | default(omit, true) }}" oom_score_adj: "{{ postgresql_container_oom_score_adj | default(omit, true) }}" shm_size: "{{ postgresql_container_shm_size | default(omit, true) }}" ulimits: "{{ postgresql_container_ulimits | default(omit, true) }}" restart_policy: "{{ postgresql_container_restart_policy | default(omit, true) }}" state: "{{ postgresql_container_state }}" register: postgresql_container_info - name: Wait for container startup block: - name: Wait for container startup (socket) ansible.builtin.wait_for: path: "{{ postgresql_config_unix_socket_directories | first }}/.s.PGSQL.{{ postgresql_config_port }}" when: "postgresql_config_connect_socket | bool" - name: Wait for container startup (port) ansible.builtin.wait_for: host: >-2 {{ (pg_addresses == '*') | ternary( omit, postgresql_config_listen_addresses | first ) }} port: "{{ postgresql_config_port }}" when: "not postgresql_config_connect_socket | bool" vars: pg_addresses: "{{ postgresql_config_listen_addresses | join(',') }}" - name: Ensure init container '{{ postgresql_container_name }}' is removed community.docker.docker_container: name: "{{ postgresql_container_name }}" state: absent