This commit is contained in:
93
tasks/owncloud.yml
Normal file
93
tasks/owncloud.yml
Normal file
@@ -0,0 +1,93 @@
|
||||
---
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/owncloud"
|
||||
- "{{ data_dir }}/owncloud/data"
|
||||
- "{{ data_dir }}/owncloud/db"
|
||||
- "{{ data_dir }}/owncloud/redis"
|
||||
|
||||
- name: Create Owncloud Docker Network
|
||||
docker_network:
|
||||
name: owncloud
|
||||
|
||||
- name: Pull latest Owncloud Docker Image
|
||||
docker_image:
|
||||
name: owncloud/server
|
||||
tag: "10.15"
|
||||
source: pull
|
||||
|
||||
- name: Create Owncloud DB Docker Container
|
||||
docker_container:
|
||||
name: oc_database
|
||||
image: mariadb:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: owncloud
|
||||
volumes:
|
||||
- "{{ data_dir }}/owncloud/db:/var/lib/mysql"
|
||||
env:
|
||||
MYSQL_ROOT_PASSWORD: "{{ OWNCLOUD_DB_PASSWORD }}"
|
||||
MYSQL_DATABASE: "owncloud"
|
||||
MYSQL_USER: "owncloud"
|
||||
MYSQL_PASSWORD: "{{ OWNCLOUD_DB_PASSWORD }}"
|
||||
MARIADB_AUTO_UPGRADE: "1"
|
||||
command: "--max-allowed-packet=128M --innodb-log-file-size=64M"
|
||||
healthcheck:
|
||||
test: "CMD mysqladmin ping -u root --password={{ OWNCLOUD_DB_PASSWORD }}"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
- name: Create Owncloud Redis Container
|
||||
docker_container:
|
||||
name: oc_redis
|
||||
image: redis:latest
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: owncloud
|
||||
command: "--databases 1"
|
||||
healthcheck:
|
||||
test: CMD redis-cli ping
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
volumes:
|
||||
- "{{ data_dir }}/owncloud/redis:/data"
|
||||
|
||||
- name: Create Owncloud Docker Container
|
||||
docker_container:
|
||||
name: owncloud
|
||||
image: owncloud/server:10.15
|
||||
restart_policy: unless-stopped
|
||||
recreate: true
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
- name: owncloud
|
||||
volumes:
|
||||
- "{{ data_dir }}/owncloud/data:/mnt/data"
|
||||
env:
|
||||
OWNCLOUD_DOMAIN: "{{ OWNCLOUD_APP_URL }}"
|
||||
OWNCLOUD_TRUSTED_DOMAINS: "{{ OWNCLOUD_APP_URL }}"
|
||||
OWNCLOUD_DB_TYPE: "mysql"
|
||||
OWNCLOUD_DB_NAME: "owncloud"
|
||||
OWNCLOUD_DB_USERNAME: "owncloud"
|
||||
OWNCLOUD_DB_PASSWORD: "{{ OWNCLOUD_DB_PASSWORD }}"
|
||||
OWNCLOUD_DB_HOST: "oc_database"
|
||||
OWNCLOUD_ADMIN_USERNAME: "{{ OWNCLOUD_ADMIN_USERNAME }}"
|
||||
OWNCLOUD_ADMIN_PASSWORD: "{{ OWNCLOUD_ADMIN_PASSWORD }}"
|
||||
OWNCLOUD_MYSQL_UTF8MB4: "true"
|
||||
OWNCLOUD_REDIS_ENBALED: "true"
|
||||
OWNCLOUD_REDIS_HOST: "oc_redis"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.nc.rule: Host(`{{ OWNCLOUD_APP_URL }}`)
|
||||
traefik.http.routers.nc.entrypoints: webSecure
|
||||
traefik.http.routers.nc.tls.certresolver: letsencrypt
|
||||
traefik.http.services.nc.loadbalancer.server.port: "8080"
|
||||
traefik.http.middlewares.limit.buffering.maxRequestBodyBytes: "1073741824"
|
||||
traefik.http.routers.nc.middlewares: "limit"
|
||||
Reference in New Issue
Block a user