CODE Docker를 사용하여 10분 만에 Nextcloud Office를 설정하는 방법

2026년 최신 참고 사항: Nextcloud 35 문서에서는 Euro-Office 기반의 Nextcloud Office 와 Collabora Online 을 구분하고 있습니다 . Collabora Online은 여전히 ​​지원되는 대안이며 공식 CODE Docker 이미지를 사용하여 자체 호스팅할 수 있습니다. 이 가이드에서는 외부 Collabora/CODE 경로를 사용합니다. 명칭이 중요한 이유는 이전 가이드에서 CODE를 마치 "Nextcloud Office" 뒤에 있는 유일한 서버인 것처럼 설명하는 경우가 있었기 때문입니다. 이전 버전을 기준으로 작성된 지침을 적용하기 전에 최신 Nextcloud Office 개요를 참조하십시오.

Nextcloud 사이트가 이미 HTTPS를 사용하고 있고, Docker가 설치되어 있으며, Collabora에 필요한 DNS 이름이 office.example.com준비되어 있다면 통합 자체는 약 10분 안에 완료될 수 있습니다. DNS 전파, 인증서 발급, 방화벽 변경 또는 리버스 프록시 문제 해결에는 더 많은 시간이 소요될 수 있으며, 이러한 작업은 예상 시간에 포함되지 않습니다.

시작하기 전에 필요한 것

빠른 설치 방법은 기존 Nextcloud 인스턴스 하나, Docker를 실행할 수 있는 Linux 호스트 하나, 그리고 CODE용 전용 HTTPS 호스트 이름이 필요하다고 가정합니다. Nextcloud의 최신 Docker 예제에서는 별도의 서브도메인과 유효한 TLS 인증서를 권장합니다. CODE는 내부적으로 9980 포트에서 수신 대기하며, 리버스 프록시를 통해 브라우저와 Nextcloud에 안전하게 노출됩니다.

  • 다음과 같은 URL로 접속 가능한 정상 작동하는 Nextcloud 서버입니다 https://cloud.example.com.
  • CODE를 실행할 호스트에 Docker Engine을 설치합니다.
  • office.example.com리버스 프록시를 가리키는 DNS 레코드와 같은 것입니다 .
  • 사무실 호스트 이름에 대한 유효한 HTTPS 인증서.
  • Nextcloud에 대한 관리자 권한과 Docker 호스트에 대한 루트 또는 sudo 권한이 필요합니다.

Nextcloud의 최신 설치 문서에 따르면 내장된 CODE 서버는 개인 또는 소규모 팀 사용에 가장 적합하지만, 더 나은 성능을 위해서는 Collabora Online 전용 설치를 권장합니다. 아래에서 사용된 이미지는 Docker Hub의 공식 collabora/code 이미지 입니다.

Docker 버전 출력과 공식 collabora/code 이미지가 다운로드되는 모습을 보여주는 터미널 창입니다.
먼저 Docker를 검증한 다음 Collabora CODE 공식 이미지를 다운로드하십시오. 표시된 Docker 버전은 예시일 뿐이며, 호스트에서 현재 지원되는 Docker 릴리스를 사용하십시오.

1단계: CODE Docker 이미지를 다운로드합니다.

Docker 호스트에서 Docker가 사용 가능한지 확인하고 공식 이미지를 다운로드하십시오.

docker --version
docker pull collabora/code:latest

Collabora는 업데이트가 자주 게시되므로 이 latest태그는 간략한 설정 가이드에 유용합니다. 프로덕션 환경에서는 테스트를 거친 특정 버전을 고정하고, 재구축 중에 예기치 않은 이미지 변경이 발생하는 것을 방지하기 위해 계획적인 업그레이드를 예약하는 것이 좋습니다.

2단계: Nextcloud 호스트용 CODE를 시작하세요

현재 Nextcloud Docker 예제는 aliasgroup1CODE에게 어떤 Nextcloud 호스트가 통합될 수 있는지 알려줍니다. 예제 호스트 이름을 실제 Nextcloud URL로 바꾸세요.

docker run -t -d   --name collabora-code   -p 127.0.0.1:9980:9980   -e 'aliasgroup1=https://cloud.example.com:443'   --restart always   --cap-add MKNOD   collabora/code:latest

