프롤로그: 데이터를 프라이빗하게 관리하기 위해서
이전 포스팅에서 우리는 **넥스트클라우드(Nextcloud)를 활용한 지식 관리 워크플로우**를 다루었습니다. 그렇다면 이 넥스트클라우드를 내 컴퓨터(워크스테이션)에 어떻게 설치해야 할까요?
전통적인 방식(APM 소스 설치)은 복잡하고 시스템을 지저분하게 만듭니다. 2025년 현재, 가장 표준적이고 깔끔한 방법은 **도커(Docker)**를 사용하는 것입니다. 이 글에서는 Docker Compose를 이용해 단 10분 만에 나만의 클라우드를 구축하는 법을 소개합니다.
준비물
- OS: 리눅스 (Ubuntu 22.04/24.04 권장) 혹은 macOS, Windows (WSL2)
- 필수 도구: Docker 및 Docker Compose 설치 완료
혹시 Docker가 없다면 아래 명령어로 빠르게 설치할 수 있습니다. (Ubuntu 기준)
# Docker 자동 설치 스크립트 실행
curl -fsSL [https://get.docker.com](https://get.docker.com) -o get-docker.sh
sudo sh get-docker.sh
# 현재 사용자를 docker 그룹에 추가 (sudo 없이 실행하기 위해)
sudo usermod -aG docker $USER
# (설정 적용을 위해 로그아웃 후 다시 로그인 필요)
1단계: 프로젝트 폴더 생성
데이터를 체계적으로 관리하기 위해 홈 디렉터리에 전용 폴더를 만듭니다.
mkdir -p ~/my-server/nextcloud
cd ~/my-server/nextcloud
2단계: docker-compose.yml 작성 (핵심)
Nextcloud만 설치하면 속도가 느린 SQLite가 기본으로 사용됩니다. 연구 데이터나 많은 양의 문서를 처리하려면 **MariaDB(데이터베이스)**를 함께 설치해야 합니다.
docker-compose.yml 파일을 생성하고 아래 내용을 복사해 붙여넣으세요.
vi docker-compose.yml
version: '3'
services:
db:
image: mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=강력한루트비밀번호 # 변경 필수
- MYSQL_PASSWORD=강력한DB비밀번호 # 변경 필수
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
restart: always
ports:
- 8080:80
links:
- db
volumes:
- ./html:/var/www/html
environment:
- MYSQL_PASSWORD=강력한DB비밀번호 # 위와 동일하게 입력
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
[설정 포인트]
- Volumes: 현재 폴더의
html폴더에 클라우드 파일이,db폴더에 데이터베이스가 저장됩니다. 나중에 이 두 폴더만 백업하면 서버를 통째로 복구할 수 있습니다. - Ports:
8080:80으로 설정했습니다. 웹 브라우저에서localhost:8080으로 접속하게 됩니다.
3단계: 컨테이너 실행 및 상태 확인
설정 파일이 있는 위치에서 아래 명령어를 입력하여 서버를 실행합니다.
docker compose up -d
up: 컨테이너 생성 및 실행-d: 백그라운드(Detached) 모드로 실행 (터미널을 꺼도 서버는 계속 돕니다)
Docker가 이미지를 다운로드하고 서버를 켜는 데 약 1~2분 정도 걸립니다.
실행 후 다음 명령어로 컨테이너가 정상적으로 떠 있는지 확인해 봅니다.
docker ps
아래와 같이 STATUS가 Up으로 표시되고 포트가 8080으로 열려있다면 성공입니다!

4단계: Nextcloud 초기 설정
이제 웹 브라우저를 열고 주소창에 http://localhost:8080 (또는 http://서버IP:8080)을 입력합니다.
관리자 계정 생성 화면이 나타나면 성공입니다!
- 사용자 이름/암호: 사용할 관리자 ID와 암호를 입력합니다.
- 데이터베이스 설정: (이미 docker-compose에서 연결했으므로 자동으로 인식하거나, 입력창이 뜨지 않을 수 있습니다. 만약 뜬다면 아래와 같이 입력합니다.)
- 저장소 및 데이터베이스: MySQL/MariaDB 선택
- 데이터베이스 사용자:
nextcloud - 데이터베이스 암호:
docker-compose.yml에 적은 비밀번호 - 데이터베이스 이름:
nextcloud - 호스트:
db
‘설치 완료’ 버튼을 누르면 잠시 후 나만의 클라우드 홈 화면이 반겨줄 것입니다.
마치며: 이제 시작입니다
축하합니다! 이제 구글 드라이브 용량 걱정 없는 무제한 개인 클라우드가 생겼습니다. 이제 PC와 스마트폰에 Nextcloud 앱을 설치하고 파일을 동기화해 보세요.
