셀프호스팅 Notion 대안 5종 비교
AppFlowy, Outline, Docmost, BookStack, Obsidian을 데이터베이스, 협업, 모바일, 호스팅 부담으로 비교합니다. Notion에 가까운 제품과 1인용 선택지를 구분합니다.
짧은 답변
Self-hosted Notion 대안은 3가지 그룹으로 나뉘며, 적합한 제품을 고르는 기준은 대부분 Notion의 어떤 기능을 실제로 사용하는지에 달려 있다. 페이지 안에 페이지를 배치하고 데이터베이스 보기를 사용하는 Notion과 유사한 사용 경험이 필요하다면 AppFlowy를 실행한다. 검색 성능이 뛰어난 빠른 팀 위키가 필요하다면 Outline을 실행한다. 새 서버에서 작동하는 workspace까지 가장 빠르게 구성하려면 Docmost를 실행한다.
이 검색에서 두 가지 도구가 더 자주 언급되며, 둘 다 다른 요구사항에 대한 적절한 선택이다. 실제로 필요한 것이 체계적인 문서화라면 BookStack을 선택한다. workspace의 구성원이 정확히 1명, 즉 본인뿐이라면 Obsidian을 선택한다.
비교 방법
이 내용은 각 프로젝트의 공식 문서, 공개된 환경 변수 샘플, 공개 compose 파일을 바탕으로 문서화된 기능을 비교한 결과다. 2026년 7월에 확인했다. 각 제품을 1년 동안 실제 운영한 결과를 보고하는 것은 아니다. 아래에 제한 사항을 제시한 경우에는 해당 프로젝트의 공식 문서나 자체 repository에서 확인한 내용이다. 이 가이드에서는 출처도 명시한다. 대부분의 유사 비교 글은 확인하지 않은 부분을 조용히 추정해 작성하므로, 이는 중요한 차이다.
아래의 4가지 기준은 사람들이 실제로 묻는 항목을 질문이 나오는 순서대로 정리한 것이다. 데이터베이스와 테이블 보기, 실시간 협업, 모바일 접근성, 호스팅 부담이다.
AppFlowy: Notion에 가장 가깝지만 라이선스에 주의해야 함
AppFlowy는 여기에서 Notion의 데이터 모델을 본격적으로 모방한 유일한 프로젝트다. 페이지, 보드, 그리드, 캘린더 보기를 모두 제공한다. 데스크톱 앱과 모바일 앱은 네이티브로 동작한다. 로컬 우선 설계이므로 서버가 중단되어도 앱을 계속 사용할 수 있다.
셀프 호스팅은 git clone과 compose 파일만으로 구성할 수 있다.
git clone https://github.com/AppFlowy-IO/AppFlowy-Cloud
cd AppFlowy-Cloud
cp deploy.env .env
docker compose up -d마지막 명령을 실행하기 전에 .env를 수정한다. FQDN와 SCHEME은 공개 주소를 설정한다. GOTRUE_ADMIN_EMAIL과 GOTRUE_ADMIN_PASSWORD은 첫 번째 관리자 계정을 설정한다. GOTRUE_ADMIN_PASSWORD=password을 그대로 두면 추측하기 쉬운 관리자 로그인 정보로 공개 서버가 배포된다.
여기에는 주의할 점이 있다. 이 글에서 가장 중요한 내용이다. AppFlowy Cloud는 open-core 모델로 전환했다. AppFlowy Cloud README에 따르면 셀프 호스팅 Free 등급은 "인스턴스당 사용자 좌석 1개"와 공유한 페이지에서 최대 3명의 게스트 편집자를 제공한다. 따라서 일반적으로 "셀프 호스팅 Notion"이라고 할 때 의미하는 버전은 Free 등급에서 게스트 수가 제한된 개인 워크스페이스다. 유료 셀프 호스팅 등급에서는 이러한 제한이 완화된다. 10명이 사용할 환경을 계획하기 전에 현재 등급을 확인한다.
개요: 이미 single sign-on을 사용한다면 가장 적합한 검색 기능
Outline은 이 그룹에서 순수한 작성 및 읽기 경험이 가장 뛰어나다. 검색이 빠르고 실제로 원하는 내용을 찾는다. 편집기는 차분하게 사용할 수 있다. 구조는 database engine이 아니라 collection과 중첩된 document로 구성된다. 문서를 많이 작성하는 팀은 대체로 Outline을 계속 사용한다.
Outline에는 PostgreSQL과 Redis가 필요하며, 애플리케이션은 port 3000에서 수신 대기한다. 두 개의 secret이 필요하다. sample environment file에 secret을 만드는 방법이 정확히 설명되어 있다.
openssl rand -hex 32 # SECRET_KEY
openssl rand -hex 32 # UTILS_SECRET그런 다음 URL을 public HTTPS address와 DATABASE_URL, REDIS_URL으로 설정한다. 사용자를 가장 당황하게 하는 부분은 authentication이다. Outline에는 내장 username 및 password login이 없다. Outline 자체의 .env.sample에는 third-party sign-in credential에 대해 "작동하는 설치에 이 중 최소 하나가 필요하며, 그렇지 않으면 sign-in 옵션이 없다"고 설명되어 있다. 지원되는 옵션은 Google, Microsoft Entra, Slack, Discord 및 일반적인 OpenID Connect (OIDC) provider다.
이는 실제 운영 비용으로 이어진다. 이미 identity provider를 운영하고 있지 않다면, Outline을 사용할 수 있게 만들기 전에 service를 하나 더 self-hosting해야 한다. 이미 identity provider를 운영하고 있다면 이는 장점이다. 이 경우 Outline이 가장 적합한 선택일 가능성이 높다.
Docmost: 가장 빠르게 구축하는 방법
Docmost는 세 가지 중 가장 최신이며, 실행하는 데 필요한 작업도 가장 적다. 실시간 공동 편집, 페이지 트리, 스페이스, 댓글, 내장 이메일 및 비밀번호 계정을 제공하므로 먼저 별도의 ID 공급자를 구성할 필요가 없다.
공식 설치 페이지에는 다음 4개의 명령이 제시되어 있다.
mkdir docmost
cd docmost
curl -O https://raw.githubusercontent.com/docmost/docmost/main/docker-compose.yml
openssl rand -hex 32해당 16진수 문자열을 compose 파일의 APP_SECRET에 입력하고, APP_URL을 실제로 사용할 주소로 설정한다. STRONG_DB_PASSWORD이 표시된 두 곳을 모두 바꾼 다음 시작한다.
docker compose up -d
docker compose ps모든 서비스는 running을 읽어야 한다. 브라우저에서 해당 주소를 열면 첫 번째 워크스페이스와 첫 번째 관리자 사용자를 생성하는 Docmost 설정 페이지가 표시된다. 이 스택은 Docmost, PostgreSQL, Redis로 구성되며, 문서에서는 최소 요구 사항으로 2 vCPU와 4 GB RAM을 제시한다.
문서에서 반복해서 강조하는 주의 사항이 하나 있다. 편집기는 WebSocket을 사용한다. WebSocket 업그레이드 헤더를 전달하지 않는 리버스 프록시 뒤에 배치하면 페이지는 로드되지만 두 번째 브라우저에서 수행한 편집 내용이 표시되지 않는다. 어느 사용자에게도 오류가 표시되지 않는다. 앞단에서 TLS를 종료한다면 한 대의 서버에서 여러 앱을 처리하는 Traefik 리버스 프록시가 기본적으로 업그레이드를 올바르게 처리한다.
BookStack: 작업 공간이 아닌 문서화가 필요할 때
BookStack은 콘텐츠를 선반, 책, 장, 페이지로 구성합니다. 이 고정된 계층 구조가 BookStack의 핵심입니다. 누구도 구조를 직접 고안할 필요가 없으며, 1년이 지나도 위키를 쉽게 탐색할 수 있습니다. 권한 관리가 강력하고 편집기도 잘 갖춰져 있습니다. 인프라 문서화에 필요한 지루함을 갖춘 도구입니다.
데이터베이스 보기나 블록 방식 편집 기능은 제공하지 않습니다. 따라서 앞의 3가지 도구와 같은 의미에서 Notion을 대체하지는 못합니다. BookStack에는 PHP 8.2 이상과 MySQL 8.0 또는 MariaDB 10.6 이상이 필요합니다. 이 프로젝트는 자체 Docker 이미지를 제공하지 않고 대신 커뮤니티 이미지를 사용하도록 안내합니다. 가장 많이 사용되는 이미지는 LinuxServer.io 이미지입니다.
docker pull lscr.io/linuxserver/bookstack:latest이 이미지는 커뮤니티에서 유지 관리하므로 latest를 추적하기보다 버전을 고정해야 합니다. 필요한 변수는 해당 이미지의 자체 문서에서 확인해야 합니다.
Obsidian: 서버 애플리케이션이 아니며, 그것이 핵심이다
Obsidian은 컴퓨터의 폴더에 일반 Markdown 파일을 저장한다. 서버가 없으므로 직접 호스팅할 대상도 없고 새벽 3시에 장애가 발생할 대상도 없다. 한 사람이 노트를 작성하는 용도라면 속도와 파일이 소프트웨어보다 오래 유지된다는 확실성에서 위의 모든 선택지보다 낫다.
호스팅해야 하는 부분은 동기화다. 유료 공식 sync 서비스, 커뮤니티 LiveSync 플러그인을 구동하는 CouchDB 인스턴스, Syncthing이나 WebDAV 공유 같은 일반 파일 동기화 중에서 선택할 수 있다. 여러 사람이 실시간으로 편집하는 기능은 제공하지 않는다. 따라서 두 사람이 같은 페이지를 동시에 사용해야 한다면 Obsidian은 적합한 도구가 아니다.
데이터베이스와 테이블: 대부분의 대안이 한계에 이르는 지점
이 기준이 검색 범위를 결정한다. Notion을 대체할 서비스를 찾지 못하는 사람은 대개 데이터베이스를 놓친다. 데이터베이스는 형식이 지정된 필드가 있는 테이블이며, 같은 행을 여러 뷰로 확인하고 필터링할 수 있다.
AppFlowy에는 이 기능이 있으며, grid, board, calendar 뷰를 제공한다. Outline, Docmost, BookStack에는 이 기능이 없다. 이 서비스들도 간단한 테이블을 문서에 넣을 수는 있지만, 같은 기능은 아니다. 행을 쿼리할 수 없고 행을 다른 뷰로 표시할 수도 없기 때문이다. Notion 데이터베이스에 업무가 저장되어 있다면 이 그룹에서 실제 선택지는 AppFlowy뿐이다. 도입하기 전에 무료 요금제의 사용자 수 제한이 팀 규모에 맞는지 확인해야 한다.
호스팅 리소스: 각 스택이 실제로 실행하는 구성 요소
Docmost와 Outline은 모두 app, PostgreSQL, Redis 컨테이너 3개를 실행한다. 두 제품 모두 소형 VPS에서 무리 없이 운영할 수 있다. BookStack은 app과 MySQL 또는 MariaDB 데이터베이스를 실행하며, 4개 제품 중 리소스 사용량이 가장 적다.
AppFlowy Cloud는 단연 가장 무겁다. 제공되는 compose 파일은 nginx, 객체 저장소용 MinIO, pgvector 확장이 설치된 PostgreSQL, Redis, 인증용 GoTrue, AppFlowy Cloud 서비스 자체, 관리자 프런트엔드, worker, 검색 서비스, AI 서비스, 웹 앱을 실행한다. 실제 데이터베이스와 객체 저장소를 포함해 컨테이너가 대략 10개 실행된다. 이에 맞춰 메모리를 충분히 할당해야 한다. 파일을 편집하기 전에 Docker Compose 서비스, 볼륨 및 네트워크가 함께 작동하는 방식을 읽어야 한다.
어떤 것을 선택해야 하는가
한 사람이 메모와 초안을 작성하고 서버를 직접 운영하고 싶지 않다면 자체 동기화를 사용하는 Obsidian을 선택합니다.
Notion 스타일의 데이터베이스를 원하는 1명 또는 매우 작은 그룹이라면 AppFlowy를 선택합니다. 먼저 무료 요금제의 사용자 수 제한을 확인해야 합니다.
문서를 많이 작성하고 이미 Google Workspace, Entra 또는 OIDC provider를 사용하는 팀이라면 Outline을 선택합니다.
ID provider 없이 오늘 바로 사용할 수 있는 공유 workspace가 필요한 팀이라면 Docmost를 선택합니다.
많은 사람이 읽고 소수의 사람만 편집하는 인프라 또는 제품 문서라면 BookStack을 선택합니다.
설치 후 발생하는 문제
이 프로젝트의 지원 문의 대부분은 3가지 장애로 설명할 수 있으며, 모두 버그가 아니라 설정 문제입니다.
첫 번째는 앱 URL입니다. Docmost APP_URL와 Outline URL에는 https://를 포함해 브라우저가 실제로 사용하는 주소를 설정해야 합니다. localhost으로 설정한 뒤 앱을 도메인 뒤에 배치하면 로그인 리디렉션이 사용자의 장치가 아닌 다른 시스템으로 전송됩니다.
두 번째는 앞에서 설명한 WebSockets입니다. 앱은 정상적으로 보이지만 공동 편집이 아무런 표시 없이 중단됩니다.
세 번째는 백업입니다. 이 서비스들은 모두 눈에 보이는 파일이 아니라 PostgreSQL 또는 MySQL에 콘텐츠를 저장합니다. 따라서 실행 중인 데이터베이스의 볼륨 디렉터리를 복사하는 것은 신뢰할 수 있는 백업이 아닙니다. 일정에 따라 데이터베이스를 덤프하고 서버 외부에 저장해야 합니다. 이는 다른 상태 저장 서비스에도 적용되는 restic을 사용한 예약 암호화 백업과 같은 방식입니다. 이와 함께 실행할 서비스를 선택할 때는 올해 직접 호스팅할 가치가 있는 앱의 전체 목록을 참고하면 한 서버에 어느 정도의 부하를 맡길지 점검하는 데 도움이 됩니다.
FAQ
Notion과 가장 유사한 셀프 호스팅 Notion 대안은 무엇입니까?
AppFlowy입니다. 이 프로젝트들 중 실제 데이터베이스 개념을 제공하는 것은 AppFlowy뿐입니다. 같은 행을 대상으로 형식이 지정된 필드를 사용하고, grid, board, calendar 보기를 적용할 수 있습니다. Outline, Docmost, BookStack은 페이지 계층 구조를 사용하는 문서 도구입니다. 문서 작성에는 매우 적합하지만 Notion 데이터베이스를 대체하지는 않습니다.
Notion 자체를 셀프 호스팅할 수 있습니까?
할 수 없습니다. Notion은 셀프 호스팅 에디션과 공개된 서버 구성 요소가 없는 상용 호스팅 제품입니다. 이 가이드의 모든 선택지는 Notion 기능의 일부를 제공하는 별도의 오픈 소스 프로젝트입니다. 마이그레이션은 동일한 소프트웨어를 그대로 이전하는 방식이 아니라 export와 import로 수행합니다.
이러한 도구에 모바일 앱이 있습니까?
AppFlowy는 native iOS 및 Android 앱을 제공합니다. 앱에서 사용자의 인스턴스를 지정하면 자체 서버에 연결할 수 있습니다. Outline과 Docmost는 모바일 브라우저로 사용하며, 문서를 읽거나 간단히 편집하는 용도라면 이 방식으로도 사용할 수 있습니다. Obsidian은 완전한 모바일 앱을 제공하지만 sync는 사용자가 별도로 구성해야 합니다. BookStack은 반응형 웹 애플리케이션이며 자사 모바일 앱은 제공하지 않습니다.
VPS에 얼마나 많은 RAM이 필요합니까?
Docmost는 최소 사양으로 2 vCPU와 4 GB RAM을 명시합니다. 소규모 팀에서는 Outline과 BookStack도 비슷한 수준이 필요합니다. AppFlowy Cloud는 예외입니다. compose 파일이 pgvector를 사용하는 PostgreSQL과 MinIO object storage를 포함해 약 10개의 서비스를 시작하므로, AppFlowy Cloud에는 훨씬 더 많은 메모리와 디스크 공간을 계획해야 합니다.
Google 또는 Microsoft 로그인 없이 Outline을 사용할 수 있습니까?
사용할 수 있습니다. 그러나 identity provider가 전혀 없어도 되는 것은 아닙니다. Outline은 명시된 provider 외에도 일반적인 OpenID Connect provider를 지원하므로 셀프 호스팅 OIDC 서버를 사용할 수 있습니다. 지원하지 않는 방식은 일반적인 로컬 사용자 이름과 비밀번호 인증입니다. 자체 환경 샘플에도 최소 1개의 third-party provider를 구성해야 하며, 그렇지 않으면 설치에 로그인 옵션이 없다고 명시되어 있습니다.