Add cloud web office

This commit is contained in:
2026-02-12 18:39:50 +04:00
parent a150d7fddd
commit 95cd3c441c
5 changed files with 103 additions and 12 deletions

1
.gitignore vendored
View File

@@ -21,6 +21,7 @@ matrix/db
cloud/db
cloud/data
cloud/config
cloud/apps
disk/filebrowser.db

View File

@@ -7,3 +7,7 @@ PATH_TO_FOLDER=/path/to/folder/
NEXTCLOUD_ADMIN=admin
NEXTCLOUD_PASSWORD=password
NEXTCLOUD_DOMAIN=cloud.domain.ru
COLLABORA_ADMIN=admin
COLLABORA_PASSWORD=password
COLLABORA_DOMAIN=office.domain.ru

View File

@@ -29,16 +29,17 @@ services:
- ${PATH_TO_FOLDER:?}:/var/www/external_storage:z
- ./data:/var/www/html/data:z
- ./config:/var/www/html/config:z
environment:
- MYSQL_PASSWORD=${DATABASE_PASSWORD:?}
- MYSQL_DATABASE=${NEXTCLOUD_DATABASE:?}
- MYSQL_USER=${DATABASE_USER:?}
- MYSQL_HOST=nextcloud-db
- REDIS_HOST=nextcloud-redis
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN:?}
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_PASSWORD:?}
- NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN:?}
- ./apps:/var/www/html/custom_apps:z
#environment:
# - MYSQL_PASSWORD=${DATABASE_PASSWORD:?}
# - MYSQL_DATABASE=${NEXTCLOUD_DATABASE:?}
# - MYSQL_USER=${DATABASE_USER:?}
# - MYSQL_HOST=nextcloud-db
# - REDIS_HOST=nextcloud-redis
#
# - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN:?}
# - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_PASSWORD:?}
# - NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN:?}
depends_on:
- nextcloud-db
- nextcloud-redis
@@ -46,6 +47,21 @@ services:
- cloud_network
- private_cloud_network
nextcloud-collabora:
image: docker.io/collabora/code:latest
container_name: nextcloud-collabora
restart: always
environment:
- aliasgroup1=https://${NEXTCLOUD_DOMAIN:?}
- DONT_GEN_SSL_CERT=true
- server_name=${COLLABORA_DOMAIN:?}
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:net.post_allow.host[0]=.*
- username=${COLLABORA_ADMIN:?}
- password=${COLLABORA_PASSWORD:?}
networks:
- cloud_network
- private_cloud_network
networks:
cloud_network:
name: cloud_network

Binary file not shown.

View File

@@ -74,7 +74,77 @@ server {
}
}
# 4. Matrix
# 5. Cloud
server {
listen 443 ssl;
server_name cloud.stepanovplaton.ru;
ssl_certificate /etc/letsencrypt/live/cloud.stepanovplaton.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cloud.stepanovplaton.ru/privkey.pem;
client_max_body_size 0;
location / {
proxy_pass http://nextcloud;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 443 ssl;
server_name office.stepanovplaton.ru;
ssl_certificate /etc/letsencrypt/live/office.stepanovplaton.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/office.stepanovplaton.ru/privkey.pem;
location ^~ /browser {
proxy_pass http://nextcloud-collabora:9980;
proxy_set_header Host $host;
}
location ^~ /hosting/discovery {
proxy_pass http://nextcloud-collabora:9980;
proxy_set_header Host $host;
}
location ^~ /hosting/capabilities {
proxy_pass http://nextcloud-collabora:9980;
proxy_set_header Host $host;
}
location ~ ^/cool/(.*)/ws$ {
proxy_pass http://nextcloud-collabora:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade"; # Явно указываем Upgrade
proxy_set_header Host $host;
proxy_read_timeout 36000s;
}
location ^~ /cool/adminws {
proxy_pass http://nextcloud-collabora:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_read_timeout 36000s;
}
location / {
proxy_pass http://nextcloud-collabora:9980;
proxy_set_header Host $host;
}
}
server {
listen 443 ssl;
server_name talk.stepanovplaton.ru;
ssl_certificate /etc/letsencrypt/live/talk.stepanovplaton.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/talk.stepanovplaton.ru/privkey.pem;
location / {
return 200 "Nextcloud Talk TURN server not configured";
add_header Content-Type text/plain;
}
}
# 6. Matrix
server {
listen 443 ssl;
server_name m.domain.ru;
@@ -110,7 +180,7 @@ server {
}
}
# Memos
# 7. Memos
server {
listen 443 ssl;
server_name todo.domain.ru;