Docker เชธเชพเชฅเซ‡ เชธเชฎเชพเชจ เชธเชฐเซเชตเชฐ เชชเชฐ NextCloud + ONLYOFFICE เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชนเซ‡ เชนเชฌเชฐ! เชนเซเช‚ เชคเชฎเชพเชฐเชพ เชงเซเชฏเชพเชจ เชชเชฐ เชฒเซ‡เช–เชจเซ‹ เช…เชจเซเชตเชพเชฆ เชฐเชœเซ‚ เช•เชฐเซเช‚ เช›เซเช‚ "เชกเซ‹เช•เชฐ เชธเชพเชฅเซ‡ เชเช• เชธเชฐเซเชตเชฐ เชชเชฐ เชจเซ‡เช•เซเชธเซเชŸเช•เซเชฒเชพเช‰เชก เช…เชจเซ‡ ONLYOFFICE เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡".

เชŸเซ‡เช•-เช“เชฐเชฟเชเชจเซเชŸเซ‡เชก เชฒเซ‹เช•เซ‹เชจเชพ เชœเซ€เชตเชจเชฎเชพเช‚ Google เชกเซ‰เช•เซเชธ เช…เชจเซ‡ เช•เซเชฒเชพเช‰เชก เชธเซเชŸเซ‹เชฐเซ‡เชœ เชœเซ‡เชตเชพ เช‘เชจเชฒเชพเช‡เชจ เช‘เชซเชฟเชธ เชธเซเชฏเซเชŸเซเชธเชจเชพ เชฎเซ‚เชฒเซเชฏเชจเซ‡ เช“เช›เซเช‚ เช†เช‚เช•เชตเซเช‚ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡. เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€ เชเชŸเชฒเซ€ เชตเซเชฏเชพเชชเช• เชฌเชจเซ€ เช›เซ‡ เช•เซ‡ เช“เชซเชฟเชธ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชฎเชพเชฐเซเช•เซ‡เชŸเชฎเชพเช‚ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชชเซเชฐเชญเซเชคเซเชต เชงเชฐเชพเชตเชคเชพ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเซ‹เชซเซเชŸเซ‡ เชชเชฃ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ Office 365 เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชตเชฟเช•เชธเชพเชตเชตเชพ เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเซ‡เชตเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฌเชธเซเช•เซเชฐเชฟเชชเซเชถเชจ เชฎเซ‹เชกเชฒ เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชœเชพเชตเชตเชพ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เช…เชฎเซ‡ เชคเซ‡เชฎเชจเซ‡ เช†เชฎเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เชœเซ‡เช“ เชฌเชฟเชฒเชพเชกเซ€ เชนเซ‡เช เชณ เชคเซ‡เชฎเชจเชพ เชชเซ‹เชคเชพเชจเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช…เชจเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชฐเชธ เชงเชฐเชพเชตเชคเชพ เชนเซ‹เชฏ.

เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชชเชนเซ‡เชฒเชพ เช…เชฎเซ‡ เช•เซเชฒเชพเช‰เชก เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเซ‹เชฒเซเชฏเซเชถเชจเซเชธ เช…เชจเซ‡ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชตเซ‡เชฌ เช‘เชซเชฟเชธ เชธเซเชฏเซเชŸเซเชธเชจเซ‡ เชœเซ‹เชฏเชพ เชนเชคเชพ เชœเซ‡ เชฎเชพเช‡เช•เซเชฐเซ‹-เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เชเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เช—เซ‹เช เชตเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชคเชฎเชพเชฎ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹ เช“เชจเชฒเชพเชˆเชจ เชฐเชพเช–เชตเชพเชจเซ€ เชฎเซเช–เซเชฏ เชชเซเชฐเซ‡เชฐเชฃเชพ เช เช›เซ‡ เช•เซ‡ เช“เช›เชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชตเซเชฏเชตเชนเชพเชฐเซ‹ เชนเซ‹เชตเชพ เช›เชคเชพเช‚ เช•เชพเช—เชณเชจเซ‡ เชจเซเชฏเซ‚เชจเชคเชฎ เชฐเชพเช–เชตเชพ เช…เชจเซ‡ เชธเชพเชฐเซ€ เชตเซเชฏเชตเชธเชพเชฏ เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เช…เชฎเชฒ เช•เชฐเชตเซ‹. เชธเชฟเช•เซเช•เชพเชจเซ€ เชซเซเชฒเชฟเชช เชฌเชพเชœเซ เช เช›เซ‡ เช•เซ‡ เช† เชธเซ‡เชตเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เช•เซเชฒเชพเช‰เชก เชธเชฐเซเชตเชฐเชจเซ‡ เชญเชพเชกเซ‡ เช†เชชเชตเซเช‚ เช เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เชเชจเชพ เชชเชฐเชฟเชธเชฐเชฎเชพเช‚ เชธเซ€เชงเซเช‚ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เช•เชฐเชคเชพเช‚ เช“เช›เซเช‚ เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐ เช…เชฅเชตเชพ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ€ เชญเซŒเชคเชฟเช• เชเช•เซเชธเซ‡เชธเชจเซเช‚ เช‘เชกเชฟเชŸ เช•เชฐเชตเชพเชจเซเช‚ เช•เซ‹เชˆ เชธเชพเชงเชจ เชจเชฅเซ€. เชคเซ‡เชฅเซ€, เชเชจเซเชก-เชŸเซ-เชเชจเซเชก เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจ เช…เชจเซ‡ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชชเชฃ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡.

เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชธเซ‹เชฒเซเชฏเซเชถเชจเซเชธ เชตเชฟเชถเซ‡เชจเซ€ เชคเชฎเชพเชฎ เช‰เชชเชฒเชฌเซเชง เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ, เช…เชฎเชจเซ‡ เช•เซเชฒเชพเช‰เชก เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฎเชพเชŸเซ‡ เชตเชฟเช•เชธเชฟเชค เชฌเซ‡ เชธเช•เซเชฐเชฟเชฏ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ (เช›เซ‡เชฒเซเชฒเชพ 12 เชฎเชนเชฟเชจเชพเชฅเซ€ เช—เชฟเชŸ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช•เชฎเชฟเชŸ เชธเชพเชฅเซ‡) เชฎเชณเซเชฏเชพ: เชจเซ‡เช•เซเชธเซเชŸเช•เซเชฒเชพเช‰เชก เช…เชจเซ‡ เช“เชจเช•เซเชฒเชพเช‰เชก, เช…เชจเซ‡ เชเช•เชฎเชพเชคเซเชฐ เชธเช•เซเชฐเชฟเชฏ ONLYOFFICE เช“เชซเชฟเชธ เชธเซเชฏเซเชŸ. เชฌเช‚เชจเซ‡ เช•เซเชฒเชพเช‰เชก เชธเซเชŸเซ‹เชฐเซ‡เชœ เชŸเซ‚เชฒเซเชธ เชฒเช—เชญเช— เชธเชฎเชพเชจ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชจเซ‡เช•เซเชธเซเชŸเช•เซเชฒเชพเช‰เชก เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซ‹ เชจเชฟเชฐเซเชฃเชฏ เช เชชเซเชฐเชพเชตเชพเชจเชพ เช…เชธเซเชคเชฟเชคเซเชต เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชนเชคเซ‹ เช•เซ‡ เชคเซ‡เชจเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชธเชพเชฅเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ€ เช†เชฐเชพเชฎเชฆเชพเชฏเช• เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ ONLYOFFICE เชธเชพเชฅเซ‡ เชธเช‚เช•เชฒเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชœเซ‹ เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชธเซ‡เชตเชพเช“ เชœเชฎเชพเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚, เชคเซเชฏเชพเชฐเซ‡ เช‰เชชเชฐเซ‹เช•เซเชค เชธเซ‡เชตเชพเช“เชจเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเชพ เช…เช‚เช—เซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเซ‹ เช…เชญเชพเชต เชธเซเชชเชทเซเชŸ เชฅเชฏเซ‹. เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเซเช‚ เชคเซ‡เชจเชพ เชชเชฐ เช…เชฎเชจเซ‡ 3 เชŸเซเชฏเซเชŸเซ‹เชฐเซ€เชฏเชฒ เชตเชฟเชกเชฟเช“เช เชฎเชณเซ€:

เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ nginx เชธเชพเชฅเซ‡ เชจเซ‡เช•เซเชธเซเชŸเช•เซเชฒเชพเช‰เชก เชœเซ‡เชตเชพ เชœ เชญเซŒเชคเชฟเช• เชธเชฐเซเชตเชฐ เชชเชฐ ONLYOFFICE เชฆเชธเซเชคเชพเชตเซ‡เชœ เชธเซ‡เชตเชพเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเชพ เชชเซเชฐเชถเซเชจเชจเซ‹ เชคเซเชฐเชฃเชฎเชพเช‚เชฅเซ€ เช•เซ‹เชˆ เชชเชฃ เชตเชฟเชกเชฟเชฏเซ‹เช เชœเชตเชพเชฌ เช†เชชเซเชฏเซ‹ เชจเชฅเซ€. เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡, เชคเซ‡เช“เช เช…เชฒเช— เช•เชฐเชตเชพเชจเซ€ เชคเช•เชจเซ€เช•เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชœเซ‡เชฎ เช•เซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœ เชธเซ‡เชตเชพ เชเชชเซ€เช†เชˆ เชฎเชพเชŸเซ‡ เช…เชฒเช— เชชเซ‹เชฐเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช—. เช…เชจเซเชฏ เชธเซ‚เชšเชจ เชฆเชธเซเชคเชพเชตเซ‡เชœ เชธเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เชเช• เช…เชฒเช— เชธเชฐเซเชตเชฐ เชœเชฎเชพเชตเชตเชพเชจเซเช‚ เชนเชคเซเช‚, เชเช•เซเชธเซ‡เชธ เช•เซ€ (เชเช• เชชเซ‚เชฐเซเชต-เชœเชพเชฃเซ€เชคเซ€ เชเช•เซเชธเซ‡เชธ เช•เซ€ เช•เซ‡ เชœเซ‡ เชกเซ‡เชŸเชพ เช•เซเชฒเชพเช‰เชกเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชจเชพ เช…เชงเชฟเช•เชพเชฐเชจเซ€ เชชเซเชทเซเชŸเชฟ เช•เชฐเซ‡ เช›เซ‡) เช…เชจเซ‡ TLS เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœ เชธเซ‡เชตเชพเชฎเชพเช‚ เชฌเชจเซ‡เชฒ nginx เช‡เชจเซเชธเซเชŸเชจเซเชธเชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เช—เซ‹เช เชตเชตเชพเชจเซเช‚ เชนเชคเซเช‚. เช‰เชชเชฐเซ‹เช•เซเชค เช…เชญเชฟเช—เชฎเซ‹ เชธเชฒเชพเชฎเชค เชจ เชนเซ‹เชตเชพเชจเซเช‚ เช…เชจเซ‡ เชชเซ‚เชฐเชคเซเช‚ เช…เชธเชฐเช•เชพเชฐเช• เชจ เชนเซ‹เชตเชพเชจเซเช‚ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเชคเซเช‚ เชนเชคเซเช‚, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ NextCloud, ONLYOFFICE เช…เชจเซ‡ เชเช• เชธเชพเชฎเชพเชจเซเชฏ nginx เชจเซ‡ เชธเช‚เช•เชฒเชฟเชค เช•เชฐเซเชฏเซเช‚ เชœเซ‡ เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเซ‹เชฎเซ‡เชจ เชจเชพเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เช…เชฒเช— เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เช…เชนเซ€เช‚ เชชเช—เชฒเซเช‚ เชฆเซเชตเชพเชฐเชพ เชชเช—เชฒเซเช‚ เชฎเชพเชนเชฟเชคเซ€ เช›เซ‡.

