본문 바로가기

IT/NAS

[자작NAS] 우분투 서버에 Docker로 NextCloud 설치

반응형

NextCloud는 파일을 보관하고 원격에서 접근할 수 있게 해주는 파일 호스팅 서비스입니다.

구글 드라이브나 드랍박스와 유사한 서비스를 직접 설치해서 사용하는 형태입니다.

Docker를 통해 NextCloud를 설치하는 방법을 알아보겠습니다.

 

NextCloud는 DockerHub에 정식 이미지가 등록되어 있습니다.

https://hub.docker.com/_/nextcloud

 

nextcloud - Docker Hub

Supported tags and respective Dockerfile links 15.0.13-apache, 15.0-apache, 15-apache, 15.0.13, 15.0, 15 15.0.13-fpm-alpine, 15.0-fpm-alpine, 15-fpm-alpine 15.0.13-fpm, 15.0-fpm, 15-fpm 16.0.6-apache, 16.0-apache, 16-apache, stable-apache, production-apach

hub.docker.com

컨테이너 생성 전에 필요한 디렉토리를 생성합니다.

sudo mkdir -p /data/nextcloud/nextcloud
sudo mkdir -p /data/nextcloud/apps
sudo mkdir -p /data/nextcloud/config
sudo mkdir -p /data/nextcloud/data
sudo mkdir -p /data/nextcloud/theme

MariaDB를 사용해서 Nextcloud를 구동할 예정이기 때문에 아래 링크를 참조해서 컨테이너를 생성합니다.

2016/09/15 - [IT/NAS] - [자작NAS] 6. 우분투 서버에 MariaDB 설치

 

[자작NAS] 6. 우분투 서버에 MariaDB 설치

Docker 설치가 완료되면 다양한 기능을 Docker를 통해 추가할 수 있습니다. 먼저 데이터베이스인 MariaDB를 설치하는 방법을 알아보겠습니다. MariaDB는 기존 MySQL이 오라클의 소유로 넘어가면서 새롭게

psychoria.tistory.com

MariaDB에 Nextcloud를 위한 설정을 몇 가지 진행하기 위해 생성한 컨테이너 내부로 이동합니다.

sudo docker exec -it mariadb bash

아래 명령어를 입력한 후 MariaDB 생성시의 root의 비밀번호를 입력합니다.

mysql -u root -p

PASSWORD를 원하는 비밀번호로 변경한 후 명령어들을 차례로 입력합니다.

CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'%' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'%';
FLUSH PRIVILEGES;
quit

명령어를 모두 입력했으면 MariaDB 컨테이너를 빠져나옵니다.

exit

다음으로 MariaDB와 Nextcloud를 한 네트워크에 두기 위해 새로운 네트워크를 생성합니다.

sudo docker network create nextcloud

그리고 MariaDB를 해당 네트워크에 연결시킵니다.

sudo docker network connect nextcloud mariadb

이제 Nextcloud 컨테이너를 생성해주면 됩니다.

sudo docker run -d \
-p 8585:80 \
--name=nextcloud \
--network=nextcloud \
--restart=unless-stopped \
-v /data/nextcloud/nextcloud:/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/theme:/var/www/html/themes \
-e MYSQL_HOST=mariadb \
-e MYSQL_DATABASE=nextcloud \
-e MYSQL_USER=nextcloud \
-e MYSQL_PASSWORD='PASSWORD' \
nextcloud

80번 포트가 많이 쓰이기 때문에 원하는 포트로 변경해주면 됩니다.

그리고 PASSWORD 부분에는 nextcloud 사용자를 생성할 때 입력한 비밀번호를 입력하면 됩니다.

컨테이너가 생성된 후 http://IP주소:8585 형태로 접속하면 됩니다.

Nextcloud

어드민 계정으로 사용할 계정 정보를 입력하고 Finish setup을 누르면 설정이 완료됩니다.

추천 앱 설치

몇 가지 추천 앱들이 함께 설치되기 때문에 초기 설정에 약간의 시간이 소요됩니다.

Nextcloud

이것으로 Nextcloud 설치가 완료됩니다.

반응형