안녕하세요. 달소입니다~
이전에 홈서버에서 위키 플랫폼으로 추천드린 북스택을 Docker-compose를 통해 서버에쉽게 설치하는 방법입니다.
북스택에 대한 자세한 정보는 아래 글과 공식홈페이지를 참고해주시면 감사드리겠습니다.
북스택이란?
오픈소스 위키 플랫폼으로 위지윅 에디터를 지원하는 위키중 하나입니다.
많이 알려진 미디어위키, 도쿠위키, wiki.js도 있지만 북스택또한 깔끔하게 관리하기 좋은 위키로 꽤나 해외에서 유명합니다.
체험은 아래페이지에서 가능합니다.
설치환경
서버포럼에는 헤놀로 서버를 운영하시는분들도 많지만…
기본적으로 서버는 Ubuntu가 가장 운영하기 편하기 때문에 ㅎ… 우분투 기반과 헤놀기반 두가지버전으로 진행합니다.
OS : Ubuntu 22.04 LTS
Docker, Docker-compose
docker image
사전준비
북스택의 경우 희한하게도..멀티도메인을 지원하지않기때문에 미리 도메인을 생성해주시는게 혼란을 줄일수있습니다.
뻘짓의초심자님께서 꼼수를 알려주셨지만… 공식적으로 지원하는방법이 아니기때문에 가능하면 실제 운영 도메인으로 셋팅하시는게 편합니다.
나중에 도메인을 변경하게된다면 db에서 url을 한번에 업데이트 시켜주시면됩니다.
아무튼 사전준비할것은
domin과 reverse proxy 정보입니다.
도메인의 경우 사용하시는 호스팅 업체에서 A레코드나 Cname으로 생성해주시면됩니다.
저같은 경우 클플로 요렇게
리버스프록시는 NPM에서 셋팅해줬습니다.
IP는 설치할 서버의 IP 포트는 기본포트 6875입니다
그럼 클라이언트에서 해당 도메인에 질의를했을때
client -> book.dalso.org -> 공유기 -> 내부 NPM -> 북스택 docker로 흐름이이어지게됩니다.
북스택 컨테이너 생성하기
먼저 서버에 ssh로 접속 후 북스택의 데이터를 저장할 디렉터리와 docker-compose.yml 파일도 생성해줍니다.
mkdir -p /data/bookstack cd /data/bookstack vi docker-compose.yml
그리고 아래 내용에서 몇가지를 수정하신 뒤 복붙해주세요.
수정할부분은 appurl부분과 dbpasswd쪽입니다.
일단은 appurl쪽에 ip로 설치를 진행하신뒤에 실제로 운영하실때에는 도메인을 넣어주시는걸 추천드립니다.
--- version: "2" services: bookstack: image: lscr.io/linuxserver/bookstack container_name: bookstack environment: - PUID=1000 - PGID=1000 - APP_URL=https://bookstack.domain.com - DB_HOST=bookstack_db - DB_PORT=3306 - DB_USER=bookstack - DB_PASS=dbpassword - DB_DATABASE=bookstackapp volumes: - ./data:/config ports: - 6875:80 restart: unless-stopped depends_on: - bookstack_db bookstack_db: image: lscr.io/linuxserver/mariadb container_name: bookstack_db environment: - PUID=1000 - PGID=1000 - MYSQL_ROOT_PASSWORD=dbpassword - TZ=Asia/Seoul - MYSQL_DATABASE=bookstackapp - MYSQL_USER=bookstack - MYSQL_PASSWORD=dbpassword volumes: - ./data:/config restart: unless-stopped
그리고 docker-compose up -d 로 컨테이너를 실행해줍니다.
이미지가 없으면 아래처럼 이미지를 먼저받습니다.
위와같이 컨테이너가 정상적으로 실행되었으면 앞서 생성했던 도메인로 접속해주세요.
그럼 한방에 요렇게 됩니다.
기본 로그인 주소는
admin@admin.com // password 입니다.
로그인하면 설정으로가서 반드시 패스워드를 변경해주세요.
기본설정은 크게 어려운게없습니다.
책장, 책, 문서 구조로 이뤄져있으며 사실상 목차와 같기때문에 유의하시면 될거같습니다.