เชชเช—เชฒเซเช‚ 1: nginx เช•เชจเซเชŸเซ‡เชจเชฐ

เช† เชเช• เช–เซ‚เชฌ เชœ เชธเชฐเชณ เชธเซ‡เชŸเช…เชช เช›เซ‡, เชชเชฐเช‚เชคเซ เช† เชชเช—เชฒเชพเชจเซ‡ เชฐเชฟเชตเชฐเซเชธ เชชเซเชฐเซ‹เช•เซเชธเซ€ เชธเชฐเซเชตเชฐเชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเซŒเชฅเซ€ เชตเชงเซ เช•เชพเชฐเซเชฏเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช…เชฎเซ‡ เชธเซŒเชชเซเชฐเชฅเชฎ nginx:stable เช‡เชฎเซ‡เชœ เชฎเชพเชŸเซ‡ เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เช เช•เชจเซเชซเชฟเช—เชฐเซ‡เชถเชจ เชฌเชจเชพเชตเซเชฏเซเช‚.

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 เชฎเชพเชŸเซ‡ เชซเซ‹เชฒเซเชกเชฐเซเชธ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช. เชคเชฎเซ‡ เช…เชนเซ€เช‚ เชธเซเชต-เชนเชธเซเชคเชพเช•เซเชทเชฐเชฟเชค เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชงเซ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹. 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: เช†เช—เชพเชฎเซ€ เชฎเซ‡เช˜

เชชเซเชฐเชฅเชฎ, เชจเชตเซ€ เชธเซ‡เชตเชพเช“ เช‰เชฎเซ‡เชฐเซ‹:

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 เชฎเชพเช‚ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡เชฒ เชกเซ‡เชŸเชพเชฌเซ‡เช เช“เชณเช–เชชเชคเซเชฐเซ‹ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡ เชเช•เชตเชพเชฐ เชธเซ‡เชŸเช…เชช เชชเซ‚เชฐเซเชฃ เชฅเชˆ เชœเชพเชฏ, เชคเชฎเซ‡ เชฒเซ‰เช—เชฟเชจ เช•เชฐเซ€ เชถเช•เชถเซ‹. เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชฐเชพเชน เชœเซ‹เชตเชพเชฎเชพเช‚ เชฒเช—เชญเช— เชเช• เชฎเชฟเชจเชฟเชŸเชจเซ‹ เชธเชฎเชฏ เชฒเชพเช—เซเชฏเซ‹ เช…เชจเซ‡ เช…เชฎเซ‡ เช•เซเชฒเชพเช‰เชก เชธเซ‡เชตเชพเชฎเชพเช‚ เชฒเซ‰เช— เช‡เชจ เช•เชฐเซ€ เชถเช•เซ€เช เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชฒเซ‰เช—เชฟเชจ เชชเซ‡เชœเชจเชพ เชตเชงเชพเชฐเชพเชจเชพ เชฐเชฟเชซเซเชฐเซ‡เชถเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชจเซ‡เช•เซเชธเซเชŸเช•เซเชฒเชพเช‰เชก เชธเซ‡เชตเชพ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชตเชฟเช‚เชกเซ‹Docker เชธเชพเชฅเซ‡ เชธเชฎเชพเชจ เชธเชฐเซเชตเชฐ เชชเชฐ NextCloud + ONLYOFFICE เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชชเช—เชฒเซเช‚ 4: NextCloud เช…เชจเซ‡ ONLYOFFICE เชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช† เชชเช—เชฒเชพ เชชเชฐ, เชคเชฎเชพเชฐเซ‡ เชจเซ‡เช•เซเชธเซเชŸเช•เซเชฒเชพเช‰เชก เชฎเชพเชŸเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡, เชœเซ‡ ONLYOFFICE เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เชœเซ‹เชกเซ‡ เช›เซ‡. เชšเชพเชฒเซ‹ เชฎเซ‡เชจเซเชจเชพ เช‰เชชเชฐเชจเชพ เชœเชฎเชฃเชพ เช–เซ‚เชฃเชพเชฎเชพเช‚ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เช‚เชŸเซเชฐเซ‹เชฒ เชชเซ‡เชจเชฒเชฅเซ€ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซ€เช. ONLYOFFICE เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชถเซ‹เชงเซ‹ (เช“เชซเชฟเชธ เช…เชจเซ‡ เชŸเซ‡เช•เซเชธเซเชŸ เชนเซ‡เช เชณ เช…เชฅเชตเชพ เชถเซ‹เชงเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡), เชคเซ‡เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹ เช…เชจเซ‡ เชธเช•เซเชฐเชฟเชฏ เช•เชฐเซ‹.

