feat: Migrate roles to Podman
This commit is contained in:
parent
b227385ae5
commit
5b142f5c0b
@ -1,66 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Ensure all previously installed docker packages are uninstalled
|
|
||||||
apt:
|
|
||||||
name:
|
|
||||||
- docker.io
|
|
||||||
- docker-compose
|
|
||||||
- docker-compose-v2
|
|
||||||
- docker-doc
|
|
||||||
- podman-docker
|
|
||||||
state: absent
|
|
||||||
purge: true
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
apt:
|
|
||||||
name:
|
|
||||||
- ca-certificates
|
|
||||||
- curl
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Add Docker's official GPG key
|
|
||||||
shell: |
|
|
||||||
sudo install -m 0755 -d /etc/apt/keyrings
|
|
||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
||||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
|
||||||
args:
|
|
||||||
creates: /etc/apt/keyrings/docker.gpg
|
|
||||||
|
|
||||||
- name: Add Docker repository
|
|
||||||
become: true
|
|
||||||
apt_repository:
|
|
||||||
repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
|
|
||||||
state: present
|
|
||||||
update_cache: true
|
|
||||||
|
|
||||||
- name: Read docker sources list
|
|
||||||
slurp:
|
|
||||||
src: /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list
|
|
||||||
register: docker_sources_list
|
|
||||||
|
|
||||||
- name: Display docker sources list
|
|
||||||
debug:
|
|
||||||
var: docker_sources_list.content | b64decode
|
|
||||||
|
|
||||||
- name: Install Docker and related components
|
|
||||||
become: true
|
|
||||||
apt:
|
|
||||||
name:
|
|
||||||
- docker-ce
|
|
||||||
- docker-ce-cli
|
|
||||||
- containerd.io
|
|
||||||
- docker-buildx-plugin
|
|
||||||
- docker-compose-plugin
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Add user to the docker group
|
|
||||||
user:
|
|
||||||
name: "{{ ansible_user }}"
|
|
||||||
groups: docker
|
|
||||||
append: true
|
|
||||||
when: ansible_user != "root"
|
|
||||||
|
|
||||||
- name: Start and enable Docker service
|
|
||||||
service:
|
|
||||||
name: docker
|
|
||||||
state: started
|
|
||||||
enabled: true
|
|
||||||
@ -14,20 +14,20 @@
|
|||||||
mode: '0644'
|
mode: '0644'
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Deploy Gitea container using Docker Compose V2
|
- name: Deploy Gitea container using Podman Compose
|
||||||
community.docker.docker_compose_v2:
|
ansible.builtin.shell:
|
||||||
project_src: "{{ gitea_data_path }}"
|
cmd: podman-compose -f {{ gitea_data_path }}/docker-compose.yml up -d
|
||||||
state: present
|
chdir: "{{ gitea_data_path }}"
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Ensure Gitea container is running
|
- name: Ensure Gitea container is running
|
||||||
community.docker.docker_container_info:
|
ansible.builtin.shell:
|
||||||
name: "{{ gitea_container_name }}"
|
cmd: "podman ps -a --filter name={{ gitea_container_name }} --format '{{.Status}}'"
|
||||||
register: container_info
|
register: gitea_container_status
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Restart Gitea container if not running
|
- name: Restart Gitea container if not running
|
||||||
community.docker.docker_container:
|
ansible.builtin.shell:
|
||||||
name: "{{ gitea_container_name }}"
|
cmd: "podman restart {{ gitea_container_name }}"
|
||||||
state: started
|
when: "'Exited' in gitea_container_status.stdout"
|
||||||
restart: true
|
become: true
|
||||||
when: not container_info.container.State.Running
|
|
||||||
|
|||||||
@ -77,13 +77,17 @@
|
|||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Deploy Containers
|
- name: Deploy Containers
|
||||||
community.docker.docker_compose_v2:
|
ansible.builtin.shell:
|
||||||
project_src: /opt/network
|
cmd: podman-compose -f /opt/network/docker-compose.yml up -d
|
||||||
state: present
|
chdir: /opt/network
|
||||||
restart: true
|
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: Ensure Nginx container is running
|
- name: Ensure Nginx container is running
|
||||||
community.docker.docker_container_info:
|
ansible.builtin.shell:
|
||||||
name: "{{ nginx_proxy_manager_container_name }}"
|
cmd: "podman ps -a --filter name={{ nginx_proxy_manager_container_name }} --format '{{.Status}}'"
|
||||||
register: nginx_container_info
|
register: nginx_container_status
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Display Nginx container status
|
||||||
|
debug:
|
||||||
|
var: nginx_container_status.stdout
|
||||||
|
|||||||
@ -4,7 +4,22 @@
|
|||||||
name: podman
|
name: podman
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
|
- name: Install python3-pip
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name: python3-pip
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install podman-compose
|
||||||
|
ansible.builtin.pip:
|
||||||
|
name: podman-compose
|
||||||
|
state: present
|
||||||
|
|
||||||
- name: Install podman-docker (optional, for docker command alias)
|
- name: Install podman-docker (optional, for docker command alias)
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name: podman-docker
|
name: podman-docker
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
|
- name: Install containers.podman collection
|
||||||
|
ansible.builtin.command: ansible-galaxy collection install containers.podman
|
||||||
|
args:
|
||||||
|
creates: ~/.ansible/collections/ansible_collections/containers/podman
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
- name: Run PostgreSQL Docker container
|
- name: Run PostgreSQL Podman container
|
||||||
docker_container:
|
containers.podman.podman_container:
|
||||||
name: "{{ postgres_container_name }}"
|
name: "{{ postgres_container_name }}"
|
||||||
image: postgres
|
image: postgres
|
||||||
state: started
|
state: started
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user