• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

북스택으로 홈서버 자체 위키 플랫폼 구축하기.(docker-compose)

달소 달소 2480

0

7

 

안녕하세요. 달소입니다~

 

이전에 홈서버에서 위키 플랫폼으로 추천드린 북스택을 Docker-compose를 통해 서버에쉽게 설치하는 방법입니다.

북스택에 대한 자세한 정보는 아래 글과 공식홈페이지를 참고해주시면 감사드리겠습니다.

 

북스택이란?

오픈소스 위키 플랫폼으로 위지윅 에디터를 지원하는 위키중 하나입니다.

많이 알려진 미디어위키, 도쿠위키, wiki.js도 있지만 북스택또한 깔끔하게 관리하기 좋은 위키로 꽤나 해외에서 유명합니다.

image.png.jpg

 

 

체험은 아래페이지에서 가능합니다.

 

 

 

설치환경

서버포럼에는 헤놀로 서버를 운영하시는분들도 많지만...

기본적으로 서버는 Ubuntu가 가장 운영하기 편하기 때문에 ㅎ... 우분투 기반과 헤놀기반 두가지버전으로 진행합니다.

 

OS : Ubuntu 22.04 LTS

Docker, Docker-compose

docker image

 

사전준비

북스택의 경우 희한하게도..멀티도메인을 지원하지않기때문에 미리 도메인을 생성해주시는게 혼란을 줄일수있습니다.

뻘짓의초심자님께서 꼼수를 알려주셨지만... 공식적으로 지원하는방법이 아니기때문에 가능하면 실제 운영 도메인으로 셋팅하시는게 편합니다.

나중에 도메인을 변경하게된다면 db에서 url을 한번에 업데이트 시켜주시면됩니다.

 

아무튼 사전준비할것은 

domin과 reverse proxy 정보입니다.

 

도메인의 경우 사용하시는 호스팅 업체에서 A레코드나 Cname으로 생성해주시면됩니다.

저같은 경우 클플로 요렇게

image.png.jpg

 

리버스프록시는 NPM에서 셋팅해줬습니다.

IP는 설치할 서버의 IP 포트는 기본포트 6875입니다

image.png.jpg

 

그럼 클라이언트에서 해당 도메인에 질의를했을때

 

client -> book.dalso.org -> 공유기 -> 내부 NPM -> 북스택 docker로 흐름이이어지게됩니다.

 

 

북스택 컨테이너 생성하기

먼저 서버에 ssh로 접속 후 북스택의 데이터를 저장할 디렉터리와 docker-compose.yml 파일도 생성해줍니다.

 

mkdir -p /data/bookstack
cd /data/bookstack
vi docker-compose.yml

image.png.jpg

그리고 아래 내용에서 몇가지를 수정하신 뒤 복붙해주세요.

수정할부분은 appurl부분과 dbpasswd쪽입니다.

일단은 appurl쪽에 ip로 설치를 진행하신뒤에 실제로 운영하실때에는 도메인을 넣어주시는걸 추천드립니다.

image.png.jpg

---
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 로 컨테이너를 실행해줍니다.

이미지가 없으면 아래처럼 이미지를 먼저받습니다.

 

image.png.jpg

image.png.jpg

위와같이 컨테이너가 정상적으로 실행되었으면 앞서 생성했던 도메인로 접속해주세요.

 

그럼 한방에 요렇게 됩니다.

기본 로그인 주소는 

admin@admin.com // password 입니다.

image.png.jpg

 

로그인하면 설정으로가서 반드시 패스워드를 변경해주세요.

 

image.png.jpg

 

기본설정은 크게 어려운게없습니다.

 

책장, 책, 문서 구조로 이뤄져있으며 사실상 목차와 같기때문에 유의하시면 될거같습니다.

 

image.png.jpg

신고공유스크랩
7
1등
참치 2022.12.26. 15:21

설치 시 한가지 팁을 드리자면 environment에서 APP_URL은 반드시 최종 URL로 지정되어야합니다.

 

다시 말씀드리자면 http로 접속했을 때 https로 리디렉션하여 bookstack이 작동하는 설정이라면 결과적으로는

APP_URL=https://bookstack.domain.com가 되어야 합니다.

 

리버스 프록시가 지정되어 있으니까 http로 작동한다고 생각하여 APP_URL=http://bookstack.domain.com 로 지정해버리면 겉으로는 잘 작동하는 것 처럼 보이나, 사진을 업로드 해보면 오류를 뿜뿜합니다.

 

마찬가지로 a.domain.com으로 접속했을 때 b.domain.com으로 리디렉션하여 bookstack이 작동하는 설정이라면

APP_URL=https://b.domain.com가 되어야 합니다.

profile image
달소 글쓴이 2022.12.26. 17:16
참치

오.. 본문에 추가해야겠습니다 ㅎㅎ 깔끔하게 잘정리해주셨네요!

 

2등
예승아빠 2023.04.20. 18:08
안녕하세요. 서버포럼의 좋은 정보로 네이티브 헤놀로지 설치하였습니다. 감사 인사 먼저 드립니다.
(DSM 7.1.1 DS 918+)
북스택 설치 관련하여 문의드립니다.
해당 가이드와 동일하게 설치 진행하였습니다만, 아래와 같은 에러로 접속이 되지 않습니다.
DB 접속 권한문제 인거 같은데...
서버나 이런쪽의 지식이 전혀 없어 따라하기로 구축하다 보니 대처가 되지 않네요.
어떤 부분이 잘못되었을까요? 조언 부탁 드립니다.

