BookStack: 내 서버에 만드는 개인 지식 베이스

안녕하세요, Mark입니다.

Memos가 “생각나는 것들을 빠르게 던져넣는 메모장” 이라면, 오늘 소개할 BookStack은 조금 다릅니다.

“내가 공부하고 경험한 것들을 체계적으로 정리해서 나만의 책으로 만들고 싶다”

이런 분들을 위한 도구가 바로 BookStack입니다.


📚 BookStack이 뭔가요?

BookStack은 개인 지식 베이스(Wiki) 도구입니다. 이름 그대로 책(Book)을 쌓아(Stack)가는 방식으로 지식을 정리하고 보관합니다.

회사에서 쓰는 Confluence나 Notion의 Wiki 기능과 비슷한데, 내 서버에 직접 설치해서 쓰는 무료 오픈소스 버전이에요.

구조가 실제 책과 똑같이 설계되어 있습니다.

단계비유설명
책꽂이 (Shelf)책장여러 책을 묶는 카테고리
책 (Book)하나의 주제 모음
챕터 (Chapter)목차책 안의 섹션
페이지 (Page)페이지실제 내용이 담기는 곳

예를 들어 제 BookStack을 보면 요재지이컴퓨터/IT 두 개의 책꽂이가 있습니다. 컴퓨터/IT 책꽂이 안에는 서버 관련 지식들을 책으로 정리해두고 있어요.


💡 Memos와 뭐가 다른가요?

같은 셀프호스팅 기록 도구인데 용도가 완전히 다릅니다.

항목MemosBookStack
성격빠른 메모, 일기체계적인 지식 정리
형태타임라인 (트위터 느낌)책 구조 (위키 느낌)
검색간단한 검색강력한 전문 검색
편집기마크다운위지위그 + 마크다운
적합한 용도짧은 메모, 아이디어레퍼런스, 매뉴얼, 연구 기록

쉽게 말하면 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/bookstackLinuxServer 팀이 관리하는 안정적인 이미지
6875:80접속 포트
APP_URL실제 접속 도메인 주소
APP_KEY데이터 암호화에 사용되는 고유 키
APP_LANG=ko한국어로 설정
bookstack_networkDB와 앱이 같은 네트워크로 통신

💡 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의 한마디: “처음엔 그냥 노션 쓰면 되지 않나 했는데, 내 서버에 내 책이 쌓이는 걸 보니까 기분이 다르더라고요. 요재지이 번역본이랑 서버 운영 메모를 여기다 정리하고 있는데, 나만의 작은 도서관 같은 느낌이에요 ㅎㅎ”

댓글 남기기