--- - name: Install dependencies ansible.builtin.package: name: - podman - postgresql - python3-psycopg2 - name: Create pretalx group ansible.builtin.group: name: "{{ pretalx_system_group }}" - name: Create pretalx user ansible.builtin.user: name: "{{ pretalx_system_user }}" group: "{{ ptrealx_system_group }}" home: "{{ pretalx_system_home }}" password: '!' shell: /usr/sbin/nologin comment: Pretalx - name: Create subuid entry ansible.builtin.lineinfile: path: /etc/subuid line: "{{ pretalx_system_user }}:{{ pretalx_subuid_begin }}:{{ pretalx_subuid_count }}" regexp: "^{{ pretalx_system_user }}:" create: true owner: root group: root mode: "0644" - name: Create subgid entry ansible.builtin.lineinfile: path: /etc/subgid line: "{{ pretalx_system_user }}:{{ pretalx_subgid_begin }}:{{ pretalx_subgid_count }}" regexp: "^{{ pretalx_system_user }}:" create: true owner: root group: root mode: "0644" - name: Create pretalx directories ansible.builtin.file: path: "{{ pretalx_system_home }}/{{ item }}" state: directory owner: "{{ pretalx_subuid_begin + pretalx_container_uid }}" group: "{{ pretalx_subgid_begin + pretalx_container_gid }}" mode: "0750" loop: - data - public - name: Create PostgreSQL user community.postgresql.postgresql_user: name: "{{ pretalx_postgresql_username }}" #password: "{{ pretalx_postgresql_password }}" #no_password_changes: true - name: Create PostgreSQL database community.postgresql.postgresql_db: name: "{{ pretalx_postgresql_database }}" owner: "{{ pretalx_postgresql_username }}" - name: Create Pretalx configuration directory ansible.builtin.file: path: /etc/pretalx owner: "{{ pretalx_system_user }}" group: "{{ pretalx_system_group }}" mode: "0755" state: directory - name: Render Pretalx configuration ansible.builtin.template: src: etc/pretalx/pretalx.cfg.j2 dest: /etc/pretalx/pretalx.cfg owner: "{{ pretalx_system_user }}" group: "{{ pretalx_system_group }}" mode: "0700" notify: Restart Pretalx - name: Create pretalx-cache container community.podman.podman_container: name: pretalx-cache image: "{{ pretalx_cache_image }}:{{ pretalx_cache_image_tag }}" restart_policy: unless-stopped labels: com.centurylinklabs.watchtower.enable: "{{ pretalx_watchtower_enabled | ternary('true', 'false') }}" subuidname: "{{ pretix_system_user }}" subgidname: "{{ pretix_system_user }}" - name: Create pretalx container community.podman.podman_container: name: pretalx image: "{{ pretalx_image }}:{{ pretalx_image_tag }}" restart_policy: unless-stopped ports: - "{{ pretalx_http_hostaddr }}:{{ pretalx_http_hostport }}:80" volumes: - "/etc/pretalx:/etc/pretalx:ro" - "{{ pretalx_system_home }}/data:/data" - "{{ pretalx_system_home }}/public:/public" - "/run/postgresql:/run/postgresql" env: PRETALX_FILESYSTEM_MEDIA: /public/media PRETALX_FILESYSTEM_STATIC: /public/static labels: com.centurylinklabs.watchtower.enable: "{{ pretalx_watchtower_enabled | ternary('true', 'false') }}" subuidname: "{{ pretix_system_user }}" subgidname: "{{ pretix_system_user }}"