리버스 프록시가 동일 서버에서 실행되는 경우, 바인딩을 통해 127.0.0.1포트 9980이 인터넷에 직접 노출되는 것을 방지할 수 있습니다. 프록시가 다른 머신에서 실행되는 경우, 프록시만 CODE에 접근할 수 있도록 네트워크 규칙을 설정해야 합니다. 단순히 포트 9980을 모든 사용자에게 공개하지 마십시오.

터미널 창에 로컬 호스트 포트 9980에서 시작된 CODE 컨테이너가 표시되고, `docker ps` 명령어로 컨테이너 목록을 확인할 수 있습니다.
동일 호스트의 리버스 프록시가 공용 HTTPS 엔드포인트를 제공하는 경우 127.0.0.1:9980에서 코드를 실행하세요.

컨테이너가 실행 중인지 확인하세요:

docker ps --filter name=collabora-code
docker logs --tail 50 collabora-code

3단계: CODE 앞에 HTTPS와 리버스 프록시를 설치합니다.

Nextcloud는 Collabora에 필요한 경로를 /browser` /hosting/discovery/etc/ collabora/`, `/etc/collabora/`, `/etc/collabora/`로 명시하고 있으며, WebSocket 트래픽은 ` /hosting/capabilities/etc /cool/adminws/ collabora/` /cool아래에 있습니다 /cool/.../ws. 따라서 일반적인 "WebSocket을 제외한 모든 트래픽을 프록시"로 설정하면 편집기가 부분적으로 열렸다가 연결이 끊어지는 경우가 많습니다.

브라우저, 호스팅 검색, 기능, cool 및 WebSocket 경로에 대한 리버스 프록시 경로를 보여주는 구성 편집기입니다.
리버스 프록시는 Collabora 브라우저, 검색, 기능, /cool 및 WebSocket 엔드포인트를 포워딩해야 합니다. 업스트림 프로토콜을 CODE 컨테이너의 SSL 모드와 일치시키십시오.

Nginx의 경우, 다음의 간략한 예제는 CODE의 기본 내부 HTTPS를 유지하고 공개 TLS 연결을 Nginx에서 종료합니다. 실제 인증서 경로는 사용자 환경에 맞게 사용하십시오.

