diff options
Diffstat (limited to 'playbooks/roles/bin')
-rw-r--r-- | playbooks/roles/bin/tasks/main.yml | 22 | ||||
-rw-r--r-- | playbooks/roles/bin/templates/stacks/docker-compose.yml | 13 |
2 files changed, 19 insertions, 16 deletions
diff --git a/playbooks/roles/bin/tasks/main.yml b/playbooks/roles/bin/tasks/main.yml index 5254826..568703a 100644 --- a/playbooks/roles/bin/tasks/main.yml +++ b/playbooks/roles/bin/tasks/main.yml @@ -1,19 +1,9 @@ --- -- name: Build bin compose dirs - ansible.builtin.file: - state: directory - dest: '{{ bin_base }}/{{ item.path }}' - with_filetree: '../templates' - when: item.state == 'directory' +- name: Deploy Bin + ansible.builtin.import_tasks: manage-docker-swarm-service.yml + vars: + service_name: bin + template_render_dir: "../templates" + service_destination_dir: "{{ bin_base }}" -- name: Build bin compose files - ansible.builtin.template: - src: '{{ item.src }}' - dest: '{{ bin_base }}/{{ item.path }}' - with_filetree: '../templates' - when: item.state == 'file' - -- name: Deploy bin stack - ansible.builtin.command: - cmd: 'docker stack deploy -c {{ bin_base }}/stacks/docker-compose.yml bin' diff --git a/playbooks/roles/bin/templates/stacks/docker-compose.yml b/playbooks/roles/bin/templates/stacks/docker-compose.yml index 75f48f4..f218b74 100644 --- a/playbooks/roles/bin/templates/stacks/docker-compose.yml +++ b/playbooks/roles/bin/templates/stacks/docker-compose.yml @@ -5,15 +5,28 @@ services: - {{ bin_base }}/volumes/data:/data environment: - TZ={{ timezone }} + - DEPLOYMENT_TIME={{ now() }} - TRUST_PROXY=true - API_URL=https://{{ bin_domain }} - DATA_DIRECTORY=/data - DATABASE_URL=file:/data/pingvin-share.db?connection_limit=1 + healthcheck: + test: ["CMD", "curl", "--fail", "http://localhost:3000/api/configs"] + timeout: 3s + interval: 1m + retries: 2 + start_timeout: 10s networks: - proxy deploy: mode: replicated replicas: 1 + update_config: + parallelism: 1 + failure_action: rollback + order: start-first + delay: 10s + monitor: 10s labels: - traefik.enable=true - traefik.swarm.network=proxy |