
Synology Joplin 구축
Synology Joplin 구축시, 개인 노트와 메모를 안전하게 관리하고 동기화하려는 사용자들에게 최적의 솔루션이다.
클라우드 서비스에 의존하지 않고 자신의 NAS에서 데이터를 완벽하게 제어하면서도 다양한 기기에서 접근할 수 있는 환경을 만들 수 있다.
이 글에서는 Synology NAS에 Joplin을 설치하고 구성하는 두 가지 방법을 자세히 알아보자.
기본 개념
Joplin은 마크다운 기반의 오픈소스 노트 관리 애플리케이션으로, 에버노트나 원노트의 강력한 대안이다.
다양한 플랫폼(Windows, macOS, Linux, iOS, Android)에서 사용할 수 있으며, 여러 기기 간 동기화를 지원한다.
이점 | 설명 |
---|---|
데이터 소유권 확보 | 모든 노트와 첨부 파일이 자신의 NAS에 저장되어 개인 정보 보호가 강화된다 |
무료 사용 | Joplin Cloud와 같은 유료 서비스 없이도 모든 기능을 이용할 수 있다 |
높은 안정성 | 인터넷 연결이 불안정해도 로컬 네트워크에서 동기화 가능하며, 클라우드 서비스 중단 위험이 없다 |
다양한 기기 지원 | PC, 모바일, 태블릿 등 어디서나 동일한 노트에 접근할 수 있다 |
Synology Joplin 구축을 위해서는 기본적으로 Synology NAS와 Joplin 애플리케이션이 필요하다.
구축 방법 선택
Synology NAS에 Joplin을 구축하는 방법은 크게 두 가지가 있다.
각 방법에는 장단점이 있으므로 자신의 필요에 맞는 방법을 선택하자.
구축 방법 | 난이도 | 주요 특징 |
---|---|---|
Docker 방식 | 중상 | Joplin Server 설치, 웹 인터페이스 제공, 높은 동기화 속도 |
WebDAV 방식 | 하 | 간단한 설정, 낮은 리소스 사용, 기본 동기화만 지원 |
Docker 방식의 특징
Docker를 사용하여 Joplin Server를 설치하는 방식은 보다 전문적인 사용자에게 적합하다.
구분 | 세부 내용 |
---|---|
장점 | 클라우드 서비스와 유사한 완전한 기능 제공, 웹 인터페이스로 브라우저에서 노트 접근 가능, 동기화 속도가 빠르고 안정적, 사용자 계정 관리 기능 제공 |
단점 | 설정이 복잡하고 기술적 지식 필요, 리소스 사용량이 상대적으로 높음, 외부 접속을 위한 추가 설정(도메인, SSL 등) 필요 |
WebDAV 방식의 특징
WebDAV를 사용하여 Synology NAS와 Joplin을 연동하는 방식은 간단하게 시작하려는 사용자에게 적합하다.
구분 | 세부 내용 |
---|---|
장점 | 설정이 간단하고 직관적, NAS의 리소스를 적게 사용, Synology의 기본 패키지만으로 구현 가능 |
단점 | 동기화 기능만 제공(웹 인터페이스 없음), WebDAV 프로토콜의 특성상 동기화 속도가 상대적으로 느림, 서버에서 직접 노트 관리 불가능 |
Docker로 설치
Docker를 사용하여 Joplin Server를 설치하는 방법을 단계별로 알아보자.
항목 | 설명 |
---|---|
Synology NAS Docker 패키지 | 반드시 설치되어 있어야 함 |
Portainer (선택 사항) | Docker 관리를 더 편리하게 해주는 도구 |
외부 접속용 도메인 및 SSL 인증서 | 원격 접속 시 필요 |
설치 단계
- 파일 구조 생성
먼저 Joplin Server를 위한 폴더 구조를 생성한다.
/volume1/docker/joplin-server/joplin-data
- Docker 이미지 다운로드
Synology의 Docker 패키지를 열고 레지스트리에서 Joplin Server 이미지를 검색하여 다운로드한다.
joplin/server
- 컨테이너 생성 및 설정
다운로드한 이미지에서 컨테이너를 생성하고, 고급 설정에서 항목을 구성한다.
- 볼륨 설정
로컬 폴더 경로 마운트 경로 설명 /volume1/docker/joplin-server/joplin-data /srv/joplin-data Joplin 데이터 저장 위치 - 포트 설정
로컬 포트 컨테이너 포트 설명 22300 22300 Joplin Server 접속 포트 - 환경 변수 설정
Docker 컨테이너 실행을 위한 환경 변수를 설정한다.
APP_PORT=22300 APP_BASE_URL=https://joplin.yourdomain.com DB_CLIENT=sqlite3
사용된 코드 설명APP_PORT=22300:Joplin Server가 사용할 포트 번호를 지정한다.APP_BASE_URL=https://joplin.yourdomain.com:외부에서 접속할 URL을 지정한다. 자신의 도메인으로 변경해야 한다.DB_CLIENT=sqlite3:데이터베이스로 SQLite를 사용하도록 설정한다. 더 큰 규모의 설치에는 PostgreSQL을 권장한다.
- 볼륨 설정
- PostgreSQL 사용 (선택사항)
대규모 설치나 더 나은 성능을 원한다면 SQLite 대신 PostgreSQL을 사용할 수 있다.
Docker Compose를 사용한 설치 예시
version: '3'
volumes: postgres-data: joplin-data:
services: db: image: postgres:13 volumes: - postgres-data:/var/lib/postgresql/data restart: unless-stopped environment: - POSTGRES_PASSWORD=joplin - POSTGRES_USER=joplin - POSTGRES_DB=joplin
app: image: joplin/server:latest depends_on: - db ports: - "22300:22300" volumes: - joplin-data:/srv/joplin-data restart: unless-stopped environment: - APP_PORT=22300 - APP_BASE_URL=https://joplin.yourdomain.com - DB_CLIENT=pg - POSTGRES_PASSWORD=joplin - POSTGRES_DATABASE=joplin - POSTGRES_USER=joplin - POSTGRES_PORT=5432 - POSTGRES_HOST=db사용된 코드 설명version: ‘3’:Docker Compose 파일 버전을 지정한다.volumes::데이터 저장을 위한 볼륨을 정의한다.services::실행할 서비스(컨테이너)를 정의한다.db::PostgreSQL 데이터베이스 서비스를 설정한다.app::Joplin Server 서비스를 설정한다.depends_on::서비스 간의 의존성을 설정한다(데이터베이스가 먼저 시작되도록).restart: unless-stopped:컨테이너가 비정상 종료되면 자동으로 재시작한다.
외부에서 Joplin Server에 접속하려면 도메인 설정과 SSL 인증서가 필요하다.
- Synology DSM의 제어판 → 응용 프로그램 포털 → 역방향 프록시에서 새 규칙을 생성한다.
소스 대상 설명 HTTPS, 호스트이름: joplin.yourdomain.com, 포트: 443 HTTP, 호스트이름: localhost, 포트: 22300 Joplin Server로의 역방향 프록시 규칙 - SSL 인증서 설정
Synology DSM의 제어판 → 보안 → 인증서에서 Let’s Encrypt를 통해 무료 SSL 인증서를 발급받거나 자체 인증서를 업로드한다.
각 기기에 Joplin 앱을 설치하고 동기화를 설정한다.
- 설정 → 동기화로 이동
- 동기화 대상으로 ‘Joplin Server’ 선택
- 정보 입력
- Joplin Server URL: https://joplin.yourdomain.com
- 이메일: 설정한 사용자 이메일
- 비밀번호: 설정한 비밀번호
- 동기화 테스트 후 저장
초기 로그인 정보
첫 로그인 후 반드시 변경해야 한다.
항목 | 값 | 설명 |
---|---|---|
이메일 | admin@localhost | 기본 관리자 계정 |
비밀번호 | admin | 기본 관리자 비밀번호 |
WebDAV로 연동
WebDAV를 사용하여 Synology NAS와 Joplin을 연동하는 방법을 알아보자.
준비 사항
Synology NAS에 WebDAV Server 패키지가 설치되어 있어야 한다.
설정 단계
- WebDAV 서버 설정
Synology Package Center에서 WebDAV Server를 설치하고 실행한다.
- Package Center 열기
- WebDAV Server 검색 및 설치
- WebDAV Server 실행
- HTTP/HTTPS 활성화 (보안을 위해 가능한 HTTPS 사용)
WebDAV Server의 기본 포트프로토콜 포트 설명 HTTP 5005 암호화되지 않은 연결 (로컬 네트워크에서만 권장) HTTPS 5006 암호화된 연결 (외부 접속 시 필수) - Joplin 폴더 생성
Synology File Station에서 Joplin 데이터를 저장할 폴더를 생성한다.
/volume1/[공유폴더]/joplin
- WebDAV 액세스 설정
WebDAV Server 설정에서 Joplin 폴더에 대한 액세스 권한을 설정한다.
- WebDAV Server 앱 실행
- 권한 설정으로 이동
- Joplin 폴더에 대한 액세스 권한 설정
- 사용자 계정 및 권한 지정
- Joplin 클라이언트 설정
각 기기에 Joplin 앱을 설치하고 동기화를 설정한다.
- 설정 → 동기화로 이동
- 동기화 대상으로 ‘WebDAV’ 선택
- 정보 입력
- WebDAV URL:
- 로컬 네트워크: http://[NAS_IP]:5005/[공유폴더]/joplin
- 외부 접속: https://[도메인주소]:5006/[공유폴더]/joplin
- 사용자 이름: Synology 계정 사용자 이름
- 비밀번호: Synology 계정 비밀번호
- WebDAV URL:
- 동기화 테스트 후 저장
- 외부 접속을 위한 DDNS 및 포트 포워딩 설정 (선택사항)
외부에서 WebDAV에 접속하려면 설정이 필요하다.
- Synology DSM 제어판 → 외부 액세스 → DDNS에서 호스트 이름 추가
- 라우터에서 WebDAV 포트(5005, 5006)에 대한 포트 포워딩 설정
- HTTPS 사용 시 유효한 SSL 인증서 설정
보안 및 데이터 백업
Joplin 데이터를 안전하게 보호하고 백업하는 방법을 알아보자.
보안 설정
보안 설정 | 설명 |
---|---|
HTTPS 사용 | 데이터 전송 시 암호화를 위해 필수적임 |
강력한 비밀번호 사용 | 최소 12자 이상, 특수문자, 대소문자, 숫자 조합 권장 |
Joplin E2EE 활성화 | 민감한 노트의 추가 보안을 위해 엔드 투 엔드 암호화 사용 |
WebDAV 접근 제한 | 특정 IP에서만 접근 가능하도록 설정 |
정기적인 업데이트 | Synology DSM 및 패키지 최신 버전 유지 |
데이터 백업 전략
백업 방법 | 설명 |
---|---|
Synology Hyper Backup | Joplin 데이터 폴더를 정기적으로 외부 저장소에 백업 |
Joplin 내보내기 | 주기적으로 JEX 또는 MD 형식으로 노트 내보내기 후 별도 보관 |
Docker 컨테이너 백업 | 데이터베이스 덤프 자동화 및 Docker 볼륨 정기 백업 |
#!/bin/bash
BACKUP_DIR="/volume1/backup/joplin" CONTAINER_NAME="joplin-db" DATE=$(date +%Y%m%d_%H%M%S) FILENAME="joplin_db_backup_$DATE.sql"
mkdir -p $BACKUP_DIR
docker exec CONTAINER_NAME pg_dump -U joplin -d joplin > $BACKUP_DIR/FILENAME
find $BACKUP_DIR -type f -name "joplin_db_backup_*.sql" -mtime +30 -delete
문제 해결 및 팁
Synology Joplin 구축 과정에서 발생할 수 있는 일반적인 문제와 해결 방법을 알아보자.
Docker 방식 문제 해결
문제 | 해결 방법 |
---|---|
컨테이너 시작 실패 | Docker 로그 확인, 환경 변수 설정 확인, 볼륨 마운트 권한 확인 |
웹 인터페이스 접속 불가 | 포트 설정 확인, 역방향 프록시 설정 확인, 방화벽 허용 여부 확인 |
동기화 문제 | APP_BASE_URL 환경 변수 확인, SSL 인증서 유효성 확인 |
WebDAV 방식 문제 해결
문제 | 해결 방법 |
---|---|
연결 오류 | WebDAV URL 형식 확인, 사용자 이름과 비밀번호 확인, WebDAV Server 활성화 여부 확인 |
동기화 오류 | WebDAV 폴더 권한 확인, Synology 사용자 계정 권한 확인 |
HTTPS 연결 문제 | SSL 인증서 유효성 확인, 클라이언트 기기에 인증서 신뢰 설정 |
유용한 팁
팁 | 설명 |
---|---|
Docker Compose 활용 | 여러 컨테이너를 함께 관리하고 설정을 코드로 유지하여 관리가 용이하다. |
보안 강화 | Joplin Server 전용 사용자 계정 생성, 모든 연결에 HTTPS 사용한다. |
성능 최적화 | 대규모 사용 시 SQLite 대신 PostgreSQL 사용, 정기적인 데이터베이스 유지보수 |
다중 사용자 지원 | Docker 방식에서는 여러 사용자 계정 생성 및 사용자별 권한 설정 가능 |
지금까지 Synology NAS에서 Joplin을 구축하는 두 가지 방법과 각각의 장단점, 설치 과정, 그리고 유용한 팁들을 살펴보았다.
자신의 필요와 기술적 숙련도에 맞는 방법을 선택하여 개인 노트와 자료를 안전하게 관리하고 동기화할 수 있는 환경을 구축해보자.
어떤 방식을 선택하든, Synology Joplin 구축을 통해 클라우드 서비스 의존도를 줄이고 자신의 데이터를 완전히 제어하는 자유를 경험할 수 있다.