เชคเซ‡ เชชเช›เซ€ เช‰เชชเชฐเชจเชพ เชœเชฎเชฃเชพ เช–เซ‚เชฃเชพเชฎเชพเช‚เชจเชพ เชฎเซ‡เชจเซ‚ เชฆเซเชตเชพเชฐเชพ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชชเชฐ เชœเชพเช“ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ‡ เชกเชพเชฌเซ€ เชฌเชพเชœเซเชจเชพ เชฎเซ‡เชจเซ‚เชฎเชพเช‚ เชซเช•เซเชค เช‘เชซเชฟเชธ เช†เช‡เชŸเชฎ เชถเซ‹เชงเชตเซ€ เชœเซ‹เชˆเช. เชคเซ‡เชฎเชพเช‚ เชœเชพเช“. เชคเชฎเชพเชฐเซ‡ เชจเซ€เชšเซ‡ เชฆเชฐเซเชถเชพเชตเซ‡เชฒ เชธเชฐเชจเชพเชฎเชพเช‚เชจเซ€ เชจเซ‹เช‚เชงเชฃเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡.

เชเช•เซ€เช•เชฐเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเซ‡เชŸเชฟเช‚เช—เซเชธDocker เชธเชพเชฅเซ‡ เชธเชฎเชพเชจ เชธเชฐเซเชตเชฐ เชชเชฐ NextCloud + ONLYOFFICE เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชชเซเชฐเชฅเชฎ เชธเชฐเชจเชพเชฎเชพเช‚เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฌเซเชฐเชพเช‰เชเชฐเชฎเชพเช‚ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚เชฅเซ€ เชธเซ€เชงเซ€ เช•เซ‡เชŸเชฒเซ€เช• js เช…เชจเซ‡ css เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชฒเชฟเช‚เช• เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡ (เช† เชคเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‡ เช†เชชเชฃเซ‡ nginx เชฆเซเชตเชพเชฐเชพ ONLYOFFICE เชธเซ‡เชตเชพเชจเซ€ เชเช•เซเชธเซ‡เชธ เช–เซ‹เชฒเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡). เช—เซเชชเซเชค เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชคเซ‹ เชจเชฅเซ€ เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเซ‡ เชธเชคเชค เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เช•เซ€ เช•เชฐเชคเชพเช‚ เชกเซ‹เช•เชฐ เช†เช‡เชธเซ‹เชฒเซ‡เชถเชจ เชธเซเชคเชฐ เชชเชฐ เชตเชงเซ เชตเชฟเชถเซเชตเชพเชธ เช•เชฐเซ€เช เช›เซ€เช. เชคเซเชฐเซ€เชœเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เชจเซ‡เช•เซเชธเซเชŸเช•เซเชฒเชพเช‰เชก เช•เชจเซเชŸเซ‡เชจเชฐ เชฆเซเชตเชพเชฐเชพ ONLYOFFICE API เชธเชพเชฅเซ‡ เชธเซ€เชงเซเช‚ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚เชฅเซ€ เชกเชฟเชซเซ‹เชฒเซเชŸ เช†เช‚เชคเชฐเชฟเช• เชนเซ‹เชธเซเชŸเชจเชพเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เช เซ€เช• เช›เซ‡, เช›เซ‡เชฒเซเชฒเชพ เชซเซ€เชฒเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡ เชœเซ‡เชฅเซ€ ONLYOFFICE เชจเซ‡เช•เซเชธเซเชŸเช•เซเชฒเชพเช‰เชก API เชชเชฐ เชฌเชพเชนเซเชฏ IP เชเชกเซเชฐเซ‡เชธ เช…เชฅเชตเชพ เช†เช‚เชคเชฐเชฟเช• เชกเซ‹เช•เชฐ เชเชกเซเชฐเซ‡เชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ€ เชถเช•เซ‡ เชœเซ‹ เชคเชฎเซ‡ เชกเซ‹เช•เชฐ เชจเซ‡เชŸเชตเชฐเซเช•เซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เชนเซ‹เชต, เชชเชฐเช‚เชคเซ เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชคเซ‹ เชจเชฅเซ€. เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชซเชพเชฏเชฐเชตเซ‹เชฒ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เช† เชชเซเชฐเช•เชพเชฐเชจเซ€ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเช“เชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชธเชพเชšเชตเซเชฏเชพ เชชเช›เซ€, เชจเซ‡เช•เซเชธเซเชŸเช•เซเชฒเชพเช‰เชก เช•เชจเซ‡เช•เซเชถเชจเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชถเซ‡ เช…เชจเซ‡, เชœเซ‹ เชฌเชงเซเช‚ เชฏเซ‹เช—เซเชฏ เช›เซ‡, เชคเซ‹ เชคเชฎเชจเซ‡ เชเช•เซ€เช•เชฐเชฃ เชธเช‚เชฌเช‚เชงเชฟเชค เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชฌเชคเชพเชตเชถเซ‡ - เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช† เชเช•เซ€เช•เชฐเชฃ เชฆเซเชตเชพเชฐเชพ เช•เชฏเชพ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชคเชฎเชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฒเชพเช—เซ‡ เชคเซ‡เชฎ เช•เชธเซเชŸเชฎเชพเช‡เช เช•เชฐเซ‹.

