playbooks/echo.yml

75 lines
2.3 KiB
YAML
Raw 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 }}"
- 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'
- name: Stop stage container if it exists
docker_container:
name: echo
state: absent
2025-09-01 15:13:47 +03:30
- name: Run container from image
community.docker.docker_container:
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:29:40 +03:30
ports:
- 8001:80
- 8002:3000
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"
traefik.http.routers.iecho.tls.certresolver: "letsencrypt"
traefik.http.routers.iecho.service: "iecho"
traefik.http.routers.echo.entrypoints: "web,websecure"
traefik.http.routers.echo.rule: "Host(`echo.eron.co`)"
2025-09-01 16:26:57 +03:30
traefik.http.services.echo.loadbalancer.server.port: "3000"
2025-09-01 16:13:14 +03:30
traefik.http.routers.echo.tls: "true"
traefik.http.routers.echo.tls.certresolver: "letsencrypt"
traefik.http.routers.echo.service: "echo"