Skip to main content

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 + XYEnter で上書き保存ができる。
  • 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