--- - 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"