рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ NextCloud + ONLYOFFICE рдХреА рд╕реНрдерд╛рдкрдирд╛

рд╣реЗ рд╣рдмрд░! рдореИрдВ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдБ "рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ NextCloud рдФрд░ ONLYOFFICE рдХреА рд╕реНрдерд╛рдкрдирд╛".

рддрдХрдиреАрдХ-рдЙрдиреНрдореБрдЦ рд▓реЛрдЧреЛрдВ рдХреЗ рдЬреАрд╡рди рдореЗрдВ Google рдбреЙрдХреНрд╕ рдФрд░ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдЬреИрд╕реЗ рдСрдирд▓рд╛рдЗрди рдСрдлрд┐рд╕ рд╕реБрдЗрдЯреНрд╕ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХрдирд╛ рдХрдард┐рди рд╣реИред рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдЗрддрдиреА рд╡реНрдпрд╛рдкрдХ рд╣реЛ рдЧрдИ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ Microsoft, рдЬреЛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рдЬрд╛рд░ рдкрд░ рд╣рд╛рд╡реА рд╣реИ, рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ Office 365 рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреА рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рдореЙрдбрд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреА рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╣рдо рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХреИрдЯ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред

рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд╣рдордиреЗ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рд╕рдорд╛рдзрд╛рди рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рд╡реЗрдм рдСрдлрд┐рд╕ рд╕реБрдЗрдЯреНрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдерд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдорд╛рдЗрдХреНрд░реЛ-рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдСрдирд▓рд╛рдЗрди рд░рдЦрдиреЗ рдХреА рдореБрдЦреНрдп рдкреНрд░реЗрд░рдгрд╛ рдХрд╛рдЧрдЬреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдиреНрдпреВрдирддрдо рд░рдЦрдирд╛ рдФрд░ рд▓реЗрдирджреЗрди рдХреА рдХрдо рдорд╛рддреНрд░рд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЕрдЪреНрдЫреА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдерд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рд╕рд┐рдХреНрдХреЗ рдХрд╛ рджреВрд╕рд░рд╛ рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд░ рдХреЛ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдирд╛ рд╕реАрдзреЗ рдЙрджреНрдпрдо рдХреЗ рдкрд░рд┐рд╕рд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдпрд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рддрдХ рднреМрддрд┐рдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдСрдбрд┐рдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдПрдВрдб-рдЯреВ-рдПрдВрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╣рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рджреЛ рд╕рдХреНрд░рд┐рдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ (рдкрд┐рдЫрд▓реЗ 12 рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде) рдорд┐рд▓реАрдВ: рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдФрд░ рдУрдирдХреНрд▓рд╛рдЙрдб, рдФрд░ рдПрдХрдорд╛рддреНрд░ рд╕рдХреНрд░рд┐рдп ONLYOFFICE рдХрд╛рд░реНрдпрд╛рд▓рдп рд╕реБрдЗрдЯред рджреЛрдиреЛрдВ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдЯреВрд▓ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИ, рдФрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдХреЛ рдЪреБрдирдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдЗрд╕ рд╕рд╛рдХреНрд╖реНрдп рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдерд╛ рдХрд┐ рдЗрд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдЖрд░рд╛рдорджрд╛рдпрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП ONLYOFFICE рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рд╣рдордиреЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдЙрдкрд░реЛрдХреНрдд рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреА рдХрдореА рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдИред рд╣рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ 3 рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╡реАрдбрд┐рдпреЛ рдорд┐рд▓реЗ:

рддреАрдиреЛрдВ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдиреЗ рднреА рд╕рд╛рдЭрд╛ nginx рдХреЗ рд╕рд╛рде NextCloud рдХреЗ рд╕рдорд╛рди рднреМрддрд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ ONLYOFFICE рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗрд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдирд╣реАрдВ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЙрдиреНрд╣реЛрдВрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗрд╡рд╛ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬреИрд╕реА рдкреГрдердХреНрдХрд░рдг рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдПрдХ рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡ рдпрд╣ рдерд╛ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдПрдХ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА (рдПрдХ рдкреВрд░реНрд╡-рдЬреНрдЮрд╛рдд рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдЬреЛ рдбреЗрдЯрд╛ рдХреНрд▓рд╛рдЙрдб рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреА рд╣реИ) рдФрд░ рдЯреАрдПрд▓рдПрд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗрд╡рд╛ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд nginx рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЙрдкрд░реЛрдХреНрдд рддрд░реАрдХреЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рднрд╛рд╡реА рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ NextCloud, ONLYOFFICE рдФрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп nginx рдХреЛ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬреЛ docker-compose рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЛрдореЗрди рдирд╛рдореЛрдВ рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕рдХреА рдЪрд░рдг-рджрд░-рдЪрд░рдг рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рджреА рдЧрдИ рд╣реИред

рдЪрд░рдг 1: nginx рдХрдВрдЯреЗрдирд░

рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕реЗрдЯрдЕрдк рд╣реИ, рд▓реЗрдХрд┐рди рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЪрд░рдг рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдордиреЗ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ nginx:stable рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП docker-compose рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдпрд╛ред

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 рдХреЗ certbot рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд╛рди рдореЗрдВ office.yourdomain.com рдФрд░ Cloud.yourdomain.com рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд▓реНрдбрд░ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рдирдореЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдФрд░ рд╕рд░реНрд╡рд░ рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд╢рдГ рдлреБрд▓рдЪреЗрди1.pem рдФрд░ privkey1.pem рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЖрдк рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреИрд╕реЗ рддреИрдпрд╛рд░ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред www.akdia.com/services/ssh_test_certificate.html (.key рдФрд░ .crt рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ .pem рдХрд░рдирд╛ nginx рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред

рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ vhost рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред рд╣рдо рдкрд╣рд▓реЗ рдкреЛрд░реНрдЯ 80 рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ https рдкрд░ рдПрдХ рд╕рд░рд▓ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХрд┐рд╕реА рднреА http рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ

server {
    listen 80;
    location / {
        return 301
            https://$host$request_uri;
    }
}

рдлрд┐рд░ рд╣рдордиреЗ рдЕрдкрдиреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ 443 рдкрд░ рджреЛ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдмрдирд╛рдП:

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: рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдирдИ рд╕реЗрд╡рд╛рдПрдБ рдЬреЛрдбрд╝реЗрдВ:

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 рдЖрдкрдХреЛ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдлреНрд░рдВрдЯ рдПрдВрдб рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛, рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреЗрдЬ рд╣реИред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ docker-compose.yml рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдПрдХ рдмрд╛рд░ рд╕реЗрдЯрдЕрдк рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдиреЗ рдкрд░, рдЖрдк рд▓реЙрдЧрд┐рди рдХрд░ рдкрд╛рдПрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧрд╛ рдФрд░ рд╣рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЙрдЧрд┐рди рдкреЗрдЬ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реАрдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд┐рдВрдбреЛрдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ NextCloud + ONLYOFFICE рдХреА рд╕реНрдерд╛рдкрдирд╛

рдЪрд░рдг 4: рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдФрд░ рдУрдирд▓реАрдСрдлрд┐рд╕ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рдЖрдкрдХреЛ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ ONLYOFFICE рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЖрдЗрдП рдореЗрдиреВ рдХреЗ рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВред ONLYOFFICE рдРрдк рдвреВрдВрдвреЗрдВ (рдСрдлрд┐рд╕ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдпрд╛ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВред

рдЙрд╕рдХреЗ рдмрд╛рдж рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рдореЗрдиреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЖрдкрдХреЛ рдмрд╛рдПрдВ рдореЗрдиреВ рдореЗрдВ ONLYOFFICE рдЖрдЗрдЯрдо рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдореЗрдВ рдЬрд╛рдУ. рдЖрдкрдХреЛ рдиреАрдЪреЗ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдкрддреЗ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред

рдПрдХреАрдХрд░рдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ NextCloud + ONLYOFFICE рдХреА рд╕реНрдерд╛рдкрдирд╛

рдкрд╣рд▓реЗ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд╕реАрдзреЗ рдХреБрдЫ рдЬреЗрдПрд╕ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ nginx рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ ONLYOFFICE рд╕реЗрд╡рд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рд┐рдП)ред рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреБрдВрдЬреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбреЙрдХрд░ рдЕрд▓рдЧрд╛рд╡ рдкрд░рдд рдкрд░ рдЕрдзрд┐рдХ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рддреАрд╕рд░реЗ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ NextCloud рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ ONLYOFFICE API рд╕реЗ рд╕реАрдзреЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдбреЙрдХрд░ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЖрдВрддрд░рд┐рдХ рд╣реЛрд╕реНрдЯрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рдЕрдВрддрд┐рдо рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрджрд┐ рдЖрдк рдбреЙрдХрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ ONLYOFFICE рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдпрд╛ рдЖрдВрддрд░рд┐рдХ рдбреЙрдХрд░ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдПрдкреАрдЖрдИ рдкрд░ рд╡рд╛рдкрд╕ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХреЗ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреА рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред

рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдЧрд╛ рдФрд░, рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХреАрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рджрд┐рдЦрд╛рдПрдЧрд╛ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдПрдХреАрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдЖрдкрдХреЛ рдЙрдЪрд┐рдд рд▓рдЧреЗ рд╡реИрд╕рд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВред

рдЕрдВрддрд┐рдо рдЪрд░рдг: рд╕рдВрдкрд╛рджрдХ рдХрд╣рд╛рдВ рдЦреЛрдЬреЗрдВ

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП "+" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝, рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдпрд╛ рдкреНрд░реЗрдЬреЗрдВрдЯреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред рдЙрдирдХреА рдорджрдж рд╕реЗ, рдЖрдк ONLYOFFICE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛ рд╕рдХреЗрдВрдЧреЗ рдФрд░ рддреБрд░рдВрдд рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХреЗрдВрдЧреЗред

рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрдорд╛рдг рдореЗрдиреВрдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ NextCloud + ONLYOFFICE рдХреА рд╕реНрдерд╛рдкрдирд╛

рдЕрдиреБрдкреВрд░рдХ 1

Docker-compose.yml рдХреА рдкреВрд░реА рд╕рд╛рдордЧреНрд░реА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ: https://pastebin.com/z1Ti1fTZ

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