playbooks/echo.yml

79 lines
2.4 KiB
YAML
Raw Permalink Normal View History

2025-09-01 15:13:47 +03:30
- name: Pull and run private GHCR image
hosts: all
become: true
tasks:
2025-09-01 16:01:24 +03:30
- 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'
2025-09-01 15:13:47 +03:30
- name: Log in to GitHub Container Registry
community.docker.docker_login:
registry_url: ghcr.io
username: "{{ ghcr_username }}"
password: "{{ ghcr_token }}"
2025-09-01 18:38:30 +03:30
- name: Stop stage container if it exists
docker_container:
name: echo
state: absent
- name: Remove old image if exists
docker_image:
name: "{{ image_name }}"
state: absent
force_absent: true
2025-09-01 15:13:47 +03:30
- name: Pull image from GHCR
community.docker.docker_image:
name: "{{ image_name }}"
source: pull
2025-09-01 16:01:24 +03:30
- 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'
2025-09-01 15:13:47 +03:30
- name: Run container from image
2025-09-01 16:51:42 +03:30
docker_container:
2025-09-01 15:13:47 +03:30
name: echo
image: "{{ image_name }}"
2025-09-01 16:13:14 +03:30
command: ["server_web"]
2025-09-01 15:13:47 +03:30
restart_policy: always
2025-09-01 16:51:42 +03:30
state: started
2025-09-01 16:13:14 +03:30
networks:
2025-09-01 16:19:55 +03:30
- name: web
2025-09-01 16:13:14 +03:30
- name: inception
labels:
traefik.enable: "true"
2025-09-01 16:26:57 +03:30
traefik.docker.network: "web"
2025-09-01 16:13:14 +03:30
traefik.http.routers.iecho.entrypoints: "web,websecure"
traefik.http.routers.iecho.rule: "Host(`iecho.eron.co`)"
traefik.http.services.iecho.loadbalancer.server.port: "80"
traefik.http.routers.iecho.tls: "true"
2025-09-01 16:43:56 +03:30
traefik.http.routers.iecho.tls.certresolver: "httpresolver"
2025-09-01 16:13:14 +03:30
traefik.http.routers.iecho.service: "iecho"
2025-09-01 17:01:03 +03:30
traefik.http.routers.echo.entrypoints: "web,websecure"
traefik.http.routers.echo.rule: "Host(`echo.eron.co`)"
traefik.http.services.echo.loadbalancer.server.port: "3000"
traefik.http.routers.echo.tls: "true"
traefik.http.routers.echo.tls.certresolver: "httpresolver"
traefik.http.routers.echo.service: "echo"