구글 드라이브, iCloud, 드롭박스는 매달 일정 용량까지만 무료고, 그 이상은 구독료를 내야 계속 쓸 수 있어요. 게다가 결국 내 파일이 남의 서버에 저장된다는 근본적인 한계도 그대로 남아요. Nextcloud는 이런 문제에서 벗어나 내 하드웨어에 내 데이터를 직접 저장하고 관리할 수 있게 해주는 오픈소스 클라우드 플랫폼인데, 그럼 Nextcloud로 나만의 클라우드 스토리지를 어떻게 구축할 수 있을까요?
Nextcloud가 하는 일
Nextcloud는 기본적으로 파일 동기화와 공유 기능을 제공하지만, 단순한 스토리지를 넘어 하나의 생산성 플랫폼에 가까워요.
- 파일 동기화: 데스크톱, 모바일 앱을 통해 여러 기기 간 파일을 자동으로 동기화해요.
- 캘린더/연락처: CalDAV, CardDAV 프로토콜을 지원해 구글 캘린더를 완전히 대체할 수 있어요.
- Nextcloud Office: 문서, 스프레드시트, 프레젠테이션을 브라우저에서 직접 편집할 수 있어요.
- Nextcloud Talk: 화상회의와 채팅 기능도 자체 호스팅할 수 있어요.
- 앱 생태계: 수백 개의 커뮤니티 앱을 통해 메모, 할 일 관리, 사진 갤러리 등 기능을 추가할 수 있어요.
설치 방법: Docker Compose가 가장 간단
Nextcloud를 처음부터 수동으로 설치하려면 PHP, 웹서버, 데이터베이스를 각각 구성해야 해요. 반면 Docker Compose를 쓰면 몇 줄의 설정 파일로 전체 스택을 한 번에 띄울 수 있고, 공식 이미지는 nextcloud와 데이터베이스(MariaDB 또는 PostgreSQL) 컨테이너를 함께 구성하는 방식을 권장해요.
services:
db:
image: mariadb:11
environment:
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: nextcloud
volumes:
- db_data:/var/lib/mysql
app:
image: nextcloud:latest
ports:
- "8080:80"
depends_on:
- db
volumes:
- nextcloud_data:/var/www/html
volumes:
db_data:
nextcloud_data:
이 설정만으로도 로컬 네트워크에서 바로 접속 가능한 Nextcloud 인스턴스가 만들어져요. 외부에서 접속하려면 리버스 프록시와 HTTPS 인증서 설정을 추가하거나, Tailscale로 VPN 접속을 구성하는 방법도 있어요.
실사용에서 고려해야 할 점
Nextcloud는 PHP 기반 애플리케이션이라 파일 개수가 많아지면(수만 개 이상) 응답 속도가 느려지는 경우가 있어요. 이럴 땐 Redis를 캐시 레이어로 추가하고 OPcache를 활성화하면 체감 속도가 크게 개선돼요.
백업도 신경 써야 할 부분이에요. 데이터 볼륨과 데이터베이스를 모두 정기적으로 백업해야 하는데, 특히 데이터베이스는 파일 자체를 복사하는 것만으로는 정합성이 깨질 수 있어서 mysqldump 등을 이용한 논리적 백업을 권장해요. 저장 공간은 초기에 로컬 디스크로 시작해도, 나중에 external storage 기능을 통해 NAS나 S3 호환 오브젝트 스토리지를 추가로 연결할 수 있어요.
구글 드라이브와 비교했을 때 얻는 것
Nextcloud로 옮기면 저장 용량, 데이터 통제권, 서비스 지속성 세 가지 측면에서 확실한 이득을 얻어요.- 저장 용량이 내 하드웨어 용량만큼 자유로워요. 월 구독료 없이 원하는 만큼 디스크를 추가하면 돼요.
- 데이터가 실제로 어디에 저장되는지, 누가 접근할 수 있는지를 완전히 통제할 수 있어요.
- 서비스 종료나 정책 변경으로 인한 강제 마이그레이션 위험이 없어요.
잃는 것도 있다는 걸 인정해야 한다
편리함을 포기하는 대신 얻는 게 있듯, 반대로 관리형 서비스가 대신해주던 책임도 스스로 떠안아야 해요.
- 서버가 다운되면 접근할 수 없다는 가용성 리스크는 스스로 감당해야 해요. 파일을 여러 장치에 실시간으로 복제해두고 싶다면 Syncthing을 함께 구성하는 것도 방법이에요. UPS(무정전 전원장치)나 이중화 구성이 없다면, 정전이나 하드웨어 고장 시 파일에 접근할 수 없다는 점은 꼭 기억해야 해요.
- 보안 업데이트, 백업, 모니터링을 모두 직접 챙겨야 해요. 관리형 서비스가 자동으로 해주던 일을 스스로 책임져야 한다는 뜻이에요.
결론
Nextcloud는 “내 데이터는 내가 통제한다”는 셀프호스팅의 핵심 가치를 가장 잘 보여주는 프로젝트 중 하나예요. 처음 설정에는 시간이 들지만, 한 번 안정적으로 구축해두면 클라우드 서비스 요금 걱정 없이 오랫동안 활용할 수 있는 나만의 인프라가 돼요.
자주 묻는 질문
Q1. 파일 저장 말고 다른 기능도 있나요?
네, 캘린더/연락처 동기화, 브라우저 문서 편집(Nextcloud Office), 화상회의(Nextcloud Talk)까지 지원해서 단순 스토리지를 넘어 생산성 플랫폼에 가까워요.
Q2. 파일이 많아지면 느려지나요?
PHP 기반이라 파일 개수가 수만 개 이상으로 많아지면 느려질 수 있는데, Redis를 캐시 레이어로 추가하고 OPcache를 활성화하면 체감 속도가 크게 개선돼요.
Q3. 저장 공간이 부족해지면 어떻게 하나요?
external storage 기능으로 NAS나 S3 호환 오브젝트 스토리지를 나중에 추가로 연결할 수 있어서 로컬 디스크로 시작해도 확장이 가능해요.
Q4. 서버가 다운되면 파일에 아예 접근할 수 없나요?
네, 구글 드라이브 같은 관리형 서비스와 달리 가용성 리스크를 스스로 감당해야 해요. UPS나 이중화 구성이 없으면 정전이나 하드웨어 고장 시 접근이 끊길 수 있어요.
Q5. 백업은 파일만 복사하면 되나요?
아니요, 데이터베이스는 파일만 복사하면 정합성이 깨질 수 있어서 `mysqldump` 같은 논리적 백업 방식을 함께 써야 해요.
댓글
첫 번째 댓글을 남겨보세요!
Mealie로 레시피와 장보기 목록 셀프호스팅하기
여기저기 저장해둔 요리 레시피가 흩어져 사라지는 문제를, Mealie로 직접 운영하는 레시피 관리 서버와 자동 장보기 목록 기능으로 해결하는 방법을 소개합니다.
MealieRestic vs Duplicati: 홈서버 백업 도구 비교
명령줄 기반의 가벼운 Restic과 웹 UI를 갖춘 Duplicati, 홈서버 데이터를 클라우드나 NAS로 안전하게 백업할 때 두 도구가 어떻게 다르고 어떤 상황에 맞는지 비교합니다.
ResticWireGuard로 직접 VPN 서버 구축하기
커널에 통합될 만큼 가볍고 빠른 WireGuard 프로토콜의 구조와, 집 서버에 직접 VPN을 구축해 외부에서 홈네트워크 전체에 안전하게 접속하는 방법을 정리합니다.
WireGuard