version: '3' services: db: image: mariadb container_name: nextcloud-mariadb networks: - internal command: --innodb-read-only-compressed=OFF volumes: - ./db:/var/lib/mysql - /etc/localtime:/etc/localtime:ro env_file: - db.env restart: unless-stopped labels: - "traefik.enable=false" redis: image: redis container_name: redis volumes: - redis:/data networks: - internal restart: unless-stopped app: image: nextcloud:latest container_name: nextcloud restart: always volumes: - ./nextcloud:/var/www/html # Pulls from /var/lib/docker/volumes/nextcloud_nextcloud/_data/ - ./nextcloud/config:/var/www/html/config # Pulls from local dir - ./stuff:/mnt/hdd # Pulls from root - ./nextcloud/apps:/var/www/html/custom_apps - ./nextcloud/data:/var/www/html/data - /opt/docker/podgrab/data:/mnt/podcasts # - ./apache:/etc/apache2/sites-enabled environment: - VIRTUAL_HOST=cloud.eichner.cc - DEFAULT_LANGUAGE="de" - DEFAULT_LOCALE="de_DE" env_file: - db.env depends_on: - db - redis networks: - traefik - internal labels: - "traefik.backend=nextcloud" - "traefik.docker.network=traefik" - "traefik.enable=true" - "traefik.frontend.rule=Host:cloud.eichner.cc" - "traefik.port=80" - traefik.frontend.headers.forceSTSHeader=true - traefik.frontend.headers.SSLRedirect=true - traefik.frontend.headers.STSPreload=true - traefik.frontend.headers.STSSeconds=15552000 cron: image: nextcloud volumes: - /opt/docker/nextcloud/nextcloud/nextcloud/:/var/www/html user: www-data restart: unless-stopped networks: - internal entrypoint: | bash -c 'bash -s <