summaryrefslogtreecommitdiffci
path: root/deploy/playbook.yml
blob: b73146a1ae73ef4c756639a22f86bca852cd7b7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
- 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('') }}"
        network_mode: caddy
        networks:
          - name: caddy
            ipv4_address: "{{ saya_today_web_ipv4_address }}"
        volumes: "{{ docker_volumes }}"
        restart_policy: unless-stopped
      no_log: true
...