alicante-infra/roles/docker_base/tasks/main.yml

61 lines
1.6 KiB
YAML

---
- name: Instalar dependencias Python para Docker
apt:
name:
- python3-requests
- python3-docker
state: present
- name: Verificar si Docker está instalado
stat:
path: /usr/bin/docker
register: docker_exists
- name: Instalar Docker
shell: curl -fsSL https://get.docker.com | sh
when: not docker_exists.stat.exists
- name: Instalar Docker Compose v2
shell: |
mkdir -p /usr/local/lib/docker/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
args:
creates: /usr/local/lib/docker/cli-plugins/docker-compose
- name: Crear red Docker compartida
community.docker.docker_network:
name: alicante-net
driver: bridge
- name: Crear directorio para Dockge
file:
path: "{{ docker_root }}/dockge"
state: directory
- name: Verificar si Dockge ya existe
community.docker.docker_container_info:
name: dockge
register: dockge_info
ignore_errors: yes
- name: Desplegar Dockge (solo si no existe)
community.docker.docker_container:
name: dockge
image: louislam/dockge:1
restart_policy: unless-stopped
ports:
- "{{ ports.dockge }}:5001"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- "{{ data_root }}/dockge:/app/data"
- "{{ docker_root }}:/opt/stacks"
env:
TZ: "{{ timezone }}"
when: not dockge_info.exists
- name: Informar si Dockge ya existe
debug:
msg: "Dockge ya está corriendo en el puerto {{ ports.dockge }}"
when: dockge_info.exists