QNAPNASのContainerStation上でBookStackを構築する
手順
- 1. アプリケーションを作成する
- Container Stationでアプリケーションを新規作成する
- "再作成"だとうまくいかないので、作り直す場合は一度アプリケーションごと削除してから、新しく作成する。
- nginxデフォルトの
404 Not Found - nginx/x.xx.xが表示されることを確認する。
- 2. bookstack_nginxコンテナ上のnginx設定を調整する
- bookstack_nginxコンテナに入り、
/etc/nginx/conf.d/default.confの内容調整を行う。
- 具体的には下記の手順を踏む。
- nanoエディタをインストールする
apt-get update; apt-get install -y nano;
- ファイルを開く
nano /etc/nginx/conf.d/default.conf
location / {proxy_pass http://bookstack/;}を記載する。
location /にほかの内容が定義されている場合は、その内容をコメントアウトしておく。
include /etc/nginx/mime.types;を念のため記述しておく。
- ファイルを保存し、閉じる
Ctrl + X ⇒ Y ⇒ Enter で上書き保存ができる。
- 3. bookstack_nginxコンテナを再起動する
- bookstackコンテナとbookstack_dbのログが落ち着いていること(初期設定が終わっていること)を確認したら、bookstack_ngixコンテナのみを再起動する。
- 4. バックアップ済みデータを投入する
- bookstackコンテナに入り、バックアップデータを投入する。
docker compose exec -it bookstack_db bash
/usr/bin/mariadb -h localhost -u bookstack -p bookstackapp < /db_backup/bookstack_backup.$(date +%Y%m%d).sql
docker-compose.yml
services:
bookstack:
image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Tokyo
- APP_URL=https://bookstack.nonoha.me
- APP_KEY=base64:FFVPzMApkfvCi+Ns/SbduItMOkbhPP6oVs4aH7EPHFk=
- DB_HOST=bookstack_db
- DB_PORT=3306
- DB_USERNAME=bookstack
- DB_PASSWORD=itezoranonoha
- DB_DATABASE=bookstackapp
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: lscr.io/linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Tokyo
- MYSQL_ROOT_PASSWORD=itezoranonoha
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=itezoranonoha
restart: unless-stopped
volumes:
- ./../persistent_data/bookstack/db_backup:/db_backup
bookstack_nginx:
image: nginx:latest
container_name: bookstack_nginx
# command: bash -c "apt-get update; apt-get install -y nano && /bin/bash"
ports:
- 6875:80
volumes:
# - ./../persistent_data/bookstack/nginx_conf:/etc/nginx/conf.d
- ./nginx/html:/var/html
- /etc/letsencrypt:/etc/letsencrypt
restart: unless-stopped
# tty: true
bookstack_certbot:
image: certbot/certbot:latest
container_name: bookstack_certbot
volumes:
- /etc/letsencrypt:/etc/letsencrypt
- ./nginx/html:/var/html