投稿日:
DockerでBookStack構築
はじめに
DockerでBookStackを構築した際の作業メモ
BookStackはオープンソースのいわゆるWikiツール.
自分専用のノートアプリ的な使い方をしたくて構築した.
普段のノート・メモにはNotionを利用していたが,
- しばしば動作が重たいと感じた
- やはりデータは手元に持っておきたい
という思いから代替を探していてそのお試し.
類似アプリとしてWiki.jsがあるのでそのうち試したい.
手順
docker関連ファイル準備
GitHub- BookStackApp/BookStack
GitHub- linuxserver/docker-bookstack
環境
$ lsb_release -d
Description: Ubuntu 22.04.4 LTS
$ docker -v
Docker version 26.0.0, build 2ae903e
Compose V2を使用しているのでdocker-compose
コマンドではなくdocker compose
となっていることに注意
docker-compose
github(linuxserver/docker-bookstack)のUsageを参考にして以下のように作成
dokcer-compose.yml
services:
bookstack:
image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- APP_URL=<https://bookstack.example.com>
- DB_HOST=bookstack_db
- DB_PORT=3306
- DB_USER=bookstack
- DB_PASS=<yourdbpass>
- DB_DATABASE=bookstackapp
volumes:
- ./bookstack_app_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=<yourdbpass>
- TZ=Asia/Tokyo
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=<yourdbpass>
volumes:
- ./bookstack_db_data:/config
restart: unless-stopped
APP_URL=<https://bookstack.example.com>
は実際にBookStackへアクセスするURL/IPアドレスを設定する.
<yourdbpass>
については任意のパスワードを共通で設定する(全3ヵ所).
ポートはサンプルの6875をそのまま指定しているが,各々環境・使い方に合わせて設定する.
ディレクトリ構成
立ち上げ前のディレクトリ構成は以下
/bookstack
|--docker-compose.yml
最終的なディレクトリ構造は以下
/bookstack
|--docker-compose.yml
|--dbookstack_app_data
| |--[BookStackデータ]
|--ibookstack_db_data
| |--[MariaDBデータ]
バックアップ/リカバリする場合はこのディレクトリごとコピー
立ち上げ
docker-compose.ymlを配置したディレクトリにて以下コマンドでコンテナを立ち上げる.
$ docker compose up -d
https://bookstack.example.com にアクセスしてログイン画面が表示されることを確認する.
[email protected]/passwordでログインできる.
本格運用時には変更すること.