Diffstat (limited to 'deploy/playbook.yml')
| -rw-r--r-- | deploy/playbook.yml | 62 |
1 files changed, 48 insertions, 14 deletions
diff --git a/deploy/playbook.yml b/deploy/playbook.yml index c126f23..057cc19 100644 --- a/deploy/playbook.yml +++ b/deploy/playbook.yml @@ -3,19 +3,53 @@ hosts: all remote_user: svc_github + vars: + docker_volumes: + - "{{ saya_today_web_name }}-volume:/data:rw" + tasks: - - 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 }}" - network_mode: caddy - networks: - - name: caddy - ipv4_address: "{{ saya_today_web.ipv4_address }}" - restart_policy: unless-stopped - no_log: true + - 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 sayauz/web Docker Container + community.docker.docker_container: + name: "{{ saya_today_web_name }}" + hostname: "{{ saya_today_web_hostname }}" + image: "registry.sayag.it/sayauz/web:{{ saya_today_web_tag }}" + env: + 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_VERIFICATION: "{{ saya_today_google_verification | default('') }}" + YANDEX_VERIFICATION: "{{ saya_today_yandex_verification | default('') }}" + BING_VERIFICATION: "{{ saya_today_bing_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 ... |