เช…เช‚เชคเชฟเชฎ เชชเช—เชฒเซเช‚: เชธเช‚เชชเชพเชฆเช• เช•เซเชฏเชพเช‚ เชถเซ‹เชงเชตเซเช‚

เชœเซ‹ เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เช•เซเชฒเชพเช‰เชก เชธเซเชŸเซ‹เชฐเซ‡เชœ เชซเซ‹เชฒเซเชกเชฐเซเชธ เชชเชฐ เชชเชพเช›เชพ เชœเชพเช“ เช…เชจเซ‡ เชจเชตเซ€ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ "+" เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœ, เชธเซเชชเซเชฐเซ‡เชกเชถเซ€เชŸ เช…เชฅเชตเชพ เชชเซเชฐเชธเซเชคเซเชคเชฟ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชจเชตเซ‹ เชตเชฟเช•เชฒเซเชช เชนเชถเซ‡. เชคเซ‡เชฎเชจเซ€ เชธเชนเชพเชฏเชฅเซ€, เชคเชฎเซ‡ ONLYOFFICE เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เชชเซเชฐเช•เชพเชฐเชจเซ€ เชซเชพเช‡เชฒเซ‹ เชฌเชจเชพเชตเชถเซ‹ เช…เชจเซ‡ เชคเชฐเชค เชœ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเซ€ เชถเช•เชถเซ‹.

เชซเชพเช‡เชฒ เชฌเชจเชพเชตเชŸ เชฎเซ‡เชจเซ‚Docker เชธเชพเชฅเซ‡ เชธเชฎเชพเชจ เชธเชฐเซเชตเชฐ เชชเชฐ NextCloud + ONLYOFFICE เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชชเซ‚เชฐเช• 1

docker-compose.yml เชจเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเชพเชฎเช—เซเชฐเซ€ เช…เชนเซ€เช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡: https://pastebin.com/z1Ti1fTZ

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