Diffstat (limited to 'deploy/playbook.yml')
| -rw-r--r-- | deploy/playbook.yml | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/deploy/playbook.yml b/deploy/playbook.yml new file mode 100644 index 0000000..ae3e936 --- /dev/null +++ b/deploy/playbook.yml @@ -0,0 +1,54 @@ +--- +- name: Deploy saya-today-web Docker Container + 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: + 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 +... |