services: owncloud: image: owncloud/server:latest restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.owncloud.rule=Host(`cloud.smulders.online`)" - "traefik.http.routers.owncloud.entrypoints=websecure" - "traefik.http.routers.owncloud.tls.certresolver=letsencrypt" environment: - OWNCLOUD_DOMAIN=cloud.smulders.online - OWNCLOUD_TRUSTED_DOMAINS=cloud.smulders.online - OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_HOST=mariadb - OWNCLOUD_DB_NAME=${DB_NAME} - OWNCLOUD_DB_USERNAME=${DB_USER} - OWNCLOUD_DB_PASSWORD=${DB_PASSWORD} - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USER} - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD} volumes: - ./data/owncloud:/mnt/data depends_on: - mariadb - redis networks: - traefik-proxy - internal mariadb: image: mariadb:10.11 restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASSWORD} volumes: - ./data/mariadb:/var/lib/mysql networks: - internal redis: image: redis:7-alpine restart: unless-stopped networks: - internal networks: traefik-proxy: external: true internal: driver: bridge