diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ca0eae8 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,129 @@ +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: