Add basic nextcloud deployment
Uses php-fpm image and is served through a simple caddy server. Automatically deploys by default and can be automatically deployed with smtp e-mail sending and s3 primary object storage optionally if desired. Utilizes some necessary hackery for container ordering and startup so startup is relatively slow (takes around 2-5 minutes at least) but once running should be stable and uninterrupted. Implements health-checks for all involved containers. Switch apache for php-fpm image
This commit is contained in:
parent
f2d85471b2
commit
f2e709590b
13 changed files with 532 additions and 0 deletions
39
roles/nextcloud/tasks/main.yml
Normal file
39
roles/nextcloud/tasks/main.yml
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
## install container
|
||||
- name: Check upstream status
|
||||
community.docker.docker_container_exec:
|
||||
container: "{{ caddy_container_id }}"
|
||||
command: >
|
||||
curl localhost:2019/id/{{ stack_name }}_upstream/
|
||||
register: result
|
||||
changed_when: (result.stdout | from_json) != (lookup('template', 'upstream.json.j2') | from_yaml)
|
||||
become: yes
|
||||
notify: "update nextcloud upstream"
|
||||
|
||||
- name: Ensure target directory exists
|
||||
ansible.builtin.file:
|
||||
path: "{{ nextcloud_upstream_file_dir }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
become: yes
|
||||
notify: "update nextcloud upstream"
|
||||
|
||||
- name: Move webserver Caddyfile to target dir
|
||||
ansible.builtin.copy:
|
||||
src: "Caddyfile"
|
||||
dest: "{{ nextcloud_upstream_file_dir }}/Caddyfile"
|
||||
become: yes
|
||||
notify: "update nextcloud upstream"
|
||||
|
||||
- name: Deploy to swarm
|
||||
community.general.docker_stack:
|
||||
name: "{{ stack_name }}"
|
||||
state: present
|
||||
prune: yes
|
||||
compose:
|
||||
- "{{ stack_compose }}"
|
||||
become: yes
|
||||
tags:
|
||||
- docker-swarm
|
||||
notify: "update nextcloud upstream"
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue