рдбрдХрд░рдХреЛ рд╕рд╛рде рдПрдЙрдЯреИ рд╕рд░реНрднрд░рдорд╛ NextCloud + ONLYOFFICE рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ

рд╣реЗ рд╣рд╛рдмрд░! рдо рддрдкрд╛рдИрдВрдХреЛ рдзреНрдпрд╛рдирд╛рдХрд░реНрд╖рдгрдорд╛ рд▓реЗрдЦрдХреЛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрджрдЫреБ "рдбрдХрд░рдХреЛ рд╕рд╛рде рдПрдХрд▓ рд╕рд░реНрднрд░рдорд╛ NextCloud рд░ ONLYOFFICE рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ".

рдкреНрд░рд╡рд┐рдзрд┐ рдЙрдиреНрдореБрдЦ рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдХреЛ рдЬреАрд╡рдирдорд╛ Google рдХрд╛рдЧрдЬрд╛рдд рд░ рдХреНрд▓рд╛рдЙрдб рднрдгреНрдбрд╛рд░рдг рдЬрд╕реНрддрд╛ рдЕрдирд▓рд╛рдЗрди рдЕрдлрд┐рд╕ рд╕реБрдЗрдЯрд╣рд░реВрдХреЛ рдореВрд▓реНрдпрд▓рд╛рдИ рдХрдо рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдЫред рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреА рдпрддрд┐ рд╡реНрдпрд╛рдкрдХ рднрдПрдХреЛ рдЫ рдХрд┐ рдЕрдлрд┐рд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдЬрд╛рд░рдорд╛ рд▓рд╛рдореЛ рд╕рдордпрд╕рдореНрдо рдкреНрд░рднреБрддреНрд╡ рдЬрдорд╛рдЙрдиреЗ рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯрд▓реЗ рд╣рд╛рд▓реИ Office 365 рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдЖрдлреНрдиреИ рд╕реЗрд╡рд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рджрд╕реНрдпрддрд╛ рдореЛрдбреЗрд▓рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрди рдордирд╛рдЙрдирдорд╛ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдЧрд░реЗрдХреЛ рдЫред рд╣рд╛рдореА рдмрд┐рд░рд╛рд▓реЛ рдЕрдиреНрддрд░реНрдЧрдд рдЖрдлреНрдиреИ рднрдгреНрдбрд╛рд░рдг рд╕реНрдерд╛рдкрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреНрдиреЗрд╣рд░реВрд▓рд╛рдИ рдЖрдордиреНрддреНрд░рд┐рдд рдЧрд░реНрджрдЫреМрдВред

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

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

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

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

рдпреЛ рдПрдХрджрдо рд╕рд░рд▓ рд╕реЗрдЯрдЕрдк рд╣реЛ, рддрд░ рдпреЛ рдЪрд░рдгрд▓рд╛рдИ рд░рд┐рднрд░реНрд╕ рдкреНрд░реЛрдХреНрд╕реА рд╕рд░реНрднрд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдмреИрднрдиреНрджрд╛ рдзреЗрд░реИ рдХрд╛рдо рдЪрд╛рд╣рд┐рдиреНрдЫред рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ nginx: рд╕реНрдерд┐рд░ рдЫрд╡рд┐рдХреЛ рд▓рд╛рдЧрд┐ рдбрдХрд░-рдХрдореНрдкреЛрдЬ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдпреМрдВред

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 рдорд╛ рдЪрд▓реЛ encrypt's certbot рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдЙрддреНрдкрдиреНрди рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдЯреЛрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫред рдпрд╕ рд╕реНрдерд╛рдирдорд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЪреЗрди рд░ рд╕рд░реНрднрд░ рдирд┐рдЬреА рдХреБрдЮреНрдЬреАрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рддреНрдпреЗрдХрдорд╛ fullchain1.pem рд░ privkey1.pem рдлрд╛рдЗрд▓рд╣рд░реВ рд╕рд╣рд┐рдд office.yourdomain.com рд░ cloud.yourdomain.com рдХреЛ рд▓рд╛рдЧрд┐ рдлреЛрд▓реНрдбрд░рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрдиреБрдкрд░реНрдЫред рддрдкрд╛рдИрдВ рдпрд╣рд╛рдБ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╕рд░реА рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рдердк рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред www.akadia.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: 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 рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдлреНрд░рдиреНрдЯ рдПрдиреНрдбрдорд╛ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЧрд░реНрди рд╕реБрд░реБ рдЧрд░реНрдиреЗрдЫ, рдЬреБрди рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреГрд╖реНрда рд╣реЛред рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рдкрд╣рд┐рд▓реЛ рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рд░ рддрдкрд╛рдИрдВрд▓реЗ docker-compose.yml рдорд╛ рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЙрдиреБрднрдПрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдкреНрд░рдорд╛рдгрд╣рд░реВ рд╕реЗрдЯрдЕрдк рдкреВрд░рд╛ рднрдПрдкрдЫрд┐, рддрдкрд╛рдИрдВрд▓реЗ рд▓рдЧрдЗрди рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реБрдиреЗрдЫред рд╣рд╛рдореНрд░реЛ рдХреЗрд╕рдорд╛, рдкрд░реНрдЦрд╛рдЗрдорд╛ рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдиреЗрдЯ рд▓рд╛рдЧреНрдпреЛ рд░ рд╣рд╛рдореАрд▓реЗ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдорд╛ рд▓рдЧрдЗрди рдЧрд░реНрди рд╕рдХреНрдиреБ рдЕрдШрд┐ рд▓рдЧрдЗрди рдкреГрд╖реНрдардХреЛ рдердк рд░рд┐рдлреНрд░реЗрд╕ рдЖрд╡рд╢реНрдпрдХ рдЫред

NextCloud рд╕реЗрд╡рд╛ рд╕реЗрдЯрд┐рдЩ рд╡рд┐рдиреНрдбреЛрдбрдХрд░рдХреЛ рд╕рд╛рде рдПрдЙрдЯреИ рд╕рд░реНрднрд░рдорд╛ NextCloud + ONLYOFFICE рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ

рдЪрд░рдг 4: NextCloud рд░ ONLYOFFICE рдЬрдбрд╛рди рдЧрд░реНрджреИ

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

рддреНрдпрд╕ рдкрдЫрд┐ рд╢реАрд░реНрд╖ рджрд╛рдпрд╛рдБ рдХреБрдирд╛рдорд╛ рд░рд╣реЗрдХреЛ рдореЗрдиреБ рдорд╛рд░реНрдлрдд рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН рд░ рддрдкрд╛рдИрдВрд▓реЗ рдмрд╛рдпрд╛рдБ рдореЗрдиреБрдорд╛ ONLYOFFICE рд╡рд╕реНрддреБ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБ рдкрд░реНрдЫред рдпрд╕рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реНред рддрдкрд╛рдИрдВрд▓реЗ рддрд▓ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рджрд░реНрддрд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫред

рдПрдХреАрдХрд░рдг рдЖрд╡реЗрджрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕рдбрдХрд░рдХреЛ рд╕рд╛рде рдПрдЙрдЯреИ рд╕рд░реНрднрд░рдорд╛ NextCloud + ONLYOFFICE рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ

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

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

рдЕрдиреНрддрд┐рдо рдЪрд░рдг: рд╕рдореНрдкрд╛рджрдХ рдХрд╣рд╛рдБ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди

рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдХреНрд▓рд╛рдЙрдб рднрдгреНрдбрд╛рд░рдг рдлреЛрд▓реНрдбрд░рд╣рд░реВрдорд╛ рдлрд┐рд░реНрддрд╛ рдЬрд╛рдиреБрд╣реБрдиреНрдЫ рд░ рдирдпрд╛рдБ рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди "+" рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдХрд╛рдЧрдЬрд╛рдд, рд╕реНрдкреНрд░реЗрдбрд╕рд┐рдЯ рд╡рд╛ рдкреНрд░рд╕реНрддреБрддреАрдХрд░рдг рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдирдпрд╛рдБ рд╡рд┐рдХрд▓реНрдк рд╣реБрдиреЗрдЫред рддрд┐рдиреАрд╣рд░реВрдХреЛ рдорджреНрджрддрд▓реЗ, рддрдкрд╛рдИрдВрд▓реЗ ONLYOFFICE рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдпреА рдкреНрд░рдХрд╛рд░рдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ рддреБрд░реБрдиреНрддреИ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реБрдиреЗрдЫред

рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдореЗрдиреБрдбрдХрд░рдХреЛ рд╕рд╛рде рдПрдЙрдЯреИ рд╕рд░реНрднрд░рдорд╛ NextCloud + ONLYOFFICE рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ

рдкреВрд░рдХ реирежреиреж

docker-compose.yml рдХреЛ рдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рдпрд╣рд╛рдБ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ: https://pastebin.com/z1Ti1fTZ

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди