version: '3' services: # Nextcloud Proxy proxy: image: jwilder/nginx-proxy:alpine labels: - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true" container_name: nextcloud-proxy networks: - nextcloud_network ports: - 980:80 - 9443:443 volumes: - ./proxy/conf.d:/etc/nginx/conf.d:rw - ./proxy/vhost.d:/etc/nginx/vhost.d:rw - ./proxy/html:/usr/share/nginx/html:rw - ./proxy/certs:/etc/nginx/certs:ro - /var/run/docker.sock:/tmp/docker.sock:ro restart: unless-stopped # Letsencrypt letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: nextcloud-letsencrypt depends_on: - proxy networks: - nextcloud_network volumes: - ./proxy/certs:/etc/nginx/certs:rw - ./proxy/vhost.d:/etc/nginx/vhost.d:rw - ./proxy/html:/usr/share/nginx/html:rw - /var/run/docker.sock:/var/run/docker.sock:ro restart: unless-stopped # Nextcloud Draw.io Export image-export: image: jgraph/export-server container_name: nextcloud-drawio-export expose: - "9000" networks: - nextcloud_network volumes: - ./fonts:/usr/share/fonts/drawio restart: unless-stopped # Drawio drawio: image: jgraph/drawio container_name: nextcloud-drawio networks: - nextcloud_network depends_on: - letsencrypt - proxy - image-export environment: - VIRTUAL_HOST=drawio.softuniq.eu - VIRTUAL_PORT=9090 - LETSENCRYPT_HOST=drawio.softuniq.eu - LETSENCRYPT_EMAIL=YOUR-EMAIL - EXPORT_URL=http://image-export:9000/ restart: unless-stopped ports: - 808:8080 # Nextcloud App app: image: nextcloud:latest container_name: app-server networks: - nextcloud_network depends_on: - letsencrypt - proxy volumes: - nextcloud:/var/www/html - ./app/config:/var/www/html/config - ./app/custom_apps:/var/www/html/custom_apps - ./app/data:/var/www/html/data - ./app/themes:/var/www/html/themes environment: - VIRTUAL_HOST=nextcloud.softuniq.eu - LETSENCRYPT_HOST=nextcloud.softuniq.eu - OVERWRITECLIURL=https://nextcloud.softuniq.eu - OVERWRITEPROTOCOL=https restart: unless-stopped ports: - 888:80 # OnlyOffice Document Server onlyoffice-document-server: container_name: onlyoffice-document-server image: onlyoffice/documentserver:latest restart: always environment: - JWT_SECRET=secret expose: - '80' - '443' volumes: - document_data:/var/www/onlyoffice/Data - document_log:/var/log/onlyoffice # NGINX Server nginx-server: container_name: nginx-server image: nginx restart: always ports: - "8080:80" - "444:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf - app_data:/var/www/html volumes: nextcloud: db: document_data: document_log: app_data: mysql_data: networks: nextcloud_network: