Diffstat (limited to 'deploy')
| -rw-r--r-- | deploy/inventory.yml | 22 | ||||
| -rw-r--r-- | deploy/playbook.yml | 37 |
2 files changed, 49 insertions, 10 deletions
diff --git a/deploy/inventory.yml b/deploy/inventory.yml index 3c1220d..0a63140 100644 --- a/deploy/inventory.yml +++ b/deploy/inventory.yml @@ -2,14 +2,20 @@ all: children: prod: hosts: - pl.saya.today: - saya_today_web_name: sayana-web - saya_today_web_hostname: sayana-web - saya_today_web_ipv4_address: 172.16.0.18 + node_prod: + ansible_host: uz.saya.casa + saya_today_web_name: sayauz-prod + saya_today_web_hostname: sayauz-prod + saya_today_web_ipv4_address: 172.16.0.17 + saya_today_web_listen_address: saya.uz + saya_today_web_unix_sockets_path: '/etc/sayauz' stage: hosts: - pl.saya.today: - saya_today_web_name: sayana-demo - saya_today_web_hostname: sayana-demo - saya_today_web_ipv4_address: 172.16.0.17 + node_stage: + ansible_host: uz.saya.casa + saya_today_web_name: sayauz-stage + saya_today_web_hostname: sayauz-stage + saya_today_web_ipv4_address: 172.16.0.18 + saya_today_web_listen_address: stage.saya.uz + saya_today_web_unix_sockets_path: '/etc/sayauz' diff --git a/deploy/playbook.yml b/deploy/playbook.yml index 773bb61..ae3e936 100644 --- a/deploy/playbook.yml +++ b/deploy/playbook.yml @@ -3,19 +3,52 @@ hosts: all remote_user: svc_github + vars: + docker_volumes: + - "{{ saya_today_web_name }}-volume:/data:rw" + tasks: + - name: Initialize Unix socket volume + when: >- + saya_today_web_unix_sockets_path is defined and + saya_today_web_unix_sockets_path is string and + saya_today_web_unix_sockets_path | length > 0 + block: + - name: Ensure Unix socket volume exists + community.docker.docker_volume: + name: "sayana_sockets" + - name: Include Unix socket volume in docker volumes list + ansible.builtin.set_fact: + docker_volumes: >- + {{ docker_volumes + ["sayana_sockets:" ~ saya_today_web_unix_sockets_path ~ ":rw"] }} + + - name: Create a data volume + community.docker.docker_volume: + name: "{{ saya_today_web_name }}-volume" + - name: Deploy saya-today-web Docker Container community.docker.docker_container: name: "{{ saya_today_web_name }}" hostname: "{{ saya_today_web_hostname }}" image: "ghcr.io/sayaandy/saya-today-web:{{ saya_today_web_tag }}" env: - B2_KEY_ID: "{{ saya_today_web_b2_key_id }}" - B2_APPLICATION_KEY: "{{ saya_today_web_b2_application_key }}" + S3_ACCESS_KEY_ID: "{{ saya_today_web_s3_access_key_id }}" + S3_SECRET_ACCESS_KEY: "{{ saya_today_web_s3_secret_access_key }}" + ENVIRONMENT: "{{ saya_today_web_environment }}" + AUTH_SALT: "{{ saya_today_web_auth_salt }}" + MAIL_HOST: "{{ saya_today_web_mail_host }}" + MAIL_ADDRESS: "{{ saya_today_web_mail_address }}" + MAIL_USERNAME: "{{ saya_today_web_mail_username }}" + MAIL_PASSWORD: "{{ saya_today_web_mail_password }}" + MAIL_SALT: "{{ saya_today_web_mail_salt }}" + FQDN: "{{ saya_today_web_listen_address }}" + GOOGLE_SITE_VERIFICATION: "{{ saya_today_google_site_verification | default('') }}" + YANDEX_VERIFICATION: "{{ saya_today_yandex_verification | default('') }}" network_mode: caddy networks: - name: caddy ipv4_address: "{{ saya_today_web_ipv4_address }}" + volumes: "{{ docker_volumes }}" restart_policy: unless-stopped no_log: true ... |