
안녕하세요, Mark입니다.
Memos가 “생각나는 것들을 빠르게 던져넣는 메모장” 이라면, 오늘 소개할 BookStack은 조금 다릅니다.
“내가 공부하고 경험한 것들을 체계적으로 정리해서 나만의 책으로 만들고 싶다”
이런 분들을 위한 도구가 바로 BookStack입니다.
📚 BookStack이 뭔가요?
BookStack은 개인 지식 베이스(Wiki) 도구입니다. 이름 그대로 책(Book)을 쌓아(Stack)가는 방식으로 지식을 정리하고 보관합니다.
회사에서 쓰는 Confluence나 Notion의 Wiki 기능과 비슷한데, 내 서버에 직접 설치해서 쓰는 무료 오픈소스 버전이에요.
구조가 실제 책과 똑같이 설계되어 있습니다.
| 단계 | 비유 | 설명 |
|---|---|---|
| 책꽂이 (Shelf) | 책장 | 여러 책을 묶는 카테고리 |
| 책 (Book) | 책 | 하나의 주제 모음 |
| 챕터 (Chapter) | 목차 | 책 안의 섹션 |
| 페이지 (Page) | 페이지 | 실제 내용이 담기는 곳 |
예를 들어 제 BookStack을 보면 요재지이와 컴퓨터/IT 두 개의 책꽂이가 있습니다. 컴퓨터/IT 책꽂이 안에는 서버 관련 지식들을 책으로 정리해두고 있어요.
💡 Memos와 뭐가 다른가요?
같은 셀프호스팅 기록 도구인데 용도가 완전히 다릅니다.
| 항목 | Memos | BookStack |
|---|---|---|
| 성격 | 빠른 메모, 일기 | 체계적인 지식 정리 |
| 형태 | 타임라인 (트위터 느낌) | 책 구조 (위키 느낌) |
| 검색 | 간단한 검색 | 강력한 전문 검색 |
| 편집기 | 마크다운 | 위지위그 + 마크다운 |
| 적합한 용도 | 짧은 메모, 아이디어 | 레퍼런스, 매뉴얼, 연구 기록 |
쉽게 말하면 Memos는 포스트잇, BookStack은 직접 쓴 책입니다. ㅎㅎ
🔍 어떤 기능이 있나요?
BookStack은 생각보다 기능이 풍부합니다.
편집 기능
- 위지위그(WYSIWYG) 에디터 기본 제공
- 마크다운 에디터로 전환 가능
- 이미지, 파일 첨부
- 표, 코드 블록, 수식 지원
관리 기능
- 강력한 전문 검색
- 태그로 페이지 분류
- 페이지 수정 이력 추적 (누가 언제 뭘 수정했는지)
- PDF로 내보내기
- 다국어 지원 (한국어 포함)
협업 기능
- 여러 사용자 계정 관리
- 권한 설정 (책꽂이/책/페이지별로 세밀하게)
- 댓글 기능
혼자 쓴다면 협업 기능은 필요 없겠지만, 나중에 가족이나 팀원과 함께 지식을 공유할 때 유용합니다.
📦 포테이너 스택으로 설치하기
BookStack은 데이터베이스가 필요해서 스택 명령어가 좀 깁니다. Ghost나 워드프레스처럼 MariaDB와 함께 설치하는 방식이에요.
version: "3.8"
services:
bookstack_db:
image: lscr.io/linuxserver/mariadb:latest
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Seoul
- MYSQL_ROOT_PASSWORD=[ROOT_PASSWORD]
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=[DB_PASSWORD]
volumes:
- bookstack_db_data:/config
restart: unless-stopped
networks:
- bookstack_network
bookstack:
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
depends_on:
- bookstack_db
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Seoul
- APP_URL=https://[내도메인]
- APP_KEY=base64:[랜덤키]
- DB_HOST=bookstack_db
- DB_PORT=3306
- DB_DATABASE=bookstackapp
- DB_USERNAME=bookstack
- DB_PASSWORD=[DB_PASSWORD]
- APP_LANG=ko
volumes:
- bookstack_app_data:/config
ports:
- "6875:80"
restart: unless-stopped
networks:
- bookstack_network
volumes:
bookstack_db_data:
bookstack_app_data:
networks:
bookstack_network:
driver: bridge
주요 항목 설명
| 항목 | 설명 |
|---|---|
lscr.io/linuxserver/bookstack | LinuxServer 팀이 관리하는 안정적인 이미지 |
6875:80 | 접속 포트 |
APP_URL | 실제 접속 도메인 주소 |
APP_KEY | 데이터 암호화에 사용되는 고유 키 |
APP_LANG=ko | 한국어로 설정 |
bookstack_network | DB와 앱이 같은 네트워크로 통신 |
💡 APP_KEY 생성 방법: 처음 설치 시 APP_KEY가 필요합니다. 터미널에서
openssl rand -base64 32명령어로 생성하거나, AI한테 만들어달라고 하면 됩니다. ㅎㅎ
Deploy the Stack 클릭 후 설치 완료!
🌐 접속 및 초기 설정
브라우저에서 접속합니다.
http://my-server:6875
초기 로그인 정보는 아래와 같습니다.
- 이메일:
admin@admin.com - 비밀번호:
password
⚠️ 반드시 첫 로그인 후 이메일과 비밀번호를 변경하세요! 초기 정보가 공개되어 있으니 바로 바꿔야 합니다.
로그인하면 한국어로 된 깔끔한 대시보드가 나타납니다. 여기서 책꽂이를 만들고 책을 추가하기 시작하면 됩니다.
📖 어떻게 활용하면 좋을까요?
개인 용도로 활용하는 방법 몇 가지를 소개하면
서버 운영 매뉴얼 내가 설치한 프로그램들의 설정, 명령어, 트러블슈팅 기록을 정리해두면 나중에 같은 문제가 생겼을 때 바로 찾아볼 수 있습니다. 저도 컴퓨터/IT 책꽂이에 이런 내용들을 쌓아가고 있어요.
공부 기록 책 읽거나 강의 들으면서 정리한 내용을 챕터별로 구조화해서 저장. 나중에 검색 기능으로 바로 찾을 수 있어요.
요재지이 번역 아카이브 저처럼 요재지이 번역 작업을 하는 경우, 각 이야기를 페이지로 만들어서 책 형태로 정리해두면 블로그에 올리기 전 초고 관리가 편해집니다.
레시피, 여행 기록 등 일상적인 것들도 체계적으로 정리하고 싶다면 책꽂이 하나 만들어서 쌓아가면 됩니다.
🔒 접근 방식
BookStack도 외부 도메인보다는 Tailscale로 접속하는 방식을 권장합니다.
http://my-server:6875
저는 DuckDNS 도메인을 연결해서 쓰고 있는데, 이 경우 NPM에서 SSL을 붙여주면 됩니다. 외부에 공개할 필요 없는 개인 지식 베이스라면 Tailscale로만 접속하는 게 더 안전합니다.
✅ 핵심 요약
| 항목 | 내용 |
|---|---|
| 용도 | 개인 지식 베이스, Wiki, 매뉴얼 |
| 구조 | 책꽂이 → 책 → 챕터 → 페이지 |
| 편집기 | 위지위그 + 마크다운 선택 가능 |
| 특징 | 검색, 태그, 수정이력, PDF 내보내기 |
| 언어 | 한국어 지원 |
마치며
Memos가 빠른 메모라면 BookStack은 깊은 기록입니다. 둘을 같이 쓰면 꽤 잘 맞아요. 생각나는 건 Memos에 던져넣고, 나중에 정리할 시간이 생기면 BookStack에 옮겨서 체계화하는 식으로요.
내가 쌓은 지식이 내 서버에 책으로 정리되어 있다는 게 뭔가 뿌듯한 느낌을 줍니다. ㅎㅎ
Mark의 한마디: “처음엔 그냥 노션 쓰면 되지 않나 했는데, 내 서버에 내 책이 쌓이는 걸 보니까 기분이 다르더라고요. 요재지이 번역본이랑 서버 운영 메모를 여기다 정리하고 있는데, 나만의 작은 도서관 같은 느낌이에요 ㅎㅎ”