server {
    listen 443 ssl http2;
    server_name office.example.com;
    ssl_certificate /etc/letsencrypt/live/office.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/office.example.com/privkey.pem;

    location ^~ /browser { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ^~ /hosting/discovery { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ^~ /hosting/capabilities { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ^~ /cool/adminws { proxy_pass https://127.0.0.1:9980; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ~ ^/cool/(.*)/ws$ { proxy_pass https://127.0.0.1:9980; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ^~ /cool { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
}

이는 의도적으로 최소한의 라우팅 예시일 뿐, 완벽한 Nginx 보안 기준선을 보여주는 것은 아닙니다. 내부 TLS를 비활성화한 상태로 CODE를 실행하는 경우, 업스트림이 변경되므로 http://127.0.0.1:9980컨테이너를 일관되게 구성해야 합니다. HTTP 프록시 대상과 HTTPS를 기대하는 CODE 컨테이너를 혼용하지 마십시오.

4단계: 공개 CODE 엔드포인트를 확인합니다.

Nextcloud 설정을 변경하기 전에 브라우저에서 다음 URL을 여세요.

https://office.example.com/hosting/discovery
브라우저가 office.example.com 호스팅 사이트에서 전송된 WOPI 검색 XML 응답을 표시하고 있습니다.
/hosting/discovery에서 유효한 응답을 받는 것은 공용 CODE 엔드포인트와 리버스 프록시가 응답하고 있는지 빠르게 확인하는 방법입니다.

프록시 오류, 인증서 경고 또는 연결 실패 메시지 대신 WOPI 검색 XML을 수신해야 합니다. 명령줄에서도 테스트할 수 있습니다.

curl -fsS https://office.example.com/hosting/discovery | head

이 방법이 실패하면 DNS, TLS, 프록시 또는 컨테이너 문제를 먼저 해결하십시오. 문제가 있는 엔드포인트에 Nextcloud를 연결하는 것은 문제 해결 과정을 한 단계 더 복잡하게 만들 뿐입니다.

5단계: Nextcloud 오피스 통합을 활성화합니다.

관리자 권한으로 Nextcloud에 로그인하고, 앱을 열고 , Office 및 텍스트 로 이동 하여 설치에 사용 가능한 오피스 통합 앱을 활성화하세요. 현재 Nextcloud Collabora Docker 예제에서는 관리자에게 여전히 "Nextcloud Office" 앱을 설치한 다음 Office 관리 설정에서 외부 서버를 구성하도록 안내하고 있지만, Nextcloud 35 개요에서는 Euro-Office와 Collabora 제품이 명확하게 구분되어 있습니다.

Nextcloud Office가 활성화된 상태에서 사무 및 텍스트 범주의 Nextcloud 앱 페이지입니다.
외부 CODE 서버 주소를 입력하기 전에 Nextcloud에서 오피스 통합 앱을 활성화하십시오.

Nextcloud 릴리스에서 사용하는 레이블이 약간 다를 경우, 이전 스크린샷과 정확히 일치한다고 가정하기보다는 관리 인터페이스에 표시된 제품 이름을 따르세요.

6단계: Nextcloud에서 외부 CODE 서버를 가리키도록 설정합니다.

관리 설정 → 오피스를 엽니다 . 외부 Collabora/오피스 서버 옵션을 선택하고 다음을 입력합니다.

https://office.example.com
외부 Collabora Online 서버 URL 입력란과 연결 성공 표시기가 있는 Nextcloud Office 관리 화면.
프록시에 접속할 수 있게 되면, 오피스 관리 페이지에서 외부 Collabora URL을 입력합니다.

설정을 저장하고 Nextcloud의 연결 확인을 기다리세요. Nextcloud는 양쪽에서 동일한 프로토콜(HTTPS 권장)을 사용할 것을 권장합니다. 연결 확인이 성공하면 Nextcloud가 Collabora 엔드포인트에 연결할 수 있다는 의미이지만, 실제 편집 세션 중에 모든 브라우저의 WebSocket 경로 및 WOPI 요청이 정상적으로 작동한다는 것을 보장하는 것은 아닙니다.

7단계: WOPI 요청 제한

기본 연결이 성공적으로 완료되면 WOPI 구성을 강화하십시오. Nextcloud의 최신 구성 가이드에서는 WOPI 요청을 파일 요청이 필요한 Collabora 서버의 IP 주소로 제한할 것을 강력히 권장합니다. 관리 설정 → 오피스 에서 'WOPI 요청 허용 목록 ' 필드를 활용하십시오 .

Nextcloud Office 관리 페이지에 Collabora 서버 URL, 연결 성공 상태 및 WOPI 허용 목록 필드가 표시됩니다.
연결이 성공하면 WOPI 허용 목록을 검토하여 예상되는 Collabora 서버 주소만 파일을 요청할 수 있도록 하십시오.

WOPI 흐름은 Collabora가 Nextcloud 사용자를 대신하여 문서를 검색하고 작성하는 방식이기 때문에 이는 중요한 보안 제어입니다. 배포 환경에 따라 실제 CODE 서버 경로를 나타내는 IP 주소 또는 네트워크를 사용하십시오. 서버 URL 필드와 유사해 보인다는 이유만으로 호스트 이름을 IP 허용 목록 필드에 붙여넣지 마십시오. 현재 사용 가능한 옵션은 Nextcloud의 Collabora 구성 및 WOPI 지침을 참조하십시오.

8단계: 실제 문서를 열고 저장을 확인합니다.

Nextcloud에서 간단한 ODT 또는 DOCX 파일을 생성하고, 파일을 열어 문장을 입력한 후 편집기를 닫고 다시 파일을 엽니다. 이렇게 하면 브라우저 → 공개 CODE 호스트 이름 → 리버스 프록시 → CODE → Nextcloud에 대한 WOPI 요청 → 스토리지에 저장이라는 전체 과정을 확인할 수 있습니다.

Nextcloud 내에서 브라우저 기반 Collabora 문서 편집기가 열리고 샘플 프로젝트 계획 문서가 표시됩니다.
마지막 테스트는 실제적인 검증입니다. 문서를 생성하거나 열고 편집기가 제대로 로드되고, 변경 사항을 적용하여 Nextcloud에 저장하는지 확인하십시오.

Office 설정 페이지에서 서버에 연결할 수 있다고 표시된다고 해서 설정이 완료된 것은 아닙니다. 정상적인 결과는 편집기가 연결 경고 없이 로드되고, 문서를 수정할 수 있으며, 저장된 변경 사항이 다시 열었을 때도 유지되는 것입니다. 편집기 셸은 로드되지만 편집 연결이 끊어지는 경우, 먼저 WebSocket /cool/.../ws연결 문제를 확인하십시오. 편집기에서 파일을 전혀 로드할 수 없는 경우, CODE 로그, Nextcloud 로그, 두 서버 간의 DNS 확인, 그리고 WOPI 허용 목록 규칙을 확인하십시오.

빠른 문제 해결 체크리스트

징후첫 번째 확인
Nextcloud에서 사무실 서버에 연결할 수 없다고 합니다./hosting/discoveryNextcloud 호스트에서 HTTPS를 통해 접속하세요 .
브라우저에서 502 또는 504 오류가 발생합니다.컨테이너가 실행 중이고 프록시를 통해 접속할 수 있는지 확인하십시오 127.0.0.1:9980.
편집기가 열렸다가 연결이 끊어집니다.WebSocket 업그레이드 헤더와 /cool/(...)/ws경로를 확인하십시오.
인증서 오류공개 인증서 체인을 수정하고 구성된 URL이 올바른 호스트 이름을 사용하는지 확인하십시오.
WOPI 접근이 거부되었습니다.Nextcloud의 WOPI 허용 목록과 CODE에서 허용한 Nextcloud 호스트 구성을 검토하십시오.
한 네트워크에서는 작동하지만 다른 네트워크에서는 작동하지 않습니다.분할 DNS, 방화벽 규칙을 확인하고 Nextcloud와 CODE 모두 서로의 공개 이름을 확인할 수 있는지 확인하십시오.

CODE를 최신 상태로 유지하면서 업그레이드로 인한 불편함을 방지하세요.

Collabora는 CODE 업데이트를 자주 게시합니다. 공식 Docker Hub 페이지에는 활발하게 관리되는 태그가 표시되며, Nextcloud의 업그레이드 지침에 따르면 Docker 배포는 최신 이미지를 가져와 컨테이너를 다시 생성하는 방식으로 업데이트됩니다. 개인용 서버의 경우 업데이트 추적이 latest어느 정도 효과적일 수 있습니다. 하지만 기업용의 경우, 검증된 태그를 고정하고, 릴리스 노트를 읽고, 구성을 백업한 다음, 유지 관리 기간 동안 업그레이드하는 것이 좋습니다.

또한 CODE의 범위를 염두에 두어야 합니다. Docker Hub에서는 CODE를 가정 사용자를 위한 개발 버전으로 설명하고 있는 반면, Nextcloud 문서에서는 더 큰 규모 또는 안정성이 중요한 배포에는 지원되는 엔터프라이즈 옵션을 권장하고 있습니다. 10분 만에 Docker를 설정할 수 있는 것은 개인 클라우드, 연구실 또는 소규모 팀에는 적합하지만, 용량 계획, 모니터링, 백업 또는 엔터프라이즈 지원을 대체할 수는 없습니다.

최종 결과

컨테이너가 실행되고, HTTPS 프록싱이 올바르게 작동하고, /hosting/discovery응답하고, Nextcloud 통합이 제대로 연결되고 https://office.example.com, WOPI가 제한되고, 실제 문서가 열리고 저장되면 통합이 완료됩니다. 가장 중요한 것은 명령어의 개수가 아니라 네트워크 경로의 일관성을 유지하는 것입니다. Nextcloud, CODE, 리버스 프록시, 그리고 사용자의 브라우저는 모두 올바른 WebSocket 및 WOPI 경로를 통해 예상되는 HTTPS 호스트 이름에 접근할 수 있어야 합니다.

댓글 남기기

네트워크에서 장치를 찾는 데 유용한 최고의 핑 스윕 도구 10가지

네트워크에서 장치를 찾는 데 유용한 최고의 핑 스윕 도구 10가지

빠른 LAN 검색, 플랫폼 간 스캔 및 IP 주소 관리를 위한 10가지 핑 스윕 도구를 비교해 보세요. 스윕을 통해 무엇을 알 수 있고 무엇을 알 수 없는지 알아보세요.

성능 추적을 위한 최고의 네트워크 관리 도구 6가지

성능 추적을 위한 최고의 네트워크 관리 도구 6가지

SNMP 적용 범위, 매핑, 알림, 배포 모델 및 비용 대비 효과를 포함하여 성능 모니터링을 위한 6가지 네트워크 관리 도구를 비교합니다.

Windows, iOS 및 Android용 최고의 Wi-Fi 분석기

Windows, iOS 및 Android용 최고의 Wi-Fi 분석기

Windows, iPhone, Android용 Wi-Fi 분석 앱들을 비교해 보세요. 채널 혼잡도, 신호 범위, 히트맵, 네트워크 문제 해결 도구 등을 포함합니다.

핑 모니터: 네트워크 가용성을 위한 7가지 무료 오픈소스 도구

핑 모니터: 네트워크 가용성을 위한 7가지 무료 오픈소스 도구

종합적인 네트워크 관리 도구부터 특정 지연 시간 측정에 특화된 도구까지, 7가지 무료 오픈 소스 핑 모니터링 도구를 비교하고 가용성, 패킷 손실률, 기록 관리에 적합한 도구를 선택하세요.

네트워킹에서의 QoS: 서비스 품질(QoS)이란 무엇이며 어떻게 작동하는가

네트워킹에서의 QoS: 서비스 품질(QoS)이란 무엇이며 어떻게 작동하는가

네트워킹에서 QoS가 무엇을 의미하는지, DSCP 마킹과 트래픽 큐가 음성, 비디오 및 비즈니스 애플리케이션의 우선순위를 어떻게 지정하는지, 그리고 QoS로 해결할 수 없는 문제는 무엇인지 알아보세요.

Nmap을 사용하여 트레이서루트를 실행하고 네트워크 경로를 읽는 방법

Nmap을 사용하여 트레이서루트를 실행하고 네트워크 경로를 읽는 방법

Nmap의 --traceroute 옵션을 사용하여 홉을 인증된 호스트로 매핑하고, 홉 및 RTT 출력을 이해하고, 과도한 스캔 없이 누락된 응답 문제를 해결할 수 있습니다.

안전한 파일 전송을 위한 최고의 SFTP 서버 소프트웨어

안전한 파일 전송을 위한 최고의 SFTP 서버 소프트웨어

Windows 및 Linux용 안정적인 SFTP 서버 소프트웨어(OpenSSH, Bitvise, SolarWinds, SFTPGo 등)를 비교해 보세요. 보안 및 파일 전송 요구 사항에 맞는 최적의 솔루션을 찾아보세요.

네트워크 팀을 위한 최고의 IP 주소 관리 도구 7가지

네트워크 팀을 위한 최고의 IP 주소 관리 도구 7가지

서브넷 검색, DNS 및 DHCP 조정, 네트워크 인벤토리, 오픈 소스 IPAM을 위한 7가지 IP 주소 관리 도구를 비교합니다.

네트워크 모니터링 모범 사례: 추적 대상 및 사용 도구

네트워크 모니터링 모범 사례: 추적 대상 및 사용 도구

SolarWinds NPM, PRTG 및 OpManager를 비교하여 명확한 장치 범위, 유용한 성능 지표, 실행 가능한 알림을 통해 실용적인 네트워크 모니터링 시스템을 구축하십시오.

기기 및 IP 주소 검색을 위한 최고의 네트워크 스캐너 도구 10가지

기기 및 IP 주소 검색을 위한 최고의 네트워크 스캐너 도구 10가지

빠른 장치 검색, 플랫폼 간 IP 스캔 및 엔터프라이즈 IPAM을 위한 네트워크 스캐너 도구를 비교하고, 각 옵션을 네트워크에 맞게 선택하는 방법에 대한 지침을 제공합니다.