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'
|
||||
become: true
|
||||
|
||||
- name: Deploy Gitea container using Docker Compose V2
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ gitea_data_path }}"
|
||||
state: present
|
||||
- name: Deploy Gitea container using Podman Compose
|
||||
ansible.builtin.shell:
|
||||
cmd: podman-compose -f {{ gitea_data_path }}/docker-compose.yml up -d
|
||||
chdir: "{{ gitea_data_path }}"
|
||||
become: true
|
||||
|
||||
- name: Ensure Gitea container is running
|
||||
community.docker.docker_container_info:
|
||||
name: "{{ gitea_container_name }}"
|
||||
register: container_info
|
||||
ansible.builtin.shell:
|
||||
cmd: "podman ps -a --filter name={{ gitea_container_name }} --format '{{.Status}}'"
|
||||
register: gitea_container_status
|
||||
changed_when: false
|
||||
|
||||
- name: Restart Gitea container if not running
|
||||
community.docker.docker_container:
|
||||
name: "{{ gitea_container_name }}"
|
||||
state: started
|
||||
restart: true
|
||||
when: not container_info.container.State.Running
|
||||
ansible.builtin.shell:
|
||||
cmd: "podman restart {{ gitea_container_name }}"
|
||||
when: "'Exited' in gitea_container_status.stdout"
|
||||
become: true
|
||||
|
||||
@ -77,13 +77,17 @@
|
||||
become: true
|
||||
|
||||
- name: Deploy Containers
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/network
|
||||
state: present
|
||||
restart: true
|
||||
ansible.builtin.shell:
|
||||
cmd: podman-compose -f /opt/network/docker-compose.yml up -d
|
||||
chdir: /opt/network
|
||||
become: true
|
||||
|
||||
- name: Ensure Nginx container is running
|
||||
community.docker.docker_container_info:
|
||||
name: "{{ nginx_proxy_manager_container_name }}"
|
||||
register: nginx_container_info
|
||||
ansible.builtin.shell:
|
||||
cmd: "podman ps -a --filter name={{ nginx_proxy_manager_container_name }} --format '{{.Status}}'"
|
||||
register: nginx_container_status
|
||||
changed_when: false
|
||||
|
||||
- name: Display Nginx container status
|
||||
debug:
|
||||
var: nginx_container_status.stdout
|
||||
|
||||
@ -4,7 +4,22 @@
|
||||
name: podman
|
||||
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)
|
||||
ansible.builtin.apt:
|
||||
name: podman-docker
|
||||
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
|
||||
docker_container:
|
||||
- name: Run PostgreSQL Podman container
|
||||
containers.podman.podman_container:
|
||||
name: "{{ postgres_container_name }}"
|
||||
image: postgres
|
||||
state: started
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user