version: '3.7' volumes: nextcloud-db: name: docker_nextcloud-db nextcloud: name: docker_nextcloud networks: nextcloud: proxy: external: true services: nextcloud-app: image: nextcloud:23.0.4-fpm-alpine container_name: nextcloud-app restart: unless-stopped volumes: - nextcloud:/var/www/html - ./zz-php-custom.ini:/usr/local/etc/php/conf.d/zz-php-custom.ini - ./zz-php-fpm-custom.conf:/usr/local/etc/php-fpm.d/zz-php-custom.conf environment: - "TZ=Europe/Paris" - POSTGRES_HOST=nextcloud-db - REDIS_HOST=redis env_file: ./secrets/librezo.secrets extra_hosts: - code.librezo.xyz:192.168.1.70 depends_on: - nextcloud-db - redis networks: - nextcloud restart: unless-stopped nextcloud-web: image: nginx:alpine container_name: nextcloud-web volumes: - nextcloud:/var/www/html:ro - ./nginx.conf:/etc/nginx/nginx.conf:ro env_file: ./secrets/librezo.secrets extra_hosts: - code.librezo.xyz:192.168.1.70 depends_on: - nextcloud-app environment: TZ: Europe/Paris networks: - nextcloud - proxy labels: traefik.http.routers.nextcloud-web.entrypoints: websecure traefik.http.routers.nextcloud-web.rule: Host(`cloud.librezo.xyz`) traefik.http.services.nextcloud-web.loadbalancer.server.port: 80 traefik.enable: true # https://docs.nextcloud.com/server/16/admin_manual/configuration_server/reverse_proxy_configuration.html traefik.http.routers.nextcloud-web.middlewares: nextcloud-web@docker traefik.http.middlewares.nextcloud-web.redirectregex.permanent: true traefik.http.middlewares.nextcloud-web.redirectregex.regex: ^/.well-known/(card|cal)dav traefik.http.middlewares.nextcloud-web.redirectregex.replacement: /remote.php/dav/ restart: unless-stopped redis: image: redis image: 'bitnami/redis:latest' container_name: redis environment: - ALLOW_EMPTY_PASSWORD=yes - "TZ=Europe/Paris" networks: - nextcloud nextcloud-db: image: postgres:11 container_name: nextcloud-db volumes: - nextcloud-db:/var/lib/postgresql/data networks: - nextcloud env_file: ./secrets/librezo.secrets environment: - "TZ=Europe/Paris" restart: unless-stopped collabora: image: libreoffice/online:master container_name: collabora # ports: # - 9980:9980 # expose: # - "9980" environment: - "TZ=Europe/Paris" - domain=cloud\.librezo\.xyz - username=nextcloud - password=password - serveur_name=code\.librezo\.xyz - "extra_params=--o:ssl.enable=false --o:ssl.termination=true" networks: - nextcloud - proxy cap_add: - MKNOD restart: unless-stopped labels: traefik.http.routers.collabora.entrypoints: websecure traefik.http.routers.collabora.rule: Host(`code.librezo.xyz`) traefik.http.services.collabora.loadbalancer.server.port: 9980 traefik.enable: true