안녕하세요. 달소입니다.
이번편은 서버포럼에서 가장 인기가 많은 헤놀로지에서 오픈소스 위키인 북스택을 구축하는방법입니다.
앞서 리눅스를 이용한 구축방법은 아래글에 작성하였으니 참고부탁드립니다.
기본적으로 구축방법은 비슷합니다.
docker-compose를 이용해서 구축해야 파일들의 유지보수 관리가 편하고 운영이 편하기때문에 가급적이면 해당방법을 이용해주시는게 좋습니다.
설치환경
DSM7
ssh접속
NginxProxyManager
사전준비
북스택의 경우 희한하게도..멀티도메인을 지원하지않기때문에 미리 도메인을 생성해주시는게 혼란을 줄일수있습니다.
뻘짓의초심자님께서 꼼수를 알려주셨지만… 공식적으로 지원하는방법이 아니기때문에 가능하면 실제 운영 도메인으로 셋팅하시는게 편합니다.
나중에 도메인을 변경하게된다면 db에서 url을 한번에 업데이트 시켜주시면됩니다.
아무튼 사전준비할것은
domin과 reverse proxy 정보입니다.
도메인의 경우 사용하시는 호스팅 업체에서 A레코드나 Cname으로 생성해주시면됩니다.
저같은 경우 클플로 요렇게
리버스프록시는 NPM에서 셋팅해줬습니다.
IP는 설치할 서버의 IP 포트는 기본포트 6875입니다
그럼 클라이언트에서 해당 도메인에 질의를했을때
client -> book.dalso.org -> 공유기 -> 내부 NPM -> 북스택 docker로 흐름이이어지게됩니다.
그리고 북스택을 설치할 폴더를 미리 생성해줍니다.
저는 volume1에 docker에 Bookstack 폴더와 data를 만들어 주세요
그리고 터미널도 활성해주시면됩니다.
북스택 컨테이너 생성하기
이제 헤놀로지에 ssh로 접속 후 sudo su 로 root권한을 획득합니다.
그리고 만들어놓은 폴더로 이동한뒤 컨피그 파일을 생성해줍니다.
cd /volume1/docker/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
컨테이너 생성이 완료되면 데이터들도 모두 헤놀로지에 올라갑니다.
위와같이 컨테이너가 정상적으로 실행되었으면 앞서 생성했던 도메인로 접속해주세요.
그럼 한방에 요렇게 됩니다.
기본 로그인 주소는
admin@admin.com // password 입니다.
로그인하면 설정으로가서 반드시 패스워드를 변경해주세요.
기본설정은 크게 어려운게없습니다.
책장, 책, 문서 구조로 이뤄져있으며 사실상 목차와 같기때문에 유의하시면 될거같습니다.
컨테이너로도 잘 올라가있는걸 확인하실 수 있습니다.