- name: Pull and run private GHCR image hosts: all become: true tasks: - name: Backup current resolv.conf ansible.builtin.copy: src: /etc/resolv.conf dest: /etc/resolv.conf.backup remote_src: true owner: root group: root mode: '0644' - name: Replace resolv.conf with electro version ansible.builtin.copy: src: /etc/resolv.conf.electro dest: /etc/resolv.conf remote_src: true owner: root group: root mode: '0644' - name: Log in to GitHub Container Registry community.docker.docker_login: registry_url: ghcr.io username: "{{ ghcr_username }}" password: "{{ ghcr_token }}" - name: Pull image from GHCR community.docker.docker_image: name: "{{ image_name }}" source: pull - name: Restore original resolv.conf ansible.builtin.copy: src: /etc/resolv.conf.backup dest: /etc/resolv.conf remote_src: true owner: root group: root mode: '0644' - name: Stop stage container if it exists docker_container: name: echo state: absent - name: Run container from image community.docker.docker_container: name: echo image: "{{ image_name }}" command: ["examples.server_web"] restart_policy: always ports: - "3000:3000"