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