개요
이 글에서는 Docker를 이용해 MySQL, Nextcloud, OnlyOffice DocumentServer를 순차적으로 설치하고, Nextcloud에 OnlyOffice 플러그인을 연동하는 방법을 설명합니다. 모든 컨테이너는 호스트의 지정된 디렉터리에 데이터를 저장하도록 설정합니다.
1. Docker 이미지 준비
먼저 필요한 이미지를 내려받습니다.
docker pull mysql:8.0
docker pull nextcloud:latest
docker pull onlyoffice/documentserver:latest
2. MySQL 컨테이너 실행
Nextcloud에서 사용할 데이터베이스를 호스팅할 MySQL 컨테이너를 생성합니다. 보안을 위해 전용 사용자와 데이터베이스를 만들어 root 계정 사용을 피합니다.
docker run -d \
--name nc_mysql \
-p 3306:3306 \
-v /data/mysql/conf:/etc/mysql/conf.d \
-v /data/mysql/logs:/logs \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=my_strong_password \
mysql:8.0
컨테이너가 실행되면 내부에 접속해 Nextcloud 전용 데이터베이스와 사용자를 생성합니다.
docker exec -it nc_mysql mysql -uroot -p
# 비밀번호 입력 후
CREATE DATABASE IF NOT EXISTS nextcloud_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'nc_user'@'%' IDENTIFIED BY 'nextcloud_pass';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nc_user'@'%';
FLUSH PRIVILEGES;
EXIT;
3. Nextcloud 컨테이너 실행
다음 명령어로 Nextcloud 인스턴스를 실행합니다. 호스트의 디렉터리를 볼륨으로 연결해 데이터를 유지합니다.
docker run -d \
--name nextcloud \
--link nc_mysql:mysql \
-v /data/nextcloud/html:/var/www/html \
-v /data/nextcloud/apps:/var/www/html/custom_apps \
-v /data/nextcloud/config:/var/www/html/config \
-v /data/nextcloud/data:/var/www/html/data \
-v /data/nextcloud/themes:/var/www/html/themes \
-p 8080:80 \
nextcloud:latest
웹 브라우저에서 http://<호스트IP>:8080에 접속합니다.
- 관리자 계정과 비밀번호를 설정합니다.
- 데이터베이스 설정에서 MySQL을 선택하고, 위에서 생성한 데이터베이스 정보를 입력합니다:
- 데이터베이스 사용자:
nc_user - 데이터베이스 비밀번호:
nextcloud_pass - 데이터베이스 이름:
nextcloud_db - 호스트:
nc_mysql(컨테이너 이름)
- 데이터베이스 사용자:
- 설치 완료 후 파일 관리 페이지로 이동합니다.
4. OnlyOffice DocumentServer 실행
OnlyOffice 문서 편집 기능을 제공하는 DocumentServer 컨테이너를 실행합니다.
docker run -d \
--name onlyoffice \
-p 6060:80 \
--restart=always \
-v /data/onlyoffice/logs:/var/log/onlyoffice \
-v /data/onlyoffice/data:/var/www/onlyoffice/Data \
-v /data/onlyoffice/lib:/var/lib/onlyoffice \
-v /data/onlyoffice/db:/var/lib/postgresql \
onlyoffice/documentserver:latest
http://<호스트IP>:6060에 접속해 OnlyOffice 시작 페이지가 정상적으로 표시되는지 확인합니다.
5. Nextcloud에 OnlyOffice 플러그인 설치 및 구성
- Nextcloud 관리자 페이지에 로그인합니다.
- 오른쪽 상단 메뉴에서 앱(Apps)을 선택합니다.
- 왼쪽 메뉴에서 Office & text를 클릭하고 검색창에
onlyoffice를 입력합니다. - 나타나는 ONLYOFFICE 앱을 설치하고 활성화합니다.
- 관리 설정(관리 → ONLYOFFICE)으로 이동합니다.
- Document Server 주소 필드에 OnlyOffice 컨테이너의 접근 주소를 입력합니다. 예:
http://<호스트IP>:6060 - 저장 버튼을 클릭합니다.
- Nextcloud 파일 목록에서 + 버튼을 클릭하면 새 문서(Word, Excel, PowerPoint)를 생성할 수 있는 옵션이 나타납니다.
이제 Nextcloud에서 직접 Office 문서를 생성하고 편집할 수 있습니다.