diff --git a/bookstack/readme.md b/bookstack/readme.md index b9ed6b0..b773ff7 100644 --- a/bookstack/readme.md +++ b/bookstack/readme.md @@ -27,15 +27,15 @@ which uses nginx as a web server. └── ~/ └── docker/ └── bookstack/ - ├── bookstack-data/ - ├── bookstack-db-data/ + ├── bookstack_data/ + ├── bookstack_db_data/ ├── .env ├── docker-compose.yml └── bookstack-backup-script.sh ``` -* `bookstack-data/` - a directory where bookstack will store its web app data -* `bookstack-db-data/` - a directory where bookstack will store its MySQL database data +* `bookstack_data/` - a directory where bookstack will store its web app data +* `bookstack_db_data/` - a directory where bookstack will store its MySQL database data * `.env` - a file containing environment variables for docker compose * `docker-compose.yml` - a docker compose file, telling docker how to run the containers * `bookstack-backup-script.sh` - a backup script if you want it @@ -50,7 +50,6 @@ Dockerhub linuxserver/bookstack `docker-compose.yml` ```yml -version: "2" services: bookstack-db: @@ -60,7 +59,7 @@ services: restart: unless-stopped env_file: .env volumes: - - ./bookstack-db-data:/config + - ./bookstack_db_data:/config bookstack: image: linuxserver/bookstack @@ -71,12 +70,14 @@ services: depends_on: - bookstack-db volumes: - - ./bookstack-data:/config + - ./bookstack_data:/config + expose: + - 80:80 networks: default: - external: - name: $DOCKER_MY_NETWORK + name: $DOCKER_MY_NETWORK + external: true ``` `.env` @@ -103,14 +104,14 @@ DB_USER=bookstack DB_PASS=bookstack DB_DATABASE=bookstack -# USING SENDGRID FOR SENDING EMAILS -MAIL_ENCRYPTION=SSL +# USING SENDINBLUE FOR SENDING EMAILS MAIL_DRIVER=smtp -MAIL_HOST=smtp.sendgrid.net -MAIL_PORT=465 +MAIL_ENCRYPTION=tls +MAIL_HOST=smtp-relay.sendinblue.com +MAIL_PORT=587 MAIL_FROM=book@example.com -MAIL_USERNAME=apikey -SMTP_PASSWORD= +MAIL_USERNAME= +SMTP_PASSWORD= ``` **All containers must be on the same network**.
@@ -149,6 +150,12 @@ Manual image update: - `docker-compose up -d`
- `docker image prune` +* if there was a major version jump, and bookstack does not work, + exec in to the app container and run `php artisan migrate`
+ `docker container exec -it bookstack /bin/bash`
+ `cd /var/www/html/`
+ `php artisan migrate` + # Backup and restore #### Backup @@ -205,13 +212,13 @@ Running on the host, so that the script will be periodically run. Assuming clean start, first restore the database before running the app container. * start only the database container: `docker-compose up -d bookstack-db` -* copy `BACKUP.bookstack.database.sql` in `bookstack/bookstack-db-data/` +* copy `BACKUP.bookstack.database.sql` in `bookstack/bookstack_db_data/` * restore the database inside the container
`docker container exec --workdir /config bookstack-db bash -c 'mysql -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE < BACKUP.bookstack.database.sql'` * now start the app container: `docker-compose up -d` * let it run so it creates its file structure * down the containers `docker-compose down` -* in `bookstack/bookstack-data/www/`
+* in `bookstack/bookstack_data/www/`
replace directories `files`,`images`,`uploads` and the file `.env`
with the ones from the BorgBackup repository * start the containers: `docker-compose up -d` @@ -221,4 +228,5 @@ Assuming clean start, first restore the database before running the app containe `php artisan migrate` Again, the above steps are based on the -[official procedure.](https://www.bookstackapp.com/docs/admin/backup-restore/) +[official procedure](https://www.bookstackapp.com/docs/admin/backup-restore/) +at the time of writting this.