From dc591f98fefb7171d553aff0d25decb71585a2ec Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 22 Feb 2022 11:51:54 +0100 Subject: [PATCH] Deliver bookstack as complete stack. --- mysql_databases.sql | 4 ---- wiki/.env | 3 +++ wiki/docker-compose.yaml | 43 ++++++++++++++++++++++++++++++---------- 3 files changed, 36 insertions(+), 14 deletions(-) create mode 100644 wiki/.env diff --git a/mysql_databases.sql b/mysql_databases.sql index 71a6d4f..02b0e87 100644 --- a/mysql_databases.sql +++ b/mysql_databases.sql @@ -1,12 +1,8 @@ # create the databases -CREATE DATABASE IF NOT EXISTS `bookstack`; CREATE DATABASE IF NOT EXISTS `kimai`; CREATE DATABASE IF NOT EXISTS `semaphore`; # create users and privileges -CREATE USER 'bookstack'@'%' IDENTIFIED BY 'sdfl39302klsdjf'; -GRANT ALL PRIVILEGES ON bookstack.* TO 'bookstack'@'%'; - CREATE USER 'kimai'@'%' IDENTIFIED BY 'xXW5dnQoMpAmdXrQgUgU'; GRANT ALL PRIVILEGES ON kimai.* TO 'kimai'@'%'; diff --git a/wiki/.env b/wiki/.env new file mode 100644 index 0000000..6a5c209 --- /dev/null +++ b/wiki/.env @@ -0,0 +1,3 @@ +DB_USER=bookstack +DB_NAME=bookstack +DB_PASS=mpzBTnbKj56Z2M5GBorEsUu^ diff --git a/wiki/docker-compose.yaml b/wiki/docker-compose.yaml index fe89e8d..1b7695b 100644 --- a/wiki/docker-compose.yaml +++ b/wiki/docker-compose.yaml @@ -3,33 +3,56 @@ version: "3.9" networks: proxy: external: true - internal: - external: true + bookstack: + name: bookstack + external: false volumes: bookstack: name: bookstack + bookstack-db: + name: bookstack-db services: bookstack: image: linuxserver/bookstack restart: unless-stopped container_name: bookstack + hostname: bookstack volumes: - bookstack:/config environment: - - PUID=1000 - - GUID=1000 - - APP_URL=http://bookstack.lan - - DB_HOST=mysql8 - - DB_USER=bookstack - - DB_PASS=sdfl39302klsdjf - - DB_DATABASE=bookstack + PUID: 1000 + GUID: 1000 + APP_URL: http://bookstack.lan + DB_HOST: bookstack-db + DB_USER: ${DB_USER} + DB_PASS: ${DB_PASS} + DB_DATABASE: ${DB_NAME} networks: - - internal + - bookstack - proxy labels: - "traefik.enable=true" - "traefik.http.routers.bookstack.entrypoints=web" - "traefik.http.routers.bookstack.rule=Host(`bookstack.lan`)" - "traefik.http.services.bookstack.loadbalancer.server.port=80" + + bookstack-db: + image: mysql:8 + container_name: bookstack-db + hostname: bookstack-db + command: --default-authentication-plugin=mysql_native_password + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: ${DB_PASS} + MYSQL_USER: ${DB_USER} + MYSQL_PASSWORD: ${DB_PASS} + MYSQL_DATABASE: ${DB_NAME} + volumes: + - bookstack-db:/var/lib/mysql + networks: + - bookstack + healthcheck: + test: ["CMD-SHELL", "mysqladmin ping -u$${DB_USER} -p$$(DB_PASS)"] +