Nextcloud broken into roles.
Updated the web nginx.conf and the source is not given in the readme. Restricted to gondor. Webserver image and container names are now picked from the vars file.
This commit is contained in:
1 parent
e26809cec9
commit
008ac0d198
9 files changed
+150
-149
No files matched your search
@@ -0,0 +1,39 @@
|
||||
---
|
||||
# Tasks for Nextcloud role
|
||||
- name: Pull Nextcloud image
|
||||
docker_image:
|
||||
name: "{{ container_image }}"
|
||||
source: pull
|
||||
force_source: yes
|
||||
|
||||
- name: Ensure Nextcloud Directory exists
|
||||
file:
|
||||
path: "/var/lib/{{ host_directory }}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: Create Nextcloud container
|
||||
docker_container:
|
||||
name: "{{ container_name }}"
|
||||
image: "{{ container_image }}"
|
||||
state: started
|
||||
restart_policy: "unless-stopped"
|
||||
env:
|
||||
POSTGRES_DB: "{{ db_name }}"
|
||||
POSTGRES_USER: "{{ db_user }}"
|
||||
POSTGRES_PASSWORD: "{{ db_pass }}"
|
||||
POSTGRES_HOST: "{{ db_host }}"
|
||||
REDIS_HOST: "redis"
|
||||
links:
|
||||
- "postgres:db"
|
||||
- "redis:redis"
|
||||
published_ports:
|
||||
- "127.0.0.1:9000:9000"
|
||||
volumes:
|
||||
- "/var/lib/{{ host_directory }}:/var/www/html"
|
||||
|
||||
- name: Add cron job
|
||||
cron:
|
||||
name: Nextcloud cron
|
||||
minute: "*/5"
|
||||
job: "docker exec -u www-data {{ container_name }} php cron.php"
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
# Handlers for Nginx role
|
||||
- name: Reload Nginx
|
||||
service:
|
||||
name: nginx
|
||||
state: reloaded
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
# Tasks for Nginx role
|
||||
- name: Check if Nginx conf file exists
|
||||
stat:
|
||||
path: "/etc/nginx/sites-available/{{ http_conf }}"
|
||||
register: status
|
||||
|
||||
- name: No need to reload Nginx
|
||||
debug:
|
||||
msg: "No need to reload Nginx as sites-available entries have already been created"
|
||||
|
||||
- name: Set Nginx conf file
|
||||
when: status.stat.exists == false
|
||||
template:
|
||||
src: "files/nginx.conf.j2"
|
||||
dest: "/etc/nginx/sites-available/{{ http_conf }}"
|
||||
|
||||
- name: Enable new site
|
||||
when: status.stat.exists == false
|
||||
file:
|
||||
src: "/etc/nginx/sites-available/{{ http_conf }}"
|
||||
dest: "/etc/nginx/sites-enabled/{{ http_conf }}"
|
||||
state: link
|
||||
notify: Reload Nginx
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
# Tasks for Nextcloud webserver role
|
||||
- name: Copy dockerfile
|
||||
synchronize: src=web dest=/tmp
|
||||
|
||||
- name: Build nginx webserver image
|
||||
docker_image:
|
||||
name: "{{ web_container_image }}"
|
||||
build:
|
||||
path: /tmp/web/
|
||||
dockerfile: /tmp/web/Dockerfile
|
||||
pull: yes
|
||||
state: present
|
||||
source: build
|
||||
force_source: yes
|
||||
|
||||
- name: Create webserver container
|
||||
docker_container:
|
||||
name: "{{ web_container_name }}"
|
||||
image: "{{ web_container_image }}"
|
||||
state: started
|
||||
restart_policy: "unless-stopped"
|
||||
links:
|
||||
- "{{ container_name }}:app"
|
||||
published_ports:
|
||||
- "127.0.0.1:9080:80"
|
||||
volumes:
|
||||
- "/var/lib/{{ host_directory }}:/var/www/html:ro"
|
||||
Reference in new issue
Block a user