áá±áž áá¬á! áá±á¬ááºážáá«ážáá²á· áá¬áá¬ááŒááºáá»ááºááᯠáááºážáá²á·á¡á¬áá¯á¶ááᯠáá«áááºááŒáááºá
áááºážááá¬á¡áá¬ážáá±ážáá°áá»á¬ážáááááœáẠGoogle Docs ááŸáá·áº cloud storage áá²á·ááá¯á·áá±á¬ á¡áœááºááá¯ááºážáá¯á¶ážá¡á
á¯á¶áá»á¬ážááááºááá¯ážááᯠáá»áŸá±á¬á·ááœááºááẠáááºáá²áááºá áááºážááá¬ááẠá¡ááœááºáá»ááºááŒáá·áºáá¬áááºááŸáá·áºá¡áá»áŸ Office applications áá»á¬ážá
á»á±ážááœááºááᯠáá¬áááŸááºááŒá¬ááœáŸááºážááá¯ážáá¬ážáá²á·ááá·áº Microsoft ááẠáááŒá¬áá±ážáá®á Office 365 áááºá¡ááºááá®áá±ážááŸááºážááᯠáá®ááœááºáááºáá®ážáááºááŸáá·áº áááºážááá¯á·áááá¯ááºááá¯ááºáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠá
á¬áááºážááœááºážááŸá¯áá¯á¶á
á¶ááá¯á· áá¯á¶ážá
áœá²áá°áá»á¬ážááᯠááœá²áá±á¬ááºááẠá¡á¬áá¯á¶á
áá¯ááºáá²á·áááºá ááŒá±á¬ááºá¡á±á¬ááºááŸá áááºážááá¯á·áááá¯ááºááá¯ááºááá¯ááŸá±á¬ááºáááºážááᯠááá·áºááœááºážááŒááºážááŸáá·áº áááºááŸááºááŒááºážáá¯ááºáááºážá
ááºááᯠá
áááºáááºá
á¬ážáá°áá»á¬ážá¡á¬áž áá»áœááºá¯ááºááá¯á·ááááºáá±á«áºáá«áááºá
áááŒá¬áá±ážáá®á áá»áœááºá¯ááºááá¯á·ááẠcloud ááá¯ááŸá±á¬ááºááŸá¯ááŒá±ááŸááºážáá»ááºáá»á¬ážááŸáá·áº á¡áá±ážá
á¬ážáá¯ááºáááºážáá
áºáá¯ááœáẠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠá¡ááœááºááá°á¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº open source áááºáá¯á¶ážá¡á
á¯á¶áá»á¬ážááᯠááŒáá·áºááŸá¯áá²á·áááºá á
á¬ááœááºá
á¬áááºážá¡á¬ážáá¯á¶ážááᯠá¡áœááºááá¯ááºážááœááºáá¬ážááŸáááŒááºážá¡ááœáẠá¡áááááœááºážá¡á¬ážááŸá¬ á
á¬ááœááºá
á¬áááºážáá»á¬ážááᯠá¡áááºážáá¯á¶ážáá¬ážááŸááááºááŸáá·áº á¡áá±á¬ááºážá¡áááºááá¬ááááºážáá«ážáá±áá±á¬áºáááºáž áá±á¬ááºážááœááºáá±á¬á
á®ážááœá¬ážáá±ážá¡áá±á·á¡áá»áá·áºáá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºááŒá
áºáááºá á¡ááŒáœá±á
á±á·áá¡ááŒá¬ážáá
áºáááºááŸá¬ á€áááºáá±á¬ááºááŸá¯áá±ážáááºá¡ááœáẠcloud áá¬áá¬ááᯠááŸá¬ážáááºážááŒááºážááẠáá¯ááºáááºážááááá¯ááºáá»á¬ážááœáẠááá¯ááºááá¯ááºááááºážáááºážááŒááºážááẠáá¯á¶ááŒá¯á¶á
áááºáá»áááŸá¯áááºážáá«áááºá ááá¯á·ááŒá±á¬áá·áºá end-to-end encryption ááŸáá·áº open source software áááºáž ááá¯á¡ááºáá«áááºá
ááœáá·áºáááºážáááºážááŒá áºááŒá±ááŸááºážáá»ááºáá»á¬ážááŸáá·áºáááºáááºááá·áº áááŸáááá¯ááºáá±á¬á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááᯠááá·áºááœááºážá ááºážá á¬ážá cloud ááá¯ááŸá±á¬ááºááŸá¯á¡ááœáẠáá®ááœááºáá¬ážááá·áº ááœááºáá²á·ááá·áº 12 áá¡ááœáẠ(git repository ááœáẠáááááááºáá»á¬ážáá«ááá·áº) áááºááŒáœáá±á¬ááá±á¬áá»ááºááŸá áºáá¯ááᯠááœá±á·ááŸááááº- NextCloud ááŸáá·áº OwnCloud ááŸáá·áº áá áºáá¯áááºážáá±á¬á¡áááºáááºáá±á¬ ONLYOFFICE áá¯á¶ážáááºážá¡á á¯á¶á cloud ááá¯ááŸá±á¬ááºááŸá¯áááááá¬ááŸá áºáá¯á áá¯á¶ážááẠá¡ááŒááºážáá»ááºážáá°áá®áá±á¬áá¯ááºáá±á¬ááºááá¯ááºá áœááºážááŸáááŒá®áž NextCloud ááá¯ááœá±ážáá»ááºáááºáá¯á¶ážááŒááºáá»ááºááẠONLYOFFICE ááŸáá·áº áá±á«ááºážá ááºá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áºáá±á¬á·ááºáá²ááºááŸáá·áºá¡áááºááŒá±áá±á¬á¡áá¯á¶ážááŒá¯áá°á¡ááŒááºá¡ááŸááºáááºáá¶áá±ážá¡ááœáẠONLYOFFICE ááŸáá·áº áá±á«ááºážá ááºážááá¯ááºááá·áºá¡áá±á¬ááºá¡áá¬ážááŸáááŒá±á¬ááºážááᯠá¡ááŒá±áá¶áá¬ážáááºá ááá¯á·áá±á¬áºá áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá áááºá¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á á¡áááºáá±á¬áºááŒáá« áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá±á«ááºážá ááºááŒááºážááá¯ááºáᬠááááºážá¡áá»ááºá¡ááẠáááºážáá«ážááŒááºážááŸá¬ áááºááŸá¬ážáá¬áá«áááºá áá±á«ááºážá ááºážáááºážá¡ááœáẠáá»á°ááá¯áá®ááẠáá®áá®ááᯠ3 áá¯ááᯠáá»áœááºá¯ááºááá¯á· ááœá±á·ááŸááááº-
www.youtube.com/watch?v=GAd-x_sP6ng www.youtube.com/watch?v=ceOld6P16wI www.youtube.com/watch?v=DvTXyl-OOZA
áá®áá®ááᯠá áá¯á¡áááºá០áá áºáá¯á០áá»áŸáá±áá¬ážáá±á¬ nginx ááŒáá·áº NextCloud áá²á·ááá¯á· áá°áá®áá±á¬áá¯ááºááá¯ááºážááá¯ááºáá¬áá¬áá¬ááœáẠONLYOFFICE á á¬ááœááºá á¬áááºážáááºáá±á¬ááºááŸá¯ááᯠááá·áºááœááºážááŒááºážááá¯ááºáᬠáá±ážááœááºážááᯠá¡ááŒá±ááá±ážáá«á áááºážá¡á á¬ážá á á¬ááœááºá á¬áááºážáááºáá±á¬ááºááŸá¯ api á¡ááœáẠáá®ážááŒá¬áž port áá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááŒááºážáá²á·ááá¯á·áá±á¬ ááœá²ááœááºááŒááºážáááºážááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá áá±á¬ááºáááºá¡ááŒá¶ááŒá¯áá»ááºááŸá¬ Document Service á¡ááœáẠáá®ážááŒá¬ážáá¬áá¬áá áºáá¯á¡á¬áž á¡áá¯á¶ážááŒá¯áááºááŒá áºááŒá®áž áááºáá±á¬ááºááœáá·áºáá±á¬á·ááᯠááá·áºááœááºážááẠDocument Service ááœáẠáááºáá±á¬ááºáá¬ážáá±á¬ nginx instance ááᯠááá¯ááºááá¯áẠconfigure ááŒá¯áá¯ááºááŒááºáž (áá±áᬠcloud ááá¯áááºáá±á¬ááºááœáá·áºááᯠá¡áááºááŒá¯ááá·áº ááŒáá¯áááºáááá¬ážáá±á¬ access key) ááŸáá·áº TLS áááºááŸááºáá»á¬ážá á¡áááºáá±á¬áºááŒáá«áááºážáááºážáá»á¬ážááẠáá±ážáááºážááŒá®áž áááá±á¬ááºááŸá¯ áááŸááᯠáá°ááá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠDocker-compose ááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááááºážá¡áááºáá»á¬ážááŒáá·áº áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠááœá²ááŒá¬ážáá±ážááá·áº NextCloudá ONLYOFFICE ááŸáá·áº áá¯á¶ nginx ááᯠáá±á«ááºážá ááºáá¬ážáááºá á€ááœáẠááŒá¯áá¯ááºáá¯á¶á¡ááá·áºááá·áº á¡áá»ááºá¡áááºáá»á¬ážááᯠáá±á¬áºááŒáá¬ážáá«áááºá
á¡ááá·áº 1: nginx ááœááºááááºáá¬
áááºážááẠá¡ááœááºááá¯ážááŸááºážáá±á¬ á áá áºááá·áºááœááºážááŸá¯ááŒá áºááŒá®ážá ááá¯á·áá±á¬áº á€á¡ááá·áºááẠááŒá±á¬ááºážááŒááºááá±á¬ááºá á®áá¬áá¬ááᯠá á®á ááºáááºááŸááºááẠá¡áá¯ááºá¡áá»á¬ážáá¯á¶ážááá¯á¡ááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠnginx:stable image á¡ááœáẠdocker-compose configuration ááᯠááááá¯á¶áž áááºáá®ážáá²á·áááºá
version: '2'
services:
nginx:
image : nginx:stable
restart: always
volumes:
- ./nginx/nginx-vhost.conf:/etc/nginx/conf.d/default.conf:ro
- ./nginx/certificates:/mycerts
ports:
- 443:443
- 80:80
áááºážááẠá¡áá»á¬ážáá°ááŸá¬ ááœáá·áºáá¬ážáá±á¬ ááááºáááºáž 80 ááŸáá·áº 443 áá«ááŸááá±á¬ ááœááºááááºáá¬ááᯠáááºáá®ážááŒá®áž nginx/nginx-vhost.conf ááá¯á· ááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶ááᯠááŒá±áá¯á¶ááœá²áá¬á ááá¯ááºááá¯ááºáááºááŸááºááá¯ážáá¬ážáá±á¬ áááºááŸááºáá»á¬ážá¡ááŒá
Ạáá¯ááºáá¯ááºááá·áº áááºááŸááºáá»á¬ážá¡ááœáẠá
ááá¯ážááá¯ááºáá
áºáá¯á¡á¬áž áááºááŸááºáá±ážááẠááá¯á·ááá¯áẠ/nginx/certificates ááœáẠLet's encrypt's certbot ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá á€áááºáá±áá¬ááẠáááºááŸááºááœááºážáááºááŸáá·áº áá¬áá¬áá®ážááá·áºáá±á¬á·á¡ááœáẠáá
áºáá¯á
á®ááœáẠfullchain1.pem ááŸáá·áº privkey1.pem ááá¯ááºáá»á¬ážáá«ááŸááá±á¬ office.yourdomain.com ááŸáá·áº cloud.yourdomain.com á¡ááœáẠááá¯ááºááœá²áá»á¬áž áá«áááºááá·áºáá«áááºá ááá¯ááºááá¯ááºáááºááŸááºááá¯ážáá¬ážáá±á¬ áááºááŸááºááᯠáááºááá¯á·áá¯ááºáá¯ááºááááºááᯠá€áá±áá¬ááœáẠáááºááá¯ááá¯áááºááŸá¯ááá¯ááºáá«áááºá
ááá¯á·áá±á¬ááºááœááºá áá»áœááºá¯ááºááá¯á·ááẠvhost ááá¯ááºááá¯áááºááŸááºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠport 80 á á¡ááŒá¯á¡áá°ááᯠhttps ááá¯á· ááá¯ážááŸááºážá áœá¬ ááŒááºááœáŸááºážááŒááºážá¡ááŒá Ạááááá¯á¶ážáááºááŸááºáá¬ážáááºá http traffic ááᯠááœáá·áºáááŒá¯áá»ááºáá«á
server {
listen 80;
location / {
return 301
https://$host$request_uri;
}
}
ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠport 443 ááœáẠvirtual server ááŸá áºáá¯ááᯠáááºáá®ážáá²á·áááº-
server {
listen 443 ssl;
server_name cloud.yourdomain.com ;
root /var/www/html;
ssl_certificate /mycerts/cloud.yourdomain.com/fullchain1.pem;
ssl_certificate_key /mycerts/cloud.yourdomain.com/privkey1.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
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;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app:80;
}
}
server {
listen 443 ssl;
server_name office.yourdomain.com;
root /var/www/html;
ssl_certificate /mycerts/office.yourdomain.com/fullchain1.pem;
ssl_certificate_key /mycerts/office.yourdomain.com/privkey1.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
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;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://onlyoffice:80;
}
}
á¡ááá·áº 2- á á¬ááœááºá á¬áááºážáááºáá±á¬ááºááŸá¯
ááᯠáá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á docker-compose.yml ááœáẠá á¬ááœááºá á¬áááºážáááºáá±á¬ááºááŸá¯ááœááºááááºáá¬ááᯠááá·áºááẠááá¯á¡ááºáá«áááºá á€áá±áá¬ááœáẠá á®á ááºááẠá¡áá°ážá¡ááœá± áááŸááá«á
services:
...
onlyoffice:
image: onlyoffice/documentserver
restart: always
ááá¯á·áá±á¬áº nginx ááœááºááááºáá¬ááᯠá á¬ááœááºá á¬áááºážáááºáá±á¬ááºááŸá¯ááŸáá·áº áá»áááºáááºááẠááá±á·áá«ááŸáá·áºá
services:
...
nginx:
...
depends_on:
- onlyoffice
á¡ááá·áº 3: NextCloud
ááááŠážá áœá¬ áááºáá±á¬ááºááŸá¯á¡áá áºáá»á¬áž ááá·áºáá«-
services:
...
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- /data/nextcloud_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=#put some password here
- MYSQL_PASSWORD=#put some other password here
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
depends_on:
- db
- onlyoffice
restart: always
ááŸáá·áº nginx ááá¯á· ááá·áºááºáá áºáᯠááá·áºáá«
services:
...
nginx:
...
depends_on:
- app
ááᯠááœááºááááºáá¬áá»á¬ážááᯠáááºááẠá¡áá»áááºáá±á¬ááºáá«ááŒá®á
docker-compose up -d
ááá¡ááŒá¬ááœááºá nginx ááẠááá·áºá¡á¬áž áá¯á¶áá±ááœá²á·á ááºážáá¯á¶á á¬áá»ááºááŸá¬ááŒá áºááá·áº NextCloud ááŸá±á·áá¯á¶ážááá¯á· ááŒááºááœáŸááºážáá±ážáááá·áºáááºá áááºáááááá¯á¶ážá á®áá¶ááá·áºááœá²áá°á¡áá¯á¶ážááŒá¯áá°á¡ááœáẠá¡áá¯á¶ážááŒá¯áá°á¡áááºááŸáá·áº á áá¬ážááŸááºááŸáá·áº docker-compose.yml ááœáẠáááºáá±ážáá¬ážááá·áº áá±áá¬áá±á·á áºá¡áá±á¬ááºá¡áá¬ážáá»á¬ážááᯠááá·áºááœááºážááẠááá¯á¡ááºáááºááŒá áºááŒá®áž á áá áºááá·áºááœááºážááŸá¯ááŒá®ážáááºááŸáá·áº áááºááẠáá±á¬á·ááºá¡ááºáááºááá¯ááºáááºááŒá áºáááºá áá»áœááºá¯ááºááá¯á·áá¡ááŒá±á¡áá±ááœááºá á á±á¬áá·áºááá¯ááºážáá»áááºááẠáá áºáááá áºáá®ážáá«ážááŒá¬ááŒáá·áºááŒá®áž cloud áááºáá±á¬ááºááŸá¯ááá¯á· áá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºáá® áá±á¬á·ááºá¡ááºá á¬áá»ááºááŸá¬á áá±á¬ááºáááºááŒááºáááºáááºážáá áºááŸá¯áá áºáᯠááá¯á¡ááºáá«áááºá
NextCloud áááºáá±á¬ááºááŸá¯áááºáááºáá»á¬áž áááºážááá¯áž
á¡ááá·áº 4- NextCloud ááŸáá·áº ONLYOFFICE ááá¯áá»áááºáááºááŒááºážá
á€á¡ááá·áºááœáẠáááºááẠONLYOFFICE áá¯ááºáá±á¬ááºáá»ááºááᯠáá»áááºáááºáá±ážááá·áº NextCloud á¡ááœáẠá¡ááºááºááᯠááá·áºááœááºážááẠááá¯á¡ááºáááºááŒá áºáááºá áá®áá°ážáá¡áá±á«áºáááºáá¬áááºáá±á¬áá·áºááŸá á¡ááá®áá±ážááŸááºážááááºážáá»á¯ááºááŸá¯áá±á¬ááºááŒáá·áºá ááŒáá«á áá¯á·á ONLYOFFICE á¡ááºááºááᯠááŸá¬áá« (Office & á á¬áá¬ážá¡á±á¬ááºááœáẠááá¯á·ááá¯áẠááŸá¬ááœá±ááŸá¯ááᯠá¡áá¯á¶ážááŒá¯á) ááá·áºááœááºážááŒá®áž áááºážááᯠá¡áááºááœááºážáá«á
ááá¯á·áá±á¬áẠáá¬áááºá¡áá±á«áºáá±á¬áá·áºááŸá áá®áá°ážááŸáá áºááá·áº áááºáááºáá»á¬ážáá®ááá¯á· áŠážáááºááŒá®áž áááºáááºáá®áá°ážááœáẠONLYOFFICE ááᯠááœá±á·ááŸáááá«áááºá ááœá¬ážááá¯ááºáá«á á¡á±á¬ááºáá«ááááºá á¬á¡ááá¯ááºáž á á¬áááºážáá±ážááœááºážááẠááá¯á¡ááºáá«áááºá
áá±á«ááºážá
ááºážááŒááºáž á¡ááá®áá±ážááŸááºáž áááºáááºáá»á¬áž
ááááá¯á¶áž ááááºá
á¬ááᯠbrowser ááœááºáááºáááºáá±áá±á¬ á¡ááá®áá±ážááŸááºážá០js ááŸáá·áº css ááá¯ááºá¡áá»áá¯á·ááá¯á· ááá¯ááºááá¯ááºááá·áºááºáá»áááºááẠá¡áá¯á¶ážááŒá¯ááẠ(áááºážááẠáá»áœááºá¯ááºááá¯á·ááẠNGinx ááŸáá
áºááá·áº ONLYOFFICE áááºáá±á¬ááºááŸá¯ááᯠááœáá·áºááẠááá¯á¡ááºáááº)á áá»áœááºá¯ááºááá¯á·ááẠDocker áá®ážááŒá¬ážááœá²áá¯ááºááŒááºážá¡ááœáŸá¬ááᯠá¡ááŒá²á¡áá±á¬ááºá¡áá¬ážá
áá
á
áºááŒááºážáá®ážááẠááá¯ááá¯áá¯á¶ááŒááºáá±á¬ááŒá±á¬áá·áº áá»áŸáá¯á·ááŸááºáá±á¬á·ááᯠá¡áá¯á¶ážáááŒá¯áá«á ááááááááºá
á¬ááᯠONLYOFFICE API ááá¯á·ááá¯ááºááá¯ááºáá»áááºáááºááẠNextCloud ááœááºááááºáá¬ááŸá¡áá¯á¶ážááŒá¯ááŒá®áž áááºážááẠDocker á០áá°áááºážááŒááºááœááºážááŸá hostname ááá¯á¡áá¯á¶ážááŒá¯áááºá áá±á¬ááºážááŒá®á áááºááẠDocker ááœááºáááºáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯áá±áá«á ááŒááºá IP ááááºá
ᬠááá¯á·ááá¯áẠá¡ááœááºáž Docker ááááºá
á¬ááᯠá¡áá¯á¶ážááŒá¯á ONLYOFFICE ááá¯á· ONLYOFFICE áᶠááŒááºáááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŒá¯áá¯ááºááá¯ááºá
á±áááºá¡ááœáẠáá±á¬ááºáá¯á¶ážá¡ááœááºááᯠá¡áá¯á¶ážááŒá¯áá¬ážáá±á¬áºáááºáž áááºážááᯠáá»áœááºá¯ááºááá¯á·ááá
á¹á
ááœáẠá¡áá¯á¶ážáááŒá¯áá«á áááºá firewall áááºáááºáá»á¬ážááẠá€áá¯á¶á·ááŒááºááŸá¯áá»áá¯ážáá»á¬ážááᯠááœáá·áºááŒá¯ááŒá±á¬ááºáž áá±áá»á¬áá«á
á±á
ááááºážáááºážááŒá®ážáá±á¬ááºá NextCloud ááẠáá»áááºáááºááŸá¯ááᯠá ááºážáááºáááºááŒá áºááŒá®ážá á¡á¬ážáá¯á¶ážááŸááºáá«áá áá±á«ááºážá ááºážááŸá¯ááŸáá·áºáááºáááºááá·áº áááºáááºáá»á¬ážááᯠááá·áºá¡á¬áž ááŒááá«ááẠ- á¥ááá¬á á€áá±á«ááºážá ááºááŸá¯ááŒáá·áº áááºážááŒááºááá¯ááºáá±á¬ ááá¯ááºá¡áá»áá¯ážá¡á á¬ážáá»á¬ážá á áááºááŒáá¯ááºááŒááºáááºáá«á
áá±á¬ááºáá¯á¶ážá¡ááá·áº- á¡ááºáá®áá¬ááᯠáááºááŸá¬ááŸá¬ááá²á
áááºá cloud ááá¯ááŸá±á¬ááºááŸá¯ááá¯ááºááœá²áá»á¬ážááá¯á· ááŒááºááœá¬ážááŒá®áž ááá¯ááºá¡áá áºáá áºáá¯áááºáá®ážááẠâ+â ááᯠááŸáááºáá«áá ááá¯á·áá±á¬áẠá á¬ááœááºá á¬áááºážá á á¬áááºážááá¬áž ááá¯á·ááá¯áẠáááºááŒááŸá¯áá áºáá¯áááºáá®ážááẠááœá±ážáá»ááºááŸá¯á¡áá áºáá áºáᯠááá·áºááœááºááŸááááºááŒá áºáááºá áááºážááá¯á·áá¡áá°á¡áá®ááŒáá·áº áááºááẠONLYOFFICE ááᯠá¡áá¯á¶ážááŒá¯á á€ááá¯ááºá¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠáááºáá®ážááŒá®áž áá»ááºáá»ááºážáááºážááŒááºááá¯ááºáááºááŒá áºáááºá
ááá¯ááºáááºáá®ážááŸá¯ áá®áá°áž
ááŒáá·áºá áœáẠ1
docker-compose.yml á á¡ááŒá±á¬ááºážá¡áá¬á¡ááŒáá·áºá¡á
á¯á¶ááᯠá€áá±áá¬ááœáẠááœá±á·ááá¯ááºáááº-
source: www.habr.com