version: '3' services: owncloud: image: owncloud/server:{{ owncloud_version }} container_name: owncloud restart: unless-stopped depends_on: - db - redis environment: - OWNCLOUD_DOMAIN={{ cloud_url }} - OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_NAME={{ cloud_db_user }} - OWNCLOUD_DB_USERNAME={{ cloud_db_user }} - OWNCLOUD_DB_PASSWORD={{ cloud_db_pass }} - OWNCLOUD_DB_HOST=db - OWNCLOUD_ADMIN_USERNAME={{ cloud_admin_user }} - OWNCLOUD_ADMIN_PASSWORD={{ cloud_admin_pass }} - OWNCLOUD_MYSQL_UTF8MB4=true - OWNCLOUD_REDIS_ENABLED=true - OWNCLOUD_REDIS_HOST=redis volumes: - owncloud:/mnt/data:z networks: default: inverseproxy_shared: labels: traefik.enable: "true" traefik.http.routers.cloud.rule: "Host(`{{ cloud_url }}`)" traefik.http.routers.cloud.service: "cloud" traefik.http.services.cloud.loadbalancer.server.port: "8080" db: image: webhippie/mariadb:{{ owncloud_db_version }} container_name: owncloud_db restart: unless-stopped environment: - MARIADB_ROOT_PASSWORD={{ cloud_db_root }} - MARIADB_USERNAME={{ cloud_db_user }} - MARIADB_PASSWORD={{ cloud_db_pass }} - MARIADB_DATABASE={{ cloud_db_user }} - MARIADB_MAX_ALLOWED_PACKET=128M - MARIADB_INNODB_LOG_FILE_SIZE=64M volumes: - mysql:/var/lib/mysql:z redis: image: webhippie/redis:latest container_name: owncloud_redis restart: unless-stopped environment: - REDIS_DATABASES=1 volumes: - redis:/var/lib/redis:z networks: default: internal: true driver_opts: encrypted: 1 inverseproxy_shared: external: true volumes: owncloud: mysql: redis: