docker-compose.yml
· 1.9 KiB · YAML
Orginalformat
#The healthcheck for db provided in the original tutorial did not quite work out for me
#so there's this alternative.
services:
db:
image: mariadb:11.4-noble
container_name: BookStack-DB
hostname: bookstack-db
mem_limit: 1g
cpu_shares: 768
healthcheck:
#test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3306' || exit 1
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
security_opt:
- no-new-privileges:false
volumes:
- /volume1/docker/bookstack/db:/var/lib/mysql:rw
- /volume1/docker/bookstack/db:/etc/mysql/conf.d:rw
environment:
TZ: Europe/Zurich #your own time zone
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_USER: bookstackuser
MYSQL_PASSWORD: bookstackpass
MYSQL_DATABASE: bookstack
restart: on-failure:5
bookstack:
image: solidnerd/bookstack:latest
container_name: BookStack
hostname: bookstack
mem_limit: 1g
cpu_shares: 768
security_opt:
- no-new-privileges:true
ports:
- 6875:8080
volumes:
- /volume1/docker/bookstack/uploads:/var/www/bookstack/public/uploads:rw
- /volume1/docker/bookstack/storage-uploads:/var/www/bookstack/storage/uploads:rw
environment:
DB_HOST: bookstack-db:3306
DB_DATABASE: bookstack
DB_USERNAME: bookstackuser
DB_PASSWORD: bookstackpass
APP_KEY: base64:MDFsaTQ5NzA1cjFqY2R6YjlndHUzYjk1ODRtMTMwazM= #generate your own key
APP_URL: https://bookstack.mydomain.com
MAIL_DRIVER: smtp
MAIL_HOST: mail.mydomain.com
MAIL_PORT: 465
MAIL_ENCRYPTION: tls
MAIL_USERNAME: mailuser
MAIL_PASSWORD: password123
MAIL_FROM: bookstack@mydomain.com
MAIL_FROM_NAME: BookStack
restart: on-failure:5
depends_on:
db:
condition: service_started
1 | #The healthcheck for db provided in the original tutorial did not quite work out for me |
2 | #so there's this alternative. |
3 | services: |
4 | db: |
5 | image: mariadb:11.4-noble |
6 | container_name: BookStack-DB |
7 | hostname: bookstack-db |
8 | mem_limit: 1g |
9 | cpu_shares: 768 |
10 | healthcheck: |
11 | #test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3306' || exit 1 |
12 | test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] |
13 | interval: 10s |
14 | timeout: 5s |
15 | retries: 3 |
16 | start_period: 90s |
17 | security_opt: |
18 | - no-new-privileges:false |
19 | volumes: |
20 | - /volume1/docker/bookstack/db:/var/lib/mysql:rw |
21 | - /volume1/docker/bookstack/db:/etc/mysql/conf.d:rw |
22 | environment: |
23 | TZ: Europe/Zurich #your own time zone |
24 | MYSQL_ROOT_PASSWORD: rootpass |
25 | MYSQL_USER: bookstackuser |
26 | MYSQL_PASSWORD: bookstackpass |
27 | MYSQL_DATABASE: bookstack |
28 | restart: on-failure:5 |
29 | |
30 | bookstack: |
31 | image: solidnerd/bookstack:latest |
32 | container_name: BookStack |
33 | hostname: bookstack |
34 | mem_limit: 1g |
35 | cpu_shares: 768 |
36 | security_opt: |
37 | - no-new-privileges:true |
38 | ports: |
39 | - 6875:8080 |
40 | volumes: |
41 | - /volume1/docker/bookstack/uploads:/var/www/bookstack/public/uploads:rw |
42 | - /volume1/docker/bookstack/storage-uploads:/var/www/bookstack/storage/uploads:rw |
43 | environment: |
44 | DB_HOST: bookstack-db:3306 |
45 | DB_DATABASE: bookstack |
46 | DB_USERNAME: bookstackuser |
47 | DB_PASSWORD: bookstackpass |
48 | APP_KEY: base64:MDFsaTQ5NzA1cjFqY2R6YjlndHUzYjk1ODRtMTMwazM= #generate your own key |
49 | APP_URL: https://bookstack.mydomain.com |
50 | MAIL_DRIVER: smtp |
51 | MAIL_HOST: mail.mydomain.com |
52 | MAIL_PORT: 465 |
53 | MAIL_ENCRYPTION: tls |
54 | MAIL_USERNAME: mailuser |
55 | MAIL_PASSWORD: password123 |
56 | MAIL_FROM: bookstack@mydomain.com |
57 | MAIL_FROM_NAME: BookStack |
58 | restart: on-failure:5 |
59 | depends_on: |
60 | db: |
61 | condition: service_started |