This repository was archived by the owner on Jun 10, 2021. It is now read-only.
forked from Drauku/docker-swarm-cookbook
-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbookstack.yml
99 lines (94 loc) · 2.74 KB
/
bookstack.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Bookstack Recipe
# /share/appdata/config/diskover/bookstack.yml
version: "3.4"
services:
app:
image: solidnerd/bookstack:latest
environment:
- SESSION_SECURE_COOKIE=true
# Database Configuration
- DB_HOST=db:3306
- DB_DATABASE=bookstackdb
- DB_USERNAME=bookstack
- DB_PASSWORD=<dbpassword>
# App configuration #
- APP_URL=https://bookstack.gkoerk.com
- APP_ENV=production
- APP_DEBUG=false
- APP_KEY=base64:<hash>
- APP_AUTO_LANG_PUBLIC=true
- APP_TIMEZONE=America/Chicago
# Mail Configuration
- MAIL_DRIVER=smtp
- MAIL_HOST=<mailhost>
- MAIL_PORT=<port>
- MAIL_ENCRYPTION=tls
- MAIL_USERNAME=<username>
- MAIL_PASSWORD=<mailpassword>
# The "from" email address for outgoing email
- MAIL_FROM=<emailaddress>
- MAIL_FROM_NAME=<emailalias>
# Redis configuration
- CACHE_DRIVER=redis
- SESSION_DRIVER=redis
- REDIS_SERVERS=redis:6379:0
volumes:
- /share/appdata/bookstack/uploads:/var/www/bookstack/public/uploads
- /share/appdata/bookstack/storage:/var/www/bookstack/storage/uploads
networks:
- internal
- traefik_public
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.bookstack.rule=Host(`bookstack.gkoerk.com`)"
- "traefik.http.services.bookstack.loadbalancer.server.port=8080"
db:
image: mariadb:10
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=<root_secret_password>
- MYSQL_DATABASE=bookstackdb
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=<dbpassword>
networks:
- internal
volumes:
- /etc/localtime:/etc/localtime:ro
- /share/runtime/bookstack/db:/var/lib/mysql
db-backup:
image: mariadb:10
environment:
# For database backup (keep 7 days daily backups)
- MYSQL_PWD=<root_secret_password>
- MYSQL_USER=root
- BACKUP_NUM_KEEP=7
- BACKUP_FREQUENCY=1d
volumes:
- /share/appdata/bookstack/database-dump:/dump
- /etc/localtime:/etc/localtime:ro
entrypoint: |
bash -c 'bash -s <<EOF
trap "break;exit" SIGHUP SIGINT SIGTERM
sleep 2m
while /bin/true; do
mysqldump -h db --all-databases | gzip -c > /dump/dump_\`date +%d-%m-%Y"_"%H_%M_%S\`.sql.gz
(ls -t /dump/dump*.sql.gz|head -n $$BACKUP_NUM_KEEP;ls /dump/dump*.sql.gz)|sort|uniq -u|xargs rm -- {}
sleep $$BACKUP_FREQUENCY
done
EOF'
networks:
- internal
redis:
image: redis:alpine
volumes:
- /etc/localtime:/etc/localtime:ro
networks:
- internal
networks:
traefik_public:
external: true
internal:
driver: overlay
ipam:
config:
- subnet: 172.16.33.0/24