>>bookstack log
[migrations] started
[migrations] 01-nginx-site-confs-default: skipped
[migrations] 02-default-location: skipped
[migrations] done
───────────────────────────────────────
██╗ ███████╗██╗ ██████╗
██║ ██╔════╝██║██╔═══██╗
██║ ███████╗██║██║ ██║
██║ ╚════██║██║██║ ██║
███████╗███████║██║╚██████╔╝
╚══════╝╚══════╝╚═╝ ╚═════╝
Brought to you by linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID: 1000
User GID: 1000
───────────────────────────────────────
using keys found in /config/keys
App Key found - setting variable for seds
Running config - DB_HOST set
Waiting for DB to be available
Illuminate\Database\QueryException
SQLSTATE[HY000] [1045] Access denied for user 'root'@'bookstack.bookstack_default' (using password: YES) (SQL: select * from information_schema.tables where table_schema = bookstackapp and table_name = migrations and table_type = 'BASE TABLE')
at /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:760
756▕ // If an exception occurs when attempting to run a query, we'll format the error
757▕ // message to include the bindings with SQL, which will make this exception a
758▕ // lot more helpful to the developer instead of just the database's errors.
759▕ catch (Exception $e) {
➜ 760▕ throw new QueryException(
761▕ $query, $this->prepareBindings($bindings), $e
762▕ );
763▕ }
764▕ }
+36 vendor frames
37 /app/www/artisan:37
Illuminate\Foundation\Console\Kernel::handle()
[custom-init] No custom files found, skipping...
[ls.io-init] done.

>>bookstack_db log
[migrations] started
[migrations] no migrations found
───────────────────────────────────────
██╗ ███████╗██╗ ██████╗
██║ ██╔════╝██║██╔═══██╗
██║ ███████╗██║██║ ██║
██║ ╚════██║██║██║ ██║
███████╗███████║██║╚██████╔╝
╚══════╝╚══════╝╚═╝ ╚═════╝
Brought to you by linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID: 1000
User GID: 1000
───────────────────────────────────────
[custom-init] No custom files found, skipping...
230420 08:33:43 mysqld_safe Logging to '/config/databases/2caab8c12d15.err'.
230420 08:33:43 mysqld_safe Starting mariadbd daemon with databases from /config/databases
[ls.io-init] done.
profile image
달소 글쓴이 2023.04.21. 00:19
예승아빠
SQLSTATE[HY000] [1045] Access denied for user 'root'@'bookstack.bookstack_default' (using password: YES) (SQL: select * from information_schema.tables where table_schema = bookstackapp and table_name = migrations and table_type = 'BASE TABLE')
db관련 커넥션에러로 보입니다.
별도의 게시글에 설정값들을 함꼐 공유해주시면 다른분들도 도움을 드릴 수 있을것같네요
3등
똥쓰똥쓰 2023.06.20. 17:45
사용자 생성 시 smtp설정이 안되면 에러가 나네요....

config > www > .env 파일을 열어 아래 smtp 정보를 넣으니 잘 되네요.....

# Mail system to use
# Can be 'smtp' or 'sendmail'
MAIL_DRIVER=smtp #smtp 경우 입니다.

# Mail sender details
MAIL_FROM_NAME="보낸이 이름"
MAIL_FROM=aaa@bbb.com

# SMTP mail options
# These settings can be checked using the "Send a Test Email"
# feature found in the "Settings > Maintenance" area of the system.
MAIL_HOST=smtp.naver.com #smtp서버 주소입니다.
MAIL_PORT=465 #smtp서버 포트입니다.
MAIL_USERNAME=아이디
MAIL_PASSWORD=비번
MAIL_ENCRYPTION=tls #tls나 ssl 등 접속하시는 보안 방식 넣어주시면 됩니다.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
가이드 Ubuntu 24.04 LTS Desktop 원격 접속 설정하기(SSH,RDP) 3 달소 1일 전18:33 91 +1
가이드 Ubuntu 24.04 LTS Server 설치해보기 달소 1일 전17:40 172 +2
잡담 Ubuntu 24 가 정식출시되었습니다~~ 8 달소 1일 전10:37 278 +2
3872 정보
image
툭툭이 24.03.28.11:14 875 +17
3871
image
eyeball 23.04.05.21:08 1783 +16
3870 정보
image
antegral 22.05.07.01:18 3179 +16
3869 잡담
image
햇서 23.06.05.05:53 917 +14
3868
image
달소 22.03.17.22:09 19020 +14
3867 정보
image
EXP 24.02.06.03:43 1310 +10
3866
image
달소 22.05.06.15:43 1044 +10
3865
image
달소 22.03.17.22:25 5051 +10
3864 정보
image
달소 24.02.19.00:58 961 +9
3863
image
theb1ue 22.06.14.16:05 4885 +9
3862 가이드
image
opq! 24.04.02.21:25 443 +8
3861 잡담
image
달소 24.01.15.03:22 584 +8
3860
image
달소 23.01.27.14:15 15900 +8
3859
image
달소 22.07.07.16:57 1946 +8
3858
image
달소 22.03.14.17:30 4175 +8
3857
image
달소 22.02.11.13:31 3027 +8
3856 후기
image
cdma2000 24.02.06.13:12 774 +7
3855 가이드
image
달소 23.07.04.20:38 1908 +7
3854
image
앨런임더 23.03.31.21:14 1871 +7
3853 잡담
image
곰삼촌 23.01.25.10:05 1089 +7