Compare commits

...

618 Commits

Author SHA1 Message Date
LinuxServer-CI
d37b904fb3
Bot Updating Package Versions 2026-02-18 20:03:53 +00:00
Adam
4ea84e9203
Merge pull request #284 from linuxserver/purifier
Add purifier directory to framework symlinks
2026-02-17 17:57:29 +00:00
thespad
4024093611
Add purifier directory to framework symlinks 2026-02-17 17:08:23 +00:00
LinuxServer-CI
08e43edecf
Bot Updating Package Versions 2026-02-17 11:58:52 +00:00
LinuxServer-CI
14da2a0df5
Bot Updating Package Versions 2026-02-16 18:56:11 +00:00
LinuxServer-CI
9d396ec6a2
Bot Updating Templated Files 2026-02-16 18:52:39 +00:00
LinuxServer-CI
f903ab685d
Bot Updating Templated Files 2026-02-16 18:51:03 +00:00
LinuxServer-CI
6bf9340d89
Bot Updating Package Versions 2026-02-09 19:22:11 +00:00
LinuxServer-CI
37c2e6072d
Bot Updating Package Versions 2026-01-29 15:58:10 +00:00
LinuxServer-CI
6d24518f15
Bot Updating Package Versions 2026-01-24 14:42:11 +00:00
LinuxServer-CI
c36bdfb04a
Bot Updating Package Versions 2026-01-12 18:40:02 +00:00
Adam
4f99d38bcb
Merge pull request #278 from pfeyz/patch-1 2026-01-04 23:45:47 +00:00
LinuxServer-CI
c25a48d2b8
Bot Updating Package Versions 2026-01-04 21:23:57 +00:00
LinuxServer-CI
44463da08f
Bot Updating Templated Files 2026-01-04 21:18:25 +00:00
Adam
31a47a879e
Merge pull request #281 from linuxserver/3.23 2026-01-04 21:16:28 +00:00
LinuxServer-CI
c5d0fd7694
Bot Updating Package Versions 2025-12-30 17:42:20 +00:00
thespad
ca7fcb276f
opcache is now builtin 2025-12-28 17:09:44 +00:00
thespad
2904fa92fb
Rebase to 3.23 2025-12-28 17:06:20 +00:00
LinuxServer-CI
f68b027a14
Bot Updating Package Versions 2025-12-24 13:07:22 +00:00
LinuxServer-CI
6bc3180f53
Bot Updating Package Versions 2025-12-22 18:48:21 +00:00
LinuxServer-CI
e9a445379a
Bot Updating Package Versions 2025-12-22 18:43:45 +00:00
LinuxServer-CI
5642cc2080
Bot Updating Package Versions 2025-12-22 18:38:45 +00:00
LinuxServer-CI
3dfc0bda5a
Bot Updating Package Versions 2025-12-15 18:39:11 +00:00
LinuxServer-CI
08370f159d
Bot Updating Package Versions 2025-12-09 21:39:07 +00:00
LinuxServer-CI
dd118d1b46
Bot Updating Package Versions 2025-12-08 18:38:29 +00:00
pfeyz
11152fe266
don't embed ansi escape codes in appkey
given that it's the recommended way to generate the code in the docs, redirecting stdout will produce an appkey that will make bookstack crash when it runs. this will affect anyone who is trying to automate the initial steps of deployment.

i think this is likely the cause of this issue: https://github.com/BookStackApp/BookStack/issues/5289#issuecomment-2453680653
2025-12-06 19:40:32 -05:00
LinuxServer-CI
18bdc16361
Bot Updating Package Versions 2025-12-03 15:44:33 +00:00
LinuxServer-CI
0812ae08e5
Bot Updating Package Versions 2025-12-01 18:40:23 +00:00
LinuxServer-CI
bf431f8f0c
Bot Updating Package Versions 2025-11-25 22:40:41 +00:00
LinuxServer-CI
08a396d042
Bot Updating Package Versions 2025-11-21 14:46:20 +00:00
LinuxServer-CI
eb557cf2a1
Bot Updating Package Versions 2025-11-19 15:39:34 +00:00
LinuxServer-CI
07caa96fee
Bot Updating Templated Files 2025-11-19 15:35:57 +00:00
LinuxServer-CI
be89b0b7aa
Bot Updating Package Versions 2025-11-17 18:34:51 +00:00
LinuxServer-CI
91858f20e9
Bot Updating Package Versions 2025-11-09 13:37:46 +00:00
LinuxServer-CI
f560b74187
Bot Updating Package Versions 2025-10-27 18:36:33 +00:00
LinuxServer-CI
6c4839dfbb
Bot Updating Templated Files 2025-10-27 18:33:13 +00:00
LinuxServer-CI
a4e1054769
Bot Updating Package Versions 2025-10-20 18:37:39 +00:00
LinuxServer-CI
af1bd1bc0e
Bot Updating Templated Files 2025-10-20 18:33:46 +00:00
LinuxServer-CI
091265234d
Bot Updating Package Versions 2025-10-13 18:32:28 +00:00
LinuxServer-CI
57d1d906e3
Bot Updating Package Versions 2025-10-05 15:32:58 +00:00
LinuxServer-CI
f165d5927e
Bot Updating Package Versions 2025-09-29 18:34:25 +00:00
LinuxServer-CI
7834e6be98
Bot Updating Package Versions 2025-09-22 18:32:41 +00:00
LinuxServer-CI
6a6031e70e
Bot Updating Package Versions 2025-08-28 17:37:27 +00:00
LinuxServer-CI
9509dbaa1f
Bot Updating Package Versions 2025-08-25 18:34:56 +00:00
LinuxServer-CI
9fdf1f8e9b
Bot Updating Package Versions 2025-08-18 18:36:53 +00:00
LinuxServer-CI
79e220fe9c
Bot Updating Package Versions 2025-08-11 14:46:42 +00:00
LinuxServer-CI
21c371b198
Bot Updating Package Versions 2025-08-04 18:38:45 +00:00
LinuxServer-CI
f0cdf284eb
Bot Updating Package Versions 2025-07-30 09:54:50 +00:00
LinuxServer-CI
963a439956
Bot Updating Package Versions 2025-07-28 18:39:14 +00:00
LinuxServer-CI
16e0d78dbb
Bot Updating Package Versions 2025-07-15 08:41:12 +00:00
LinuxServer-CI
2d4c63e977
Bot Updating Templated Files 2025-07-15 08:37:56 +00:00
Adam
7a44242a13
Merge pull request #274 from linuxserver/3.22 2025-07-15 09:36:25 +01:00
LinuxServer-CI
fe9a7feb9e
Bot Updating Package Versions 2025-07-14 18:37:50 +00:00
thespad
36f1de6449
Fix || breaking build failures 2025-07-10 19:40:39 +01:00
LinuxServer-CI
0dd8ae9069
Bot Updating Package Versions 2025-07-07 14:47:18 +00:00
LinuxServer-CI
225e05f493
Bot Updating Templated Files 2025-07-07 14:43:47 +00:00
LinuxServer-CI
c422f29971
Bot Updating Templated Files 2025-07-07 14:42:09 +00:00
thespad
001da31552
Rebase to 3.22 2025-07-05 15:26:54 +01:00
LinuxServer-CI
3173d606ef
Bot Updating Package Versions 2025-06-17 14:44:54 +00:00
LinuxServer-CI
e3d106d070
Bot Updating Templated Files 2025-06-16 18:33:01 +00:00
LinuxServer-CI
92ab5632ed
Bot Updating Package Versions 2025-05-31 13:44:53 +00:00
LinuxServer-CI
4cb2d86fd3
Bot Updating Package Versions 2025-05-26 18:33:36 +00:00
LinuxServer-CI
336d5ba3f7
Bot Updating Package Versions 2025-05-17 11:31:42 +00:00
LinuxServer-CI
9c2b40c914
Bot Updating Templated Files 2025-05-17 11:28:57 +00:00
LinuxServer-CI
481bdb6a8b
Bot Updating Package Versions 2025-05-08 15:41:50 +00:00
LinuxServer-CI
5eb50e7294
Bot Updating Package Versions 2025-05-05 18:30:18 +00:00
LinuxServer-CI
f92adde813
Bot Updating Package Versions 2025-04-21 18:31:56 +00:00
LinuxServer-CI
aab1799cae
Bot Updating Package Versions 2025-04-14 18:32:19 +00:00
LinuxServer-CI
bee364899e
Bot Updating Package Versions 2025-04-07 18:31:37 +00:00
LinuxServer-CI
4c90655485
Bot Updating Package Versions 2025-04-02 16:48:13 +00:00
LinuxServer-CI
0c1bdf7b07
Bot Updating Package Versions 2025-03-31 18:31:29 +00:00
LinuxServer-CI
6006704576
Bot Updating Package Versions 2025-03-17 18:30:33 +00:00
LinuxServer-CI
cb76bd3838
Bot Updating Package Versions 2025-03-16 12:55:56 +00:00
LinuxServer-CI
c833bc46c2
Bot Updating Package Versions 2025-03-09 13:52:08 +00:00
Adam
6bda8c360a
Merge pull request #266 from linuxserver/backup-symlink
Fix backup symlink
2025-03-09 13:49:05 +00:00
thespad
06da7f0e0b
Fix backup symlink 2025-03-08 20:23:21 +00:00
LinuxServer-CI
80ee30e747
Bot Updating Package Versions 2025-02-26 15:37:51 +00:00
LinuxServer-CI
feb8032b97
Bot Updating Package Versions 2025-02-24 18:31:54 +00:00
LinuxServer-CI
9e330f4396
Bot Updating Package Versions 2025-02-17 18:28:26 +00:00
LinuxServer-CI
167e0a0cf2
Bot Updating Templated Files 2025-02-10 18:27:36 +00:00
LinuxServer-CI
4c041344f8
Bot Updating Templated Files 2025-02-03 18:29:33 +00:00
LinuxServer-CI
30ec902a3a
Bot Updating Templated Files 2025-02-03 18:28:39 +00:00
LinuxServer-CI
a31d51a1cd
Bot Updating Package Versions 2025-01-22 00:20:52 +00:00
quietsy
63ab103e8b
Merge pull request #259 from linuxserver/add-project-categories
Add categories to readme-vars.yml
2025-01-21 04:42:07 +02:00
LinuxServer-CI
dcb27aab58
Bot Updating Package Versions 2025-01-20 18:27:33 +00:00
quietsy
ef5d337e4d Add categories to readme-vars.yml 2025-01-20 17:21:03 +02:00
LinuxServer-CI
9be39e5c49
Bot Updating Package Versions 2025-01-15 14:00:27 +00:00
Adam
44544d05ee
Merge pull request #258 from linuxserver/sessions 2025-01-15 13:57:02 +00:00
thespad
17961c4c24
Only clear cache, sessions, views on container update 2025-01-15 10:04:46 +00:00
LinuxServer-CI
4efb651e21
Bot Updating Package Versions 2025-01-05 10:10:52 +00:00
LinuxServer-CI
29778a5321
Bot Updating Templated Files 2025-01-05 10:06:14 +00:00
Adam
3236a68411
Merge pull request #254 from linuxserver/opcache 2025-01-05 10:04:57 +00:00
LinuxServer-CI
32a45a9d61
Bot Updating Package Versions 2025-01-04 23:31:05 +00:00
thespad
72f406373b
Add php83-opcache 2025-01-04 22:28:25 +00:00
LinuxServer-CI
c705a81c1c
Bot Updating Package Versions 2024-12-23 12:56:46 +00:00
Adam
244c619c77
Merge pull request #248 from linuxserver/master-fix-keygen 2024-12-22 22:22:11 +00:00
thespad
d283e53018
Fix appkey gen with new symlinks 2024-12-22 21:59:37 +00:00
LinuxServer-CI
ee61205ece
Bot Updating Package Versions 2024-12-21 13:34:54 +00:00
LinuxServer-CI
15af885805
Bot Updating Templated Files 2024-12-21 13:31:47 +00:00
Adam
fb50f788b2
Merge pull request #247 from linuxserver/3.21 2024-12-21 13:30:14 +00:00
thespad
5fd60b393b
Improve symlink creation 2024-12-18 15:45:06 +00:00
thespad
fdf34906e5
Use /tmp as we need it anyway 2024-12-17 17:58:35 +00:00
thespad
476e0463b1
Rebase to 3.21, support read-only operation 2024-12-17 17:55:20 +00:00
LinuxServer-CI
9a88ade8e1
Bot Updating Package Versions 2024-12-16 18:38:51 +00:00
LinuxServer-CI
10aca3f421
Bot Updating Templated Files 2024-12-16 18:32:26 +00:00
LinuxServer-CI
15092cd768
Bot Updating Templated Files 2024-12-16 18:29:47 +00:00
LinuxServer-CI
b704ebdd25
Bot Updating Templated Files 2024-12-09 18:30:53 +00:00
LinuxServer-CI
b52e28a1a2
Bot Updating Templated Files 2024-12-02 18:34:35 +00:00
LinuxServer-CI
3955a5ceab
Bot Updating Templated Files 2024-12-02 18:31:56 +00:00
LinuxServer-CI
85e3b1a0a5
Bot Updating Templated Files 2024-12-02 18:30:44 +00:00
LinuxServer-CI
a96801f392
Bot Updating Templated Files 2024-12-02 18:29:18 +00:00
LinuxServer-CI
f719a0c2f5
Bot Updating Package Versions 2024-11-29 14:38:43 +00:00
LinuxServer-CI
241c57b7f9
Bot Updating Package Versions 2024-11-25 18:28:59 +00:00
Adam
5f0dbc08f7
Merge pull request #242 from linuxserver/be-unambiguous 2024-11-20 20:43:50 +00:00
thespad
04589bb8ae
Attempt to remove any and all ambiguity from the readme instructions. 2024-11-20 20:31:19 +00:00
LinuxServer-CI
47165fc43d
Bot Updating Package Versions 2024-11-13 12:57:23 +00:00
LinuxServer-CI
a9d2ee5a88
Bot Updating Templated Files 2024-11-11 18:27:36 +00:00
LinuxServer-CI
0bdb37bf4f
Bot Updating Templated Files 2024-11-11 18:26:36 +00:00
LinuxServer-CI
b8fba7f08b
Bot Updating Package Versions 2024-11-08 15:04:57 +00:00
LinuxServer-CI
00a782d8ae
Bot Updating Package Versions 2024-11-04 18:29:11 +00:00
LinuxServer-CI
c7819efba7
Bot Updating Package Versions 2024-10-28 18:30:00 +00:00
LinuxServer-CI
1eb8aa7e86
Bot Updating Package Versions 2024-10-21 18:28:43 +00:00
Adam
5a58d58419
Merge pull request #234 from linuxserver/fix-appkey 2024-10-14 16:21:36 +01:00
thespad
c84517086c
Fix appkey check + add helper 2024-10-14 16:12:46 +01:00
Adam
2c3eb82848
Merge pull request #231 from linuxserver/env-consolidation 2024-10-14 09:13:03 +01:00
thespad
be960b455b
Add update-url note to readme 2024-10-14 09:07:27 +01:00
thespad
448b16865f
Fix unhelpful default values 2024-10-12 20:19:24 +01:00
thespad
4cb4610150
Simplify init, prefer envs, make fewer assumptions 2024-10-12 19:28:51 +01:00
LinuxServer-CI
e32e3ce745
Bot Updating Package Versions 2024-10-09 10:42:32 +00:00
LinuxServer-CI
23e32dc35e
Bot Updating Package Versions 2024-09-30 18:33:03 +00:00
LinuxServer-CI
1ecb3fb7a2
Bot Updating Templated Files 2024-09-30 18:30:03 +00:00
LinuxServer-CI
bd625285f7
Bot Updating Templated Files 2024-09-30 18:28:48 +00:00
LinuxServer-CI
ef194d4e9c
Bot Updating Templated Files 2024-09-30 18:27:18 +00:00
LinuxServer-CI
c42dd81847
Bot Updating Package Versions 2024-09-23 18:27:58 +00:00
LinuxServer-CI
9e5e0c3fbb
Bot Updating Package Versions 2024-09-16 18:28:54 +00:00
LinuxServer-CI
d4a11792b7
Bot Updating Package Versions 2024-09-06 15:21:51 +00:00
LinuxServer-CI
2fa72de4df
Bot Updating Templated Files 2024-09-06 15:18:59 +00:00
LinuxServer-CI
fc8f5ee61f
Bot Updating Templated Files 2024-09-06 15:16:49 +00:00
Adam
6a43dbf24f
Merge pull request #224 from linuxserver/php-exif 2024-09-06 16:15:22 +01:00
thespad
248b8769b4
Add php83-exif for reading image EXIF data 2024-09-06 16:03:32 +01:00
LinuxServer-CI
9c224f5eb5
Bot Updating Package Versions 2024-08-29 15:36:53 +00:00
LinuxServer-CI
dfc1d3192f
Bot Updating Package Versions 2024-08-26 18:25:50 +00:00
LinuxServer-CI
951399bd49
Bot Updating Package Versions 2024-08-19 18:30:42 +00:00
LinuxServer-CI
e682e1aaa1
Bot Updating Templated Files 2024-08-19 18:26:56 +00:00
LinuxServer-CI
80de27102c Bot Updating Templated Files 2024-08-19 18:24:50 +00:00
Adam
6790cfae23
Merge pull request #221 from linuxserver/migrations-x 2024-08-13 16:17:52 +01:00
thespad
8b6b85d1a3
Make migrations executable 2024-08-13 15:15:45 +01:00
LinuxServer-CI
c8ffa209f1 Bot Updating Package Versions 2024-08-12 18:27:12 +00:00
LinuxServer-CI
c6b23e665f Bot Updating Package Versions 2024-08-05 18:26:40 +00:00
LinuxServer-CI
25f8bddc4e Bot Updating Package Versions 2024-07-29 18:27:13 +00:00
LinuxServer-CI
c17a8d6dbd Bot Updating Package Versions 2024-07-19 21:37:25 +00:00
Eric Nemchik
7745e1c0d7
Merge pull request #218 from linuxserver/delete-default-conf
Delete root/defaults/nginx/site-confs/default.conf.sample
2024-07-19 16:33:49 -05:00
Eric Nemchik
1c26d28291
Delete root/defaults/nginx/site-confs/default.conf.sample
redundant to base
2024-07-16 20:44:27 -05:00
LinuxServer-CI
f7b4f2442e Bot Updating Package Versions 2024-07-14 16:54:28 +00:00
LinuxServer-CI
ac8cb7a796 Bot Updating Templated Files 2024-07-14 16:51:04 +00:00
LinuxServer-CI
76bc27286e Bot Updating Templated Files 2024-07-14 16:49:26 +00:00
LinuxServer-CI
c4732bf86a Bot Updating Package Versions 2024-07-08 18:26:18 +00:00
LinuxServer-CI
83ce5bd30b Bot Updating Package Versions 2024-07-01 18:27:15 +00:00
LinuxServer-CI
82e27df972 Bot Updating Package Versions 2024-06-17 18:25:01 +00:00
LinuxServer-CI
9458f760ca Bot Updating Package Versions 2024-06-10 11:28:59 +00:00
LinuxServer-CI
721ace2bca Bot Updating Package Versions 2024-06-01 20:34:56 +00:00
Adam
66bb63ab5c
Merge pull request #215 from linuxserver/readme-tidy
Tidy readme
2024-06-01 21:30:44 +01:00
thespad
8f7e4da277
Tidy readme 2024-06-01 17:48:04 +01:00
LinuxServer-CI
69d9fd1452 Bot Updating Package Versions 2024-05-29 13:56:47 +00:00
LinuxServer-CI
b1e2b2ee4f Bot Updating Templated Files 2024-05-29 13:54:01 +00:00
Adam
aa40100bb2
Merge pull request #213 from linuxserver/3.20
Rebase to 3.20
2024-05-29 14:52:40 +01:00
thespad
223740182f
Use wildcard listener 2024-05-29 13:58:02 +01:00
thespad
1078bd4dfb
Update http2 wording 2024-05-28 20:11:12 +01:00
thespad
40fdb1058e
Rebase to 3.20 2024-05-28 20:01:03 +01:00
LinuxServer-CI
0e6c35ab2d Bot Updating Package Versions 2024-05-27 18:23:23 +00:00
LinuxServer-CI
51d49e40ba Bot Updating Package Versions 2024-05-21 10:55:30 +00:00
LinuxServer-CI
0c4f018f41 Bot Updating Templated Files 2024-05-21 10:52:26 +00:00
LinuxServer-CI
9aeff1a1d0 Bot Updating Templated Files 2024-05-21 10:50:51 +00:00
LinuxServer-CI
0836983544 Bot Updating Templated Files 2024-05-21 10:49:09 +00:00
LinuxServer-CI
e78d02587b Bot Updating Package Versions 2024-05-20 18:23:49 +00:00
LinuxServer-CI
072e39ee06 Bot Updating Package Versions 2024-05-13 18:23:07 +00:00
LinuxServer-CI
e03366e936 Bot Updating Package Versions 2024-05-11 15:31:12 +00:00
LinuxServer-CI
bd9f41e793 Bot Updating Templated Files 2024-05-11 15:28:25 +00:00
LinuxServer-CI
4864ce1d1e Bot Updating Templated Files 2024-05-06 18:24:36 +00:00
LinuxServer-CI
93878ef585 Bot Updating Package Versions 2024-04-29 18:22:17 +00:00
LinuxServer-CI
263fc81952 Bot Updating Package Versions 2024-04-22 18:23:05 +00:00
LinuxServer-CI
8fddd56c0c Bot Updating Package Versions 2024-04-15 18:23:15 +00:00
LinuxServer-CI
efa77507f3 Bot Updating Package Versions 2024-04-05 14:34:15 +00:00
LinuxServer-CI
248b7be397 Bot Updating Package Versions 2024-04-01 18:21:02 +00:00
LinuxServer-CI
ef62a56bab Bot Updating Package Versions 2024-03-25 18:24:37 +00:00
LinuxServer-CI
b24b21f21c Bot Updating Package Versions 2024-03-18 18:23:08 +00:00
LinuxServer-CI
ef1f4e2139 Bot Updating Templated Files 2024-03-18 18:20:07 +00:00
LinuxServer-CI
22289ce96f Bot Updating Package Versions 2024-03-04 18:20:31 +00:00
LinuxServer-CI
4e1861dc95 Bot Updating Package Versions 2024-02-28 14:31:22 +00:00
LinuxServer-CI
63d71fde37 Bot Updating Package Versions 2024-02-26 12:48:11 +00:00
LinuxServer-CI
580623db9d Bot Updating Templated Files 2024-02-26 12:45:04 +00:00
LinuxServer-CI
4d41ca9239 Bot Updating Templated Files 2024-02-26 12:43:20 +00:00
LinuxServer-CI
15127d9e4c Bot Updating Package Versions 2024-02-19 18:24:23 +00:00
LinuxServer-CI
ffd2adc9dd Bot Updating Package Versions 2024-02-12 18:20:17 +00:00
LinuxServer-CI
a22f015ceb Bot Updating Package Versions 2024-02-05 18:22:46 +00:00
LinuxServer-CI
dc638a54d8 Bot Updating Package Versions 2024-01-29 18:21:02 +00:00
LinuxServer-CI
6a1308143b Bot Updating Templated Files 2024-01-25 18:50:49 +00:00
Eric Nemchik
3d1656966a
Merge pull request #201 from linuxserver/nginx-cleanup
Cleanup default site conf
2024-01-25 12:45:45 -06:00
Eric Nemchik
0de4fc064f
Merge branch 'master' into nginx-cleanup 2024-01-25 12:45:40 -06:00
LinuxServer-CI
a2089be82d Bot Updating Package Versions 2024-01-24 11:30:55 +00:00
LinuxServer-CI
8386f7a90b Bot Updating Package Versions 2024-01-22 18:23:20 +00:00
LinuxServer-CI
9f99c7fef9 Bot Updating Package Versions 2024-01-15 18:26:43 +00:00
LinuxServer-CI
c86c8298a6 Bot Updating Templated Files 2024-01-15 18:22:59 +00:00
LinuxServer-CI
755270f475 Bot Updating Templated Files 2024-01-15 18:21:12 +00:00
LinuxServer-CI
e1e6dd2a30 Bot Updating Package Versions 2024-01-08 18:22:31 +00:00
LinuxServer-CI
cc18bc0f84 Bot Updating Package Versions 2023-12-29 12:48:05 +00:00
LinuxServer-CI
de6b81a975 Bot Updating Package Versions 2023-12-28 18:34:11 +00:00
LinuxServer-CI
72b2f7dacb Bot Updating Templated Files 2023-12-28 18:29:25 +00:00
Eric Nemchik
bcf329ba07
Merge pull request #200 from linuxserver/3.19
Rebase to Alpine 3.19
2023-12-28 12:27:57 -06:00
Eric Nemchik
4f569dfdf8
Cleanup default site conf
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-25 14:16:11 -06:00
LinuxServer-CI
92901fa2a3 Bot Updating Package Versions 2023-12-25 18:21:56 +00:00
Eric Nemchik
ba22acfa48
Rebase to Alpine 3.19
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-23 18:08:37 -06:00
LinuxServer-CI
ca614519d4 Bot Updating Package Versions 2023-12-11 18:23:46 +00:00
LinuxServer-CI
1a0feb718c Bot Updating Package Versions 2023-12-04 18:23:33 +00:00
LinuxServer-CI
c645e46843 Bot Updating Package Versions 2023-11-27 18:22:06 +00:00
Eric Nemchik
976de47cd0
Merge pull request #197 from linuxserver/quiet-migration
only run migration if conf exists
2023-11-25 18:12:51 -06:00
Eric Nemchik
a6801f27f0
only run migration if conf exists
redirect stderr to /dev/null

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-11-25 10:42:40 -06:00
LinuxServer-CI
152f64b6f9 Bot Updating Package Versions 2023-11-25 12:18:06 +00:00
Adam
586c3d8751
Merge pull request #196 from linuxserver/init-fix
Symlink all logs to avoid defer error on new install
2023-11-25 12:15:15 +00:00
TheSpad
78d685a31f
Symlink logs and backups outside of www 2023-11-24 14:11:04 +00:00
TheSpad
7759d52c25
Symlink all logs to avoid defer error on new install 2023-11-24 13:54:02 +00:00
LinuxServer-CI
acda76ad08 Bot Updating Package Versions 2023-11-17 15:56:12 +00:00
LinuxServer-CI
40ee80c5d8 Bot Updating Templated Files 2023-11-17 15:53:15 +00:00
aptalca
28b6c968f2
Merge pull request #195 from linuxserver/sedescape
further sanitize sed replace
2023-11-17 10:51:41 -05:00
LinuxServer-CI
99e2bec1bc Bot Updating Package Versions 2023-11-13 18:21:49 +00:00
LinuxServer-CI
b9909c9323 Bot Updating Package Versions 2023-11-02 15:29:16 +00:00
aptalca
e0f1e7cf13
further sanitize sed replace 2023-10-31 17:35:24 -04:00
LinuxServer-CI
0da4f3e270 Bot Updating Package Versions 2023-10-30 12:47:46 +00:00
LinuxServer-CI
833d57cfed Bot Updating Package Versions 2023-10-23 18:21:00 +00:00
LinuxServer-CI
9a4494667a Bot Updating Package Versions 2023-10-16 18:24:42 +00:00
LinuxServer-CI
0b32a2a4c3 Bot Updating Package Versions 2023-10-09 18:26:31 +00:00
LinuxServer-CI
7a787f9c5b Bot Updating Templated Files 2023-10-09 18:22:41 +00:00
LinuxServer-CI
32c7e152fa Bot Updating Templated Files 2023-10-09 18:21:05 +00:00
LinuxServer-CI
4f7bd3761e Bot Updating Package Versions 2023-10-02 18:21:57 +00:00
LinuxServer-CI
a62a72c757 Bot Updating Package Versions 2023-09-25 18:22:15 +00:00
LinuxServer-CI
cf00b4b528 Bot Updating Package Versions 2023-09-15 13:30:57 +00:00
LinuxServer-CI
0e1f787d64 Bot Updating Package Versions 2023-09-11 18:21:19 +00:00
LinuxServer-CI
48590fc969 Bot Updating Templated Files 2023-09-04 11:03:26 +00:00
Adam
b979032c09
Merge pull request #187 from linuxserver/queues 2023-09-04 12:01:45 +01:00
TheSpad
7245559a00
Add link for async actions 2023-09-04 09:25:52 +01:00
TheSpad
869d618156
Add async action support 2023-09-04 09:22:10 +01:00
LinuxServer-CI
e3bcaad822 Bot Updating Package Versions 2023-09-03 17:32:40 +00:00
LinuxServer-CI
3ee35b4d79 Bot Updating Package Versions 2023-08-30 12:48:59 +00:00
LinuxServer-CI
1f7441a512 Bot Updating Package Versions 2023-08-28 18:22:14 +00:00
LinuxServer-CI
620c519455 Bot Updating Package Versions 2023-08-21 18:20:01 +00:00
LinuxServer-CI
e06fd86bc1 Bot Updating Package Versions 2023-08-14 18:30:13 +00:00
LinuxServer-CI
c0042bd7c6 Bot Updating Package Versions 2023-08-14 18:26:24 +00:00
LinuxServer-CI
6b7063dbbd Bot Updating Package Versions 2023-08-14 18:22:44 +00:00
LinuxServer-CI
8cba53dfe8 Bot Updating Package Versions 2023-08-14 18:19:52 +00:00
LinuxServer-CI
a8c6d4b653 Bot Updating Package Versions 2023-08-11 00:05:38 +00:00
LinuxServer-CI
9f149726fd Bot Updating Templated Files 2023-08-11 00:02:00 +00:00
Eric Nemchik
0f7b665962
Merge pull request #183 from jasonyang-ee/master
Update password restriction matching to db image manual
2023-08-10 18:59:39 -05:00
LinuxServer-CI
fd52002a3d Bot Updating Package Versions 2023-08-07 18:21:10 +00:00
Jason Teng
51c954c18b
Edit: moving change to readme-vars.yml 2023-08-06 23:32:53 -07:00
Jason Teng
bb3a6b4f05
Revert "Add: password restriction match to db image manual"
This reverts commit b270eaf8a27a2f3b96710498c1b005e97de577b0.
2023-08-06 23:30:33 -07:00
Jason Teng
b270eaf8a2
Add: password restriction match to db image manual
per linuxserver/mariadb/, the required DATABASE_PASSWORD must > 4
2023-08-06 23:11:03 -07:00
LinuxServer-CI
e654f6ca12 Bot Updating Package Versions 2023-07-31 18:22:24 +00:00
LinuxServer-CI
078e1512ed Bot Updating Package Versions 2023-07-24 18:22:42 +00:00
LinuxServer-CI
54488670f1 Bot Updating Package Versions 2023-07-17 18:25:56 +00:00
LinuxServer-CI
914301a9ea Bot Updating Package Versions 2023-07-11 13:20:42 +00:00
Adam
2e802e7231
Merge pull request #179 from linuxserver/drizuid-patch-1 2023-07-11 14:16:45 +01:00
LinuxServer-CI
70c02cc704 Bot Updating Package Versions 2023-07-10 18:23:30 +00:00
driz
edd48f8708
Update readme-vars.yml 2023-07-06 08:48:42 -04:00
driz
01114edaa3
remove wkhtmltopdf section of readme 2023-07-06 08:47:30 -04:00
LinuxServer-CI
8cacf766f6 Bot Updating Package Versions 2023-07-05 13:00:40 +00:00
LinuxServer-CI
cbeae026d4 Bot Updating Package Versions 2023-07-03 18:24:49 +00:00
LinuxServer-CI
9fad9dc45b Bot Updating Templated Files 2023-07-03 18:22:00 +00:00
LinuxServer-CI
f56f469718 Bot Updating Package Versions 2023-06-30 10:36:41 +00:00
LinuxServer-CI
bf799eede6 Bot Updating Package Versions 2023-06-26 18:23:35 +00:00
LinuxServer-CI
e5dd5dc0a1 Bot Updating Package Versions 2023-06-19 18:21:08 +00:00
LinuxServer-CI
7689b64cf2 Bot Updating Package Versions 2023-06-12 18:22:24 +00:00
LinuxServer-CI
b4f199a7c5 Bot Updating Package Versions 2023-06-09 12:47:10 +00:00
Adam
d164f1b1b9
Merge pull request #173 from ssddanbrown/system-cli-support 2023-06-09 13:44:02 +01:00
Adam
122d120429
Merge branch 'master' into system-cli-support 2023-06-07 13:43:43 +01:00
TheSpad
eb7bd9a626
Rebase against current master branch 2023-06-07 13:39:51 +01:00
LinuxServer-CI
d5a2d9e57c Bot Updating Package Versions 2023-06-05 18:21:35 +00:00
LinuxServer-CI
40692d2a9f Bot Updating Package Versions 2023-05-30 13:58:16 +00:00
Eric Nemchik
00fd09c227
Merge pull request #174 from linuxserver/3.18
Rebase to Alpine 3.18, deprecate armhf
2023-05-30 08:55:43 -05:00
LinuxServer-CI
769680eff8 Bot Updating Package Versions 2023-05-29 18:20:05 +00:00
Eric Nemchik
f6fc0ac4b0
Rebase to Alpine 3.18, deprecate armhf 2023-05-27 16:44:03 -05:00
LinuxServer-CI
ff037f40a1 Bot Updating Package Versions 2023-05-23 12:37:43 +00:00
LinuxServer-CI
5b2e8ecaa0 Bot Updating Templated Files 2023-05-23 12:33:25 +00:00
LinuxServer-CI
19cd312acb Bot Updating Templated Files 2023-05-23 12:31:54 +00:00
Adam
b00371e1bc
Merge pull request #171 from ssddanbrown/compose-changes 2023-05-23 13:30:19 +01:00
Dan Brown
5911614cd7
Updated changelog date for cli support 2023-05-23 13:28:21 +01:00
Dan Brown
00ff6d8366
Updated volume binds to include bookstack name
As requested in https://github.com/linuxserver/docker-bookstack/pull/171#issuecomment-1546728941
2023-05-23 12:55:59 +01:00
LinuxServer-CI
d94b7abffa Bot Updating Package Versions 2023-05-15 18:21:55 +00:00
Dan Brown
e79965fd5f
Updated additional dockerfiles with cli support
Also reordered packages in dockerfile to be alphabetical.
2023-05-08 19:01:05 +01:00
Dan Brown
f2c4a7f002
Updated example volume paths and url options
With an aim to prevent issues when people leave them as the defaults.
2023-05-08 18:41:37 +01:00
Dan Brown
ba204db5e6
Updated changelog and readme mapping for system-cli changes 2023-05-08 18:29:40 +01:00
LinuxServer-CI
43a36901b7 Bot Updating Package Versions 2023-05-08 15:29:11 +00:00
Dan Brown
607fecb0bf
Added requirements for bookstack-system-cli
Added required ZIP extension and mariadb-client package to provide
mysqldump which is required by the CLI for backing up.
2023-05-06 02:20:57 +01:00
LinuxServer-CI
d29c2f1f55 Bot Updating Package Versions 2023-05-03 10:32:56 +00:00
LinuxServer-CI
596d6d9205 Bot Updating Package Versions 2023-05-01 13:25:12 -05:00
LinuxServer-CI
275950c67b Bot Updating Templated Files 2023-05-01 18:20:35 +00:00
LinuxServer-CI
1fad6afd6e Bot Updating Templated Files 2023-05-01 18:19:37 +00:00
LinuxServer-CI
1939f832f8 Bot Updating Package Versions 2023-04-24 20:21:57 +02:00
LinuxServer-CI
e154cab43f Bot Updating Package Versions 2023-04-15 17:25:09 +02:00
Eric Nemchik
04cebcdde1
Merge pull request #169 from linuxserver/move-ssl-include
Move ssl.conf include to default.conf
2023-04-15 10:21:59 -05:00
Eric Nemchik
d97fc18699 Move ssl.conf include to default.conf 2023-04-13 11:04:38 -05:00
LinuxServer-CI
5470eb4620 Bot Updating Templated Files 2023-04-08 23:55:56 +02:00
Adam
37fb5b41e4
Merge pull request #168 from ssddanbrown/readme-path-mapping
Added file/folder path mapping to readme
2023-04-08 22:54:07 +01:00
Dan Brown
0ffb30d5f8
Added path mapping section to readme
Closes linuxserver/docker-bookstack#167
2023-04-08 22:26:41 +01:00
LinuxServer-CI
b84b29044c Bot Updating Package Versions 2023-04-06 18:05:49 +02:00
LinuxServer-CI
fc9ae3f415 Bot Updating Templated Files 2023-04-06 11:02:44 -05:00
LinuxServer-CI
9dc39e38b8 Bot Updating Templated Files 2023-04-06 18:01:11 +02:00
LinuxServer-CI
0f43ec9cff Bot Updating Templated Files 2023-04-06 17:59:30 +02:00
LinuxServer-CI
b85f940dee Bot Updating Package Versions 2023-03-30 18:00:37 +02:00
LinuxServer-CI
1fae28bf60 Bot Updating Package Versions 2023-03-25 13:38:10 +01:00
LinuxServer-CI
f7bb9e3e4a Bot Updating Package Versions 2023-03-23 17:00:21 +01:00
LinuxServer-CI
478a6164ba Bot Updating Package Versions 2023-03-09 17:00:32 +01:00
LinuxServer-CI
959c9ccef9 Bot Updating Package Versions 2023-03-02 17:00:50 +01:00
LinuxServer-CI
99745f761f Bot Updating Package Versions 2023-03-02 02:23:52 +01:00
LinuxServer-CI
8c92c15aa6 Bot Updating Templated Files 2023-03-01 19:19:47 -06:00
LinuxServer-CI
c0cc940e09 Bot Updating Templated Files 2023-03-02 02:18:18 +01:00
aptalca
602677fe43
Merge pull request #164 from ssddanbrown/master
Added php81-iconv as an installed php extension
2023-03-01 20:16:45 -05:00
aptalca
cc131b813e
update changelog 2023-03-01 20:04:50 -05:00
Dan Brown
792b1a8feb
Added php81-iconv as an installed php extension
Adding since the iconv php extension is a requirement for BookStack that
has previously been polyfilled but is now needed as an extension.
Related to https://github.com/linuxserver/docker-bookstack/issues/162
2023-03-02 00:34:26 +00:00
LinuxServer-CI
9c8985d8c7 Bot Updating Package Versions 2023-02-26 05:21:06 -06:00
LinuxServer-CI
67659ad9cd Bot Updating Package Versions 2023-02-23 10:00:37 -06:00
LinuxServer-CI
abfae9ed0c Bot Updating Package Versions 2023-02-16 17:03:42 +01:00
LinuxServer-CI
292160dfdd Bot Updating Templated Files 2023-02-16 10:01:12 -06:00
LinuxServer-CI
d348118c54 Bot Updating Templated Files 2023-02-16 16:59:27 +01:00
LinuxServer-CI
0f9e3082e0 Bot Updating Package Versions 2023-02-09 10:00:13 -06:00
LinuxServer-CI
66af27334f Bot Updating Package Versions 2023-02-02 06:46:33 -06:00
LinuxServer-CI
6aaf90dff8 Bot Updating Package Versions 2023-01-23 11:04:20 -06:00
Eric Nemchik
366fca2ab4
Merge pull request #158 from linuxserver/3.17
Rebase to alpine 3.17 with php8.1
2023-01-23 11:01:39 -06:00
Eric Nemchik
0b903bdfef Fix dependencies 2023-01-22 14:48:04 -06:00
Eric Nemchik
4b7807780b Remove -tmp logic 2023-01-20 18:51:08 -06:00
Eric Nemchik
288cb8d25b Remove -tmp logic 2023-01-20 18:18:44 -06:00
Eric Nemchik
1603fb13fc Remove base packages 2023-01-20 18:15:13 -06:00
Eric Nemchik
231349b842 Fix date 2023-01-19 20:39:21 -06:00
Eric Nemchik
ebeadd336f Rebase to alpine 3.17 with php8.1 2023-01-19 20:18:45 -06:00
LinuxServer-CI
966414b527 Bot Updating Package Versions 2023-01-19 17:00:58 +01:00
aptalca
f38f5cf812
Merge pull request #156 from linuxserver/quotes
wrap .env values in quotes
2023-01-16 22:20:24 -05:00
aptalca
5889c9e4ae wrap .env values in quotes 2023-01-16 22:04:26 -05:00
Eric Nemchik
d690e1d184
Merge pull request #155 from linuxserver/format
Format shell scripts
2023-01-15 10:45:42 -06:00
Eric Nemchik
0752ff3f75 Format shell scripts 2023-01-15 09:48:22 -06:00
aptalca
b860952860
Merge pull request #154 from linuxserver/sedpass
fix db password setting (sed escape &)
2023-01-05 16:34:33 -05:00
aptalca
d3460595f8 fix db password setting (sed escape &) 2023-01-05 15:53:47 -05:00
LinuxServer-CI
0a8973bb32 Bot Updating Package Versions 2022-12-29 17:00:12 +01:00
LinuxServer-CI
894731d11d Bot Updating Templated Files 2022-12-27 18:00:48 +01:00
driz
e65cb66dd5
Merge pull request #152 from linuxserver/TZ-in-sample
Update readme-vars.yml
2022-12-27 10:59:32 -06:00
driz
be4b7a6805
Update readme-vars.yml 2022-12-27 11:14:58 -05:00
LinuxServer-CI
3f99b8d3b3 Bot Updating Package Versions 2022-12-23 10:23:08 -06:00
Adam
7d28720725
Merge pull request #142 from linuxserver/db-check
Cleanup db check so it doesn't spam the console
2022-12-23 16:19:23 +00:00
Adam
3d02d092f2
Merge branch 'master' into db-check 2022-12-23 10:16:17 +00:00
TheSpad
351bb78bd2
Support user-supplied db port for startup check 2022-12-23 10:15:29 +00:00
LinuxServer-CI
240d12383d Bot Updating Templated Files 2022-12-22 16:35:07 -06:00
Eric Nemchik
c075b282cc
Merge pull request #136 from NetLah-external/improve-nc-mysql-host-port
Extract host and port from DB_HOST also support DB_PORT to test connection instead of only use default port 3306
2022-12-22 16:33:41 -06:00
Tho Ho
e2bd737026
sed and grep to support .env.sample upstream comments with # 2022-12-23 00:27:42 +08:00
Tho Ho
987b111e04
Update root/etc/cont-init.d/50-config
Avoid grep -E, change to regex

Co-authored-by: Eric Nemchik <eric@nemchik.com>
2022-12-22 22:12:55 +08:00
Tho Ho
8cb08dab14
Merge branch 'master' into improve-nc-mysql-host-port
# Conflicts:
#	root/etc/cont-init.d/50-config
2022-12-22 11:17:38 +08:00
driz
a27574b2b1
Merge pull request #151 from linuxserver/dbpass
update db info in .env file when env vars are updated
2022-12-21 09:34:29 -06:00
aptalca
7a6a15ebee update db info in .env file when env vars are updated 2022-12-21 10:17:22 -05:00
Tho Ho
a8e02b6b2d
Merge branch 'linuxserver:master' into improve-nc-mysql-host-port 2022-12-15 20:17:23 +08:00
LinuxServer-CI
8917e5dac7 Bot Updating Templated Files 2022-11-30 13:51:27 +01:00
LinuxServer-CI
270010ba93 Bot Updating Templated Files 2022-11-30 13:50:10 +01:00
LinuxServer-CI
2493ccc5ee Bot Updating Templated Files 2022-11-30 13:48:50 +01:00
LinuxServer-CI
ce3f942f09 Bot Updating Templated Files 2022-11-10 10:41:21 -06:00
LinuxServer-CI
214aa452ae Bot Updating Package Versions 2022-11-10 10:00:28 -06:00
LinuxServer-CI
fd055196e8 Bot Updating Package Versions 2022-11-03 11:17:40 -05:00
LinuxServer-CI
61039b8749 Bot Updating Package Versions 2022-11-02 16:50:55 +00:00
LinuxServer-CI
675eb4ecbf Bot Updating Package Versions 2022-10-27 18:00:26 +02:00
LinuxServer-CI
41efff8e26 Bot Updating Package Versions 2022-10-20 16:14:50 +00:00
TheSpad
1b04bcb2c0
Update test init string 2022-10-17 16:46:11 +01:00
TheSpad
697ce2a9f6
Cleanup db check so it doesn't spam the console 2022-10-17 16:43:46 +01:00
TheSpad
fa84257aea
Remove unnecessary packages 2022-10-17 16:43:34 +01:00
LinuxServer-CI
9ae485a116 Bot Updating Package Versions 2022-10-13 11:11:47 -05:00
Tho Ho
3b2550bfe2
support ipv4|[ipv6]|domain:port; fix Alpine grep P
(cherry picked from commit 1fde0ad70e72c73e8062f4a2d299d2cda9a46dc6)
2022-10-12 03:53:24 +08:00
Eric Nemchik
16c3c51494
Rework logic to account for ipv6 (#1)
Also, always set host and port
2022-10-12 03:52:42 +08:00
Tho Ho
014fb2a376
fix readme-vars: properly escaped password 2022-10-11 16:23:51 +08:00
Tho Ho
ab7571658d
Merge branch 'master' into improve-nc-mysql-host-port
# Conflicts:
#	root/etc/cont-init.d/50-config
2022-10-11 16:19:38 +08:00
LinuxServer-CI
d16c8aab6c Bot Updating Templated Files 2022-10-10 11:27:36 -05:00
driz
2e9e08e3d3
Merge pull request #140 from linuxserver/remove-escape-logic
Remove db_pass escape logic
2022-10-10 12:26:03 -04:00
Tho Ho
60ac384c42
Update README support DB_PORT 2022-10-10 22:59:55 +08:00
Tho Ho
f9bb8bc463
Revert "Update README support DB_PORT"
This reverts commit f033396905edbf21fc232a4772685fc9b3a9d73a.
2022-10-10 22:59:14 +08:00
driz
46db2c5bd0
Update README.md 2022-10-10 10:00:12 -04:00
driz
64446dabf4
Update readme-vars.yml 2022-10-10 09:59:35 -04:00
driz
f224890081
Update README.md 2022-10-10 09:58:22 -04:00
driz
11d8054850
Update readme-vars.yml 2022-10-10 09:56:53 -04:00
driz
d3858977d7
Update 50-config 2022-10-10 07:57:58 -04:00
Tho Ho
10f9699fff
Add DB_HOST= to .env if previous version not have 2022-10-10 15:48:57 +08:00
Tho Ho
f033396905
Update README support DB_PORT 2022-10-10 14:52:34 +08:00
Tho Ho
5fa1132792
Improve grep and seq matching 2022-10-10 14:30:21 +08:00
Tho Ho
71750e16a3
Support DB_PORT 2022-10-09 02:48:57 +08:00
LinuxServer-CI
e19234525a Bot Updating Package Versions 2022-10-07 19:44:06 +02:00
Eric Nemchik
039f6c4a96
Merge pull request #139 from linuxserver/fix-date
Update default.conf.sample
2022-10-07 12:41:14 -05:00
Eric Nemchik
06f369e0d8
Update default.conf.sample 2022-10-06 14:46:20 -05:00
Eric Nemchik
9ee92d89ee
Merge pull request #137 from linuxserver/default_server
Add default_server
2022-10-05 05:36:13 -05:00
Eric Nemchik
b8bd87f083 Add default_server 2022-10-04 16:20:35 -05:00
Tho Ho
9cf173b16b Extract host and port from DB_HOST 2022-09-23 13:56:16 +08:00
LinuxServer-CI
e301c5fb78 Bot Updating Package Versions 2022-09-22 11:03:51 -05:00
LinuxServer-CI
99ac907b96 Bot Updating Templated Files 2022-09-20 14:58:01 +02:00
LinuxServer-CI
91408e7216 Bot Updating Package Versions 2022-09-15 18:01:52 +02:00
LinuxServer-CI
c387f0126e Bot Updating Package Versions 2022-09-08 14:55:03 +02:00
LinuxServer-CI
8d82576559 Bot Updating Package Versions 2022-08-25 18:00:00 +02:00
Eric Nemchik
6b6ecc9bb0
Merge pull request #131 from linuxserver/default-tweaks
nginx conf tweaks
2022-08-23 16:53:16 -05:00
Eric Nemchik
a50d975a98 nginx conf tweaks 2022-08-23 09:54:58 -05:00
Eric Nemchik
df24c3860e
Merge pull request #130 from linuxserver/config-volume
Config volume
2022-08-22 08:07:19 -05:00
Eric Nemchik
313f1e7c0d Keep /config volume consistently 2022-08-21 17:04:32 -05:00
Eric Nemchik
78bd55b349 Keep /config volume consistently 2022-08-21 16:53:05 -05:00
LinuxServer-CI
b7028c984a Bot Updating Package Versions 2022-08-21 16:11:58 +02:00
Eric Nemchik
0dd9c4b46f
Merge pull request #113 from linuxserver/standard-base
Standard base
2022-08-21 09:08:24 -05:00
Eric Nemchik
ed2f423949 Add default location migration 2022-08-20 18:53:43 -05:00
Eric Nemchik
32df06d2ab Use standard nginx.conf from lsio alpine nginx base image 2022-08-20 12:39:27 -05:00
LinuxServer-CI
e3c5253633 Bot Updating Package Versions 2022-08-18 18:10:36 +02:00
LinuxServer-CI
8cf651cdf9 Bot Updating Package Versions 2022-08-11 09:26:30 -05:00
LinuxServer-CI
30d4498b36 Bot Updating Package Versions 2022-08-04 18:00:14 +02:00
LinuxServer-CI
3eb67c59cf Bot Updating Package Versions 2022-08-02 13:25:32 +02:00
LinuxServer-CI
48cc137141 Bot Updating Package Versions 2022-07-28 09:32:58 -05:00
LinuxServer-CI
8a50be63e3 Bot Updating Package Versions 2022-07-21 18:01:05 +02:00
LinuxServer-CI
f80eb7c2c0 Bot Updating Package Versions 2022-07-14 11:00:37 -05:00
LinuxServer-CI
3c5a3e7fd0 Bot Updating Package Versions 2022-07-07 18:00:29 +02:00
LinuxServer-CI
1253e76f12 Bot Updating Package Versions 2022-06-30 18:00:15 +02:00
LinuxServer-CI
3f44534271 Bot Updating Package Versions 2022-06-23 11:00:09 -05:00
LinuxServer-CI
0398dba20e Bot Updating Package Versions 2022-06-16 11:00:23 -05:00
LinuxServer-CI
7c3503a1d0 Bot Updating Package Versions 2022-06-09 11:00:37 -05:00
LinuxServer-CI
750e15a70b Bot Updating Package Versions 2022-06-02 11:00:39 -05:00
LinuxServer-CI
4179bddddc Bot Updating Package Versions 2022-05-30 21:47:49 -05:00
aptalca
7e2f3fe9da
Merge pull request #123 from linuxserver/dbpass-sed
Improve sed and maintain consistency with other database password sed
2022-05-30 22:43:26 -04:00
driz
5a5da8d6e7
Update 50-config
improve sed for password
2022-05-30 16:43:33 -04:00
LinuxServer-CI
1365874f03 Bot Updating Package Versions 2022-05-26 11:00:11 -05:00
LinuxServer-CI
0f60a1839b Bot Updating Package Versions 2022-05-19 11:22:06 -05:00
LinuxServer-CI
3ceb46e54e Bot Updating Package Versions 2022-05-12 11:00:36 -05:00
LinuxServer-CI
09ceb8ec6b Bot Updating Package Versions 2022-05-09 10:32:17 -05:00
LinuxServer-CI
6d78458e97 Bot Updating Package Versions 2022-05-05 18:00:18 +02:00
LinuxServer-CI
4c2f3aa850 Bot Updating Templated Files 2022-05-04 23:27:08 +02:00
LinuxServer-CI
0adab4d872 Bot Updating Templated Files 2022-05-04 16:25:46 -05:00
LinuxServer-CI
6249989ed9 Bot Updating Package Versions 2022-04-28 18:00:39 +02:00
LinuxServer-CI
a13c1a6a25 Bot Updating Package Versions 2022-04-14 11:03:45 -05:00
LinuxServer-CI
cf468f5ac0 Bot Updating Package Versions 2022-04-07 11:01:18 -05:00
LinuxServer-CI
08e142650f Bot Updating Package Versions 2022-03-31 18:00:36 +02:00
LinuxServer-CI
cf331310ea Bot Updating Package Versions 2022-03-24 17:30:11 +01:00
LinuxServer-CI
aa29174802 Bot Updating Package Versions 2022-03-17 11:03:36 -05:00
LinuxServer-CI
1c319760d4 Bot Updating Templated Files 2022-03-14 21:37:57 +01:00
Adam
4755af43b9
Merge pull request #119 from linuxserver/fix-changelog 2022-03-14 20:36:42 +00:00
TheSpad
cd48677611 Add changelog note for #111 2022-03-14 20:16:27 +00:00
Adam
139c220cd9
Merge pull request #111 from rjmidau/custom-themes-folder 2022-03-14 20:14:59 +00:00
LinuxServer-CI
f1b66f3d97 Bot Updating Package Versions 2022-03-10 17:49:36 +01:00
LinuxServer-CI
3c00492f9c Bot Updating Package Versions 2022-03-03 17:24:52 +01:00
LinuxServer-CI
0284885dba Bot Updating Package Versions 2022-02-24 17:00:14 +01:00
LinuxServer-CI
c46e084218 Bot Updating Package Versions 2022-02-17 17:00:31 +01:00
LinuxServer-CI
213b9e38b3 Bot Updating Package Versions 2022-02-10 17:00:55 +01:00
LinuxServer-CI
0e953b9de6 Bot Updating Package Versions 2022-02-06 17:35:57 +01:00
LinuxServer-CI
a59932fda8 Bot Updating Package Versions 2022-02-03 17:00:40 +01:00
LinuxServer-CI
7151ea84a0 Bot Updating Package Versions 2022-01-27 17:00:30 +01:00
LinuxServer-CI
a3116b03c2 Bot Updating Package Versions 2022-01-20 17:00:31 +01:00
LinuxServer-CI
dce5e3c923 Bot Updating Package Versions 2021-12-23 17:00:09 +01:00
LinuxServer-CI
8fa0d63b24 Bot Updating Templated Files 2021-12-22 18:33:14 +01:00
LinuxServer-CI
1c2a823a5e Bot Updating Templated Files 2021-12-22 18:31:46 +01:00
LinuxServer-CI
f95a455dfe Bot Updating Package Versions 2021-11-25 17:00:11 +01:00
LinuxServer-CI
4a1f983115 Bot Updating Package Versions 2021-11-23 22:24:31 +01:00
LinuxServer-CI
ff9f35c37d Bot Updating Package Versions 2021-11-18 17:00:26 +01:00
LinuxServer-CI
4a067d6fe2 Bot Updating Package Versions 2021-11-11 17:00:33 +01:00
LinuxServer-CI
08320221be Bot Updating Package Versions 2021-10-28 17:28:35 +02:00
LinuxServer-CI
579328317e Bot Updating Package Versions 2021-10-25 17:24:55 +02:00
LinuxServer-CI
367cb91e7f Bot Updating Package Versions 2021-10-21 18:16:09 +02:00
LinuxServer-CI
753de3e0f9 Bot Updating Templated Files 2021-10-17 19:32:31 +02:00
aptalca
202c91ef64
Merge pull request #112 from linuxserver/lscr
Add lscr to custom sample comopse
2021-10-17 13:31:18 -04:00
Adam
c4cce37652
Add lscr to custom sample comopse 2021-10-15 21:42:35 +01:00
LinuxServer-CI
f7c9f14d0d Bot Updating Package Versions 2021-10-14 18:00:25 +02:00
Robert Meredith
38b5546950
Create themes folder in config folder and symlink to it 2021-10-09 17:21:35 +11:00
LinuxServer-CI
5524fa4ad6 Bot Updating Package Versions 2021-10-07 18:01:02 +02:00
LinuxServer-CI
0d863316e0 Bot Updating Templated Files 2021-10-04 18:38:42 +02:00
LinuxServer-CI
680ec4752f Bot Updating Templated Files 2021-10-04 18:37:37 +02:00
LinuxServer-CI
9dc6398cf8 Bot Updating Package Versions 2021-09-30 18:00:00 +02:00
LinuxServer-CI
05f0a7f5c7 Bot Updating Package Versions 2021-09-23 18:00:08 +02:00
LinuxServer-CI
fe1b895d7d Bot Updating Package Versions 2021-09-16 18:00:14 +02:00
Alex Phillips
7f19f9775c
Merge pull request #106 from linuxserver/overlayfs-workaround
overlay-fs bug workaround - move to tmp location then move and chown …
2021-09-09 19:48:55 -04:00
Alex Phillips
63a61cf818 overlay-fs bug workaround - move to tmp location then move and chown on init 2021-09-09 17:47:38 -04:00
LinuxServer-CI
8361cd993e Bot Updating Package Versions 2021-09-09 18:00:19 +02:00
LinuxServer-CI
8dba937f96 Bot Updating Package Versions 2021-09-02 18:00:11 +02:00
LinuxServer-CI
1a5a35391f Bot Updating Package Versions 2021-08-31 23:22:36 +02:00
LinuxServer-CI
19ecca019f Bot Updating Package Versions 2021-08-26 18:03:29 +02:00
LinuxServer-CI
ed64d39079 Bot Updating Templated Files 2021-08-26 17:59:37 +02:00
LinuxServer-CI
3aec0b9e49 Bot Updating Package Versions 2021-08-12 18:01:54 +02:00
LinuxServer-CI
3e15b27041 Bot Updating Package Versions 2021-08-05 18:02:21 +02:00
LinuxServer-CI
12d3cd6e98 Bot Updating Package Versions 2021-07-30 20:59:06 +02:00
LinuxServer-CI
a8ee4efc95 Bot Updating Templated Files 2021-07-30 20:55:48 +02:00
LinuxServer-CI
eaef5ad4ca Bot Updating Templated Files 2021-07-30 20:54:23 +02:00
Homer
27e32436fc
Merge pull request #104 from homerr/readme-update
corrected typo
2021-07-30 19:53:00 +01:00
LinuxServer-CI
17e5df5758 Bot Updating Package Versions 2021-07-29 18:01:33 +02:00
LinuxServer-CI
2a666334cc Bot Updating Package Versions 2021-07-22 18:01:15 +02:00
homerr
6b7889860b corrected typo 2021-07-16 09:15:40 +01:00
LinuxServer-CI
08c8fdb44c Bot Updating Package Versions 2021-07-15 16:01:20 +00:00
LinuxServer-CI
da7880db56 Bot Updating Package Versions 2021-07-12 08:21:23 +00:00
LinuxServer-CI
aa41e222b4 Bot Updating Templated Files 2021-07-12 08:18:10 +00:00
Adam
2ace15fcc2
Merge pull request #103 from linuxserver/3.14 2021-07-12 09:16:30 +01:00
Adam
51adb5cf09
Disable web check
Webui won't come up without a valid DB to connect to.
2021-07-11 21:20:25 +01:00
TheSpad
98942d5aaa Rebase to 3.14 2021-07-11 20:01:23 +01:00
Adam
f6fb87fa47
Merge pull request #101 from Kangie/sed-substitution
Escape special characters in DB_PASS environment variable when substituting with sed
2021-07-09 22:08:49 +01:00
Adam
5f15209489
Merge pull request #102 from linuxserver/parallelise-chown 2021-07-09 20:05:58 +01:00
Adam
922d6d1fd7
Parallelise /var/www chown to speed it up
Should help with machines affected by overlay cow bug
2021-07-09 19:40:04 +01:00
LinuxServer-CI
5a4c8ec456 Bot Updating Package Versions 2021-07-08 16:21:52 +00:00
LinuxServer-CI
724eee5a7c Bot Updating Templated Files 2021-07-03 11:21:03 +00:00
LinuxServer-CI
aaa53775ee Bot Updating Templated Files 2021-07-03 11:19:42 +00:00
LinuxServer-CI
f633917892 Bot Updating Package Versions 2021-07-01 12:14:14 -04:00
Matt Jolly
1040cdecbb
Escape special characters in DB_PASS environment variable when
substituting with sed

Characters:
  - /
  - \
  - $
  - &
2021-06-29 14:45:54 +10:00
LinuxServer-CI
387c8dfe83 Bot Updating Package Versions 2021-06-24 16:03:28 +00:00
LinuxServer-CI
250e42f96a Bot Updating Package Versions 2021-06-17 12:09:31 -04:00
LinuxServer-CI
99fca5fec2 Bot Updating Package Versions 2021-06-10 16:14:28 +00:00
aptalca
ea2b9b9525
Merge pull request #99 from linuxserver/env-check
Check for zero length .env on startup
2021-06-07 11:54:42 -04:00
TheSpad
2b230fb5f9 Check for zero length .env on startup 2021-06-07 16:12:00 +01:00
LinuxServer-CI
14b05b93b6 Bot Updating Package Versions 2021-06-04 23:03:57 +00:00
LinuxServer-CI
4a41e2a209 Bot Updating Package Versions 2021-06-03 16:55:18 +00:00
LinuxServer-CI
fdb231bab2 Bot Updating Package Versions 2021-05-27 12:33:13 -04:00
LinuxServer-CI
1bb71e0daf Bot Updating Package Versions 2021-05-20 17:18:46 +01:00
LinuxServer-CI
ed91128c67 Bot Updating Package Versions 2021-04-27 22:33:18 +01:00
LinuxServer-CI
80359a54ce Bot Updating Templated Files 2021-04-19 18:33:27 -04:00
LinuxServer-CI
9e7566b69b Bot Updating Package Versions 2021-04-15 17:11:36 +01:00
LinuxServer-CI
089cfd5eab Bot Updating Templated Files 2021-04-15 16:04:36 +00:00
LinuxServer-CI
73148b55d9 Bot Updating Templated Files 2021-04-15 16:03:02 +00:00
LinuxServer-CI
b52a3014d7 Bot Updating Package Versions 2021-04-09 16:35:09 -04:00
LinuxServer-CI
6f7e03cf00 Bot Updating Package Versions 2021-04-08 16:10:42 +00:00
LinuxServer-CI
31d71344be Bot Updating Package Versions 2021-04-01 12:07:24 -04:00
LinuxServer-CI
842029ffb8 Bot Updating Package Versions 2021-03-25 12:08:42 -04:00
LinuxServer-CI
40811eecde Bot Updating Package Versions 2021-03-11 11:04:23 -05:00
LinuxServer-CI
1cbcff1fe9 Bot Updating Package Versions 2021-02-25 16:06:39 +00:00
LinuxServer-CI
4cca6cf57c Bot Updating Package Versions 2021-02-18 16:15:36 +00:00
LinuxServer-CI
6c95bd8dbf Bot Updating Templated Files 2021-02-18 16:08:19 +00:00
LinuxServer-CI
a9bc31d3e6 Bot Updating Templated Files 2021-02-18 16:07:01 +00:00
LinuxServer-CI
01927677b5 Bot Updating Package Versions 2021-02-11 16:19:36 +00:00
LinuxServer-CI
9b622e8d44 Bot Updating Package Versions 2021-02-06 10:30:17 -05:00
LinuxServer-CI
89c207e407 Bot Updating Package Versions 2021-01-16 19:07:32 +00:00
LinuxServer-CI
23915eb395 Bot Updating Package Versions 2021-01-12 10:15:06 -05:00
aptalca
10c04ea9ee
Merge pull request #77 from linuxserver/remove-unused
Remove unused requirement, as of release 0.31.0
2021-01-12 10:09:17 -05:00
Roxedus
6c706bb699
Remove unused requirement, as of release 0.31.0 2021-01-12 15:49:45 +01:00
LinuxServer-CI
d3a80807fd Bot Updating Package Versions 2021-01-10 07:22:39 -05:00
LinuxServer-CI
7c6a213a5d Bot Updating Package Versions 2020-12-20 07:12:15 -05:00
aptalca
f4c44b0273
Merge pull request #74 from linuxserver/appurl
make APP_URL required, detect changes
2020-12-18 16:32:35 -05:00
aptalca
ebb7fe7925 make APP_URL required, detect changes 2020-12-17 12:42:35 -05:00
LinuxServer-CI
78f4a9e232 Bot Updating Templated Files 2020-12-16 01:00:00 +00:00
Eric Nemchik
5d7a8dc077
Update Jenkinsfile 2020-12-15 18:57:20 -06:00
LinuxServer-CI
87b8155ac6 Bot Updating Templated Files 2020-12-15 19:41:20 +00:00
LinuxServer-CI
92e376e015 Bot Updating Templated Files 2020-12-15 14:35:26 -05:00
LinuxServer-CI
03007efc8b Bot Updating Package Versions 2020-12-14 19:58:27 +00:00
LinuxServer-CI
64d609bba5 Bot Updating Package Versions 2020-12-06 21:41:09 +00:00
LinuxServer-CI
a99d499663 Bot Updating Package Versions 2020-11-30 15:04:57 -05:00
LinuxServer-CI
2fbd598d81 Bot Updating Package Versions 2020-11-02 04:00:12 +00:00
LinuxServer-CI
443c9f1dde Bot Updating Templated Files 2020-11-02 03:55:40 +00:00
thelamer
381ed0984a update baseimages 2020-11-01 19:54:15 -08:00
LinuxServer-CI
ec3e870528 Bot Updating Package Versions 2020-10-26 15:56:02 -04:00
LinuxServer-CI
8edc88059f Bot Updating Package Versions 2020-10-19 18:58:41 +00:00
LinuxServer-CI
ca7a63fdd5 Bot Updating Package Versions 2020-10-12 18:56:37 +00:00
LinuxServer-CI
d5defa6e13 Bot Updating Package Versions 2020-10-05 14:59:56 -04:00
LinuxServer-CI
af9ff73551 Bot Updating Templated Files 2020-10-05 14:53:38 -04:00
LinuxServer-CI
b951132502 Bot Updating Templated Files 2020-10-05 18:52:34 +00:00
Alex Phillips
b24b195369
Merge pull request #65 from Tokugero/master
Resolving php-local.ini mangling
2020-09-20 10:59:36 -04:00
LinuxServer-CI
b2f069f662 Bot Updating Package Versions 2020-09-20 11:40:37 +01:00
Philip Almueti
608466e6e0 Patching previously added erronous lines by replacing them with empty lines instead. 2020-09-19 15:10:26 -07:00
Philip Almueti
047e84e2d2 Adding appropriate regex from original command 2020-09-19 14:39:56 -07:00
Philip Almueti
a1f703cae8 Resolving php-local.ini mangling 2020-09-19 14:33:45 -07:00
LinuxServer-CI
da9df5c537 Bot Updating Package Versions 2020-09-18 03:39:45 +00:00
aptalca
18d9233b6f
Merge pull request #63 from linuxserver/updates
rebase to alpine 3.12, bump php uploads, fix APP_URL
2020-09-17 23:31:05 -04:00
aptalca
8af8464d49 rebase to alpine 3.12, bump php uploads 2020-09-17 16:19:51 -04:00
aptalca
a7309cad9e
Merge pull request #62 from klutchell/master
fix substitution of APP_URL when provided
2020-09-17 15:40:33 -04:00
LinuxServer-CI
8e1aeb970b Bot Updating Package Versions 2020-09-14 14:57:14 -04:00
LinuxServer-CI
78467ce6e8 Bot Updating Package Versions 2020-09-07 14:56:38 -04:00
LinuxServer-CI
4da3353ba2 Bot Updating Package Versions 2020-08-31 15:07:06 -04:00
LinuxServer-CI
57cc75f44a Bot Updating Templated Files 2020-08-24 18:52:29 +00:00
Kyle Harding
4c6c4234cd
fix substitution of APP_URL when provided
https://github.com/linuxserver/docker-bookstack/issues/58
2020-08-18 10:08:56 -04:00
LinuxServer-CI
fd86e7485f Bot Updating Package Versions 2020-08-17 14:56:37 -04:00
LinuxServer-CI
00e4a68b37 Bot Updating Package Versions 2020-08-03 14:59:46 -04:00
LinuxServer-CI
fb438d9e19 Bot Updating Templated Files 2020-08-03 14:53:12 -04:00
LinuxServer-CI
a02202f6e7 Bot Updating Templated Files 2020-08-03 18:52:15 +00:00
LinuxServer-CI
caacf04b1f Bot Updating Package Versions 2020-06-22 18:57:16 +00:00
LinuxServer-CI
2b3f19a00a Bot Updating Package Versions 2020-06-15 18:57:51 +00:00
LinuxServer-CI
4b3cef3284 Bot Updating Package Versions 2020-06-08 19:06:47 +00:00
LinuxServer-CI
5475fd091a Bot Updating Templated Files 2020-06-08 14:51:58 -04:00
LinuxServer-CI
8932c2a2b1 Bot Updating Package Versions 2020-06-01 19:05:20 +00:00
LinuxServer-CI
602352ebb6 Bot Updating Templated Files 2020-06-01 18:51:49 +00:00
LinuxServer-CI
e73081ab9a Bot Updating Package Versions 2020-05-25 19:04:25 +00:00
LinuxServer-CI
d5d65fdaad Bot Updating Package Versions 2020-05-18 19:05:33 +00:00
LinuxServer-CI
7a6592ca1a Bot Updating Package Versions 2020-05-11 18:58:20 +00:00
LinuxServer-CI
1481b6abf9 Bot Updating Templated Files 2020-04-28 12:35:14 +00:00
LinuxServer-CI
235b113bf2 Bot Updating Package Versions 2020-04-27 15:03:51 -04:00
LinuxServer-CI
aa0b7f5ff4 Bot Updating Package Versions 2020-04-20 20:05:07 +01:00
LinuxServer-CI
4e4cc0a083 Bot Updating Package Versions 2020-04-13 15:47:30 +00:00
LinuxServer-CI
5b1a330d14 Bot Updating Templated Files 2020-04-13 11:35:02 -04:00
LinuxServer-CI
31031ec27f Bot Updating Package Versions 2020-04-06 19:04:32 +00:00
LinuxServer-CI
39bf92ae8d Bot Updating Package Versions 2020-03-30 18:59:17 +00:00
LinuxServer-CI
f5f1cf182f Bot Updating Package Versions 2020-03-23 20:56:58 +01:00
LinuxServer-CI
ac96c3e25a Bot Updating Package Versions 2020-03-14 23:47:00 +00:00
LinuxServer-CI
ce0fb99c78 Bot Updating Package Versions 2020-03-09 20:15:34 +00:00
LinuxServer-CI
e1ee9e6744 Bot Updating Package Versions 2020-03-02 20:05:05 +00:00
LinuxServer-CI
63ba087d07 Bot Updating Package Versions 2020-02-24 19:56:57 +00:00
LinuxServer-CI
8f8eb5564e Bot Updating Package Versions 2020-02-15 22:47:39 +00:00
LinuxServer-CI
625079c309 Bot Updating Package Versions 2020-02-03 20:02:47 +00:00
LinuxServer-CI
89b652a284 Bot Updating Package Versions 2020-01-27 20:56:45 +01:00
LinuxServer-CI
4a5c7c7de6 Bot Updating Package Versions 2020-01-10 13:02:27 -05:00
aptalca
03207d2283 implement shorter test run 2020-01-10 09:49:12 -08:00
aptalca
4b78437a98 increase CI delay 2020-01-10 09:49:12 -08:00
aptalca
bcfe590602 update readme 2020-01-10 09:49:12 -08:00
LinuxServer-CI
e3562213d5 Bot Updating Package Versions 2020-01-06 15:05:21 -05:00
LinuxServer-CI
0fed0a9890 Bot Updating Package Versions 2019-12-30 19:59:47 +00:00
LinuxServer-CI
d6da9854c8 Bot Updating Package Versions 2019-12-23 20:57:05 +01:00
LinuxServer-CI
416f5d2120 Bot Updating Package Versions 2019-12-20 20:43:42 +00:00
LinuxServer-CI
29d5a0636f Bot Updating Templated Files 2019-12-20 15:32:42 -05:00
saarg
f2d1165cb8
Merge pull request #52 from linuxserver/master-3.11
Master 3.11
2019-12-20 21:31:11 +01:00
thelamer
4f61df3b9a adding working gaurd and ci run concept that just starts the nginx process skipping mysql stuff 2019-12-20 08:34:52 -08:00
thelamer
185dabdab3 Rebasing to Alpine 3.11 2019-12-19 16:23:20 -08:00
LinuxServer-CI
53f42db8c1 Bot Updating Package Versions 2019-12-16 20:55:56 +01:00
LinuxServer-CI
3336db90fe Bot Updating Templated Files 2019-12-02 14:52:23 -05:00
LinuxServer-CI
3c0730aabc Bot Updating Package Versions 2019-11-18 15:03:42 -05:00
LinuxServer-CI
cc2ff968a7 Bot Updating Package Versions 2019-11-11 14:55:08 -05:00
LinuxServer-CI
470f6127c3 Bot Updating Package Versions 2019-11-04 20:56:42 +01:00
LinuxServer-CI
73ac07a52f Bot Updating Templated Files 2019-11-04 19:51:56 +00:00
LinuxServer-CI
b32490b188 Bot Updating Package Versions 2019-10-28 20:03:24 +00:00
LinuxServer-CI
ceb3a8f9e9 Bot Updating Package Versions 2019-10-26 08:28:08 +01:00
LinuxServer-CI
335b22512e Bot Updating Package Versions 2019-10-14 20:02:12 +01:00
LinuxServer-CI
477a7744b4 Bot Updating Package Versions 2019-10-07 15:06:10 -04:00
LinuxServer-CI
668b7c4c57 Bot Updating Templated Files 2019-10-07 14:53:55 -04:00
LinuxServer-CI
7923be22da Bot Updating Templated Files 2019-10-07 14:53:02 -04:00
LinuxServer-CI
c36d6a9ed3 Bot Updating Package Versions 2019-09-30 15:02:59 -04:00
LinuxServer-CI
7f92d5f9a0 Bot Updating Package Versions 2019-09-23 15:01:40 -04:00
LinuxServer-CI
c58df0719a Bot Updating Templated Files 2019-09-01 06:36:01 -04:00
LinuxServer-CI
d60b17b87e Bot Updating Templated Files 2019-09-01 06:34:59 -04:00
46 changed files with 2447 additions and 1078 deletions

20
.editorconfig Normal file
View File

@ -0,0 +1,20 @@
# This file is globally distributed to all container image projects from
# https://github.com/linuxserver/docker-jenkins-builder/blob/master/.editorconfig
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# trim_trailing_whitespace may cause unintended issues and should not be globally set true
trim_trailing_whitespace = false
[{Dockerfile*,**.yml}]
indent_style = space
indent_size = 2
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

123
.github/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,123 @@
# Contributing to bookstack
## Gotchas
* While contributing make sure to make all your changes before creating a Pull Request, as our pipeline builds each commit after the PR is open.
* Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://linuxserver.io/discord)
## Common files
| File | Use case |
| :----: | --- |
| `Dockerfile` | Dockerfile used to build amd64 images |
| `Dockerfile.aarch64` | Dockerfile used to build 64bit ARM architectures |
| `Dockerfile.armhf` | Dockerfile used to build 32bit ARM architectures |
| `Jenkinsfile` | This file is a product of our builder and should not be edited directly. This is used to build the image |
| `jenkins-vars.yml` | This file is used to generate the `Jenkinsfile` mentioned above, it only affects the build-process |
| `package_versions.txt` | This file is generated as a part of the build-process and should not be edited directly. It lists all the installed packages and their versions |
| `README.md` | This file is a product of our builder and should not be edited directly. This displays the readme for the repository and image registries |
| `readme-vars.yml` | This file is used to generate the `README.md` |
## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-bookstack/edit/master/readme-vars.yml).
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-bookstack)
### Fixing typos or clarify the text in the readme
There are variables for multiple parts of the readme, the most common ones are:
| Variable | Description |
| :----: | --- |
| `project_blurb` | This is the short excerpt shown above the project logo. |
| `app_setup_block` | This is the text that shows up under "Application Setup" if enabled |
### Parameters
The compose and run examples are also generated from these variables.
We have a [reference file](https://github.com/linuxserver/docker-jenkins-builder/blob/master/vars/_container-vars-blank) in our Jenkins Builder.
These are prefixed with `param_` for required parameters, or `opt_param` for optional parameters, except for `cap_add`.
Remember to enable param, if currently disabled. This differs between parameters, and can be seen in the reference file.
Devices, environment variables, ports and volumes expects its variables in a certain way.
### Devices
```yml
param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
opt_param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
```
### Environment variables
```yml
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
opt_param_env_vars:
- { env_var: "VERSION", env_value: "latest", desc: "Supported values are LATEST, PLEXPASS or a specific version number." }
```
### Ports
```yml
param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
opt_param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
```
### Volumes
```yml
param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
opt_param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
```
### Testing template changes
After you make any changes to the templates, you can use our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) to have the files updated from the modified templates. Please use the command found under `Running Locally` [on this page](https://github.com/linuxserver/docker-jenkins-builder/blob/master/README.md) to generate them prior to submitting a PR.
## Dockerfiles
We use multiple Dockerfiles in our repos, this is because sometimes some CPU architectures needs different packages to work.
If you are proposing additional packages to be added, ensure that you added the packages to all the Dockerfiles in alphabetical order.
### Testing your changes
```bash
git clone https://github.com/linuxserver/docker-bookstack.git
cd docker-bookstack
docker build \
--no-cache \
--pull \
-t linuxserver/bookstack:latest .
```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-bookstack/tree/master/root), add an entry to the changelog
```yml
changelogs:
- { date: "DD.MM.YY:", desc: "Added some love to templates" }
```

2
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,2 @@
github: linuxserver
open_collective: linuxserver

View File

@ -1,21 +0,0 @@
<!--- Provide a general summary of the issue in the Title above -->
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you have an issue with the project, please provide us with the following information -->
<!--- Host OS -->
<!--- Command line users, your run/create command, GUI/Unraid users, a screenshot of your template settings. -->
<!--- Docker log output, docker log <container-name> -->
<!--- Mention if you're using symlinks on any of the volume mounts. -->
<!--- If you have a suggestion or fix for the project, please provide us with the following information -->
<!--- What you think your suggestion brings to the project, or fixes with the project -->
<!--- If it's a fix, would it be better suited as a Pull request to the repo ? -->
## Thanks, team linuxserver.io

13
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,13 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://linuxserver.io/discord
about: Realtime support / chat with the community and the team.
- name: Discourse discussion forum
url: https://discourse.linuxserver.io
about: Post on our community forum.
- name: Documentation
url: https://docs.linuxserver.io/images/docker-bookstack
about: Documentation - information about all of our containers.

76
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Normal file
View File

@ -0,0 +1,76 @@
# Based on the issue template
name: Bug report
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: Tell us what happens instead of the expected behavior.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: Tell us what should happen.
validations:
required: false
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **How docker service was installed**: distro's packagemanager
value: |
- OS:
- How docker service was installed:
render: markdown
validations:
required: false
- type: dropdown
attributes:
label: CPU architecture
options:
- x86-64
- arm64
validations:
required: true
- type: textarea
attributes:
label: Docker creation
description: |
Command used to create docker container
Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
render: bash
validations:
required: true
- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs bookstack"
label: Container logs
placeholder: |
Output of `docker logs bookstack`
render: bash
validations:
required: true

View File

@ -0,0 +1,31 @@
# Based on the issue template
name: Feature request
description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
body:
- type: checkboxes
attributes:
label: Is this a new feature request?
description: Please search to see if a feature request already exists.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Wanted change
description: Tell us what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Reason for change
description: Justify your request, why do you want it, what is the benefit.
validations:
required: true
- type: textarea
attributes:
label: Proposed code change
description: Do you have a potential code change in mind?
validations:
required: false

View File

@ -2,14 +2,42 @@
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- Before submitting a pull request please check the following -->
<!--- That you have made a branch in your fork, we'd rather not merge from your master -->
<!--- If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR -->
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
<!--- -->
<!--- We maintain a changelog of major revisions to the container at the end of readme-vars.yml in the root of this repository, please add your changes there if appropriate -->
## Thanks, team linuxserver.io
<!--- Coding guidelines: -->
<!--- 1. Installed packages in the Dockerfiles should be in alphabetical order -->
<!--- 2. Changes to Dockerfile should be replicated in Dockerfile.armhf and Dockerfile.aarch64 if applicable -->
<!--- 3. Indentation style (tabs vs 4 spaces vs 1 space) should match the rest of the document -->
<!--- 4. Readme is auto generated from readme-vars.yml, make your changes there -->
------------------------------
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-bookstack/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------
<!--- We welcome all PRs though this doesnt guarantee it will be accepted. -->
## Description:
<!--- Describe your changes in detail -->
## Benefits of this PR and context:
<!--- Please explain why we should accept this PR. If this fixes an outstanding bug, please reference the issue # -->
## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
## Source / References:
<!--- Please include any forum posts/github links relevant to the PR -->

View File

@ -0,0 +1,19 @@
name: Issue & PR Tracker
on:
issues:
types: [opened,reopened,labeled,unlabeled,closed]
pull_request_target:
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed]
pull_request_review:
types: [submitted,edited,dismissed]
permissions:
contents: read
jobs:
manage-project:
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
secrets: inherit

16
.github/workflows/call_issues_cron.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: '3 9 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
stale:
permissions:
issues: write
pull-requests: write
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
secrets: inherit

147
.github/workflows/external_trigger.yml vendored Normal file
View File

@ -0,0 +1,147 @@
name: External Trigger Main
on:
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: External Trigger
if: github.ref == 'refs/heads/master'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: |
printf "# External trigger for docker-bookstack\n\n" >> $GITHUB_STEP_SUMMARY
if grep -q "^bookstack_master_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`bookstack_master_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^bookstack_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`bookstack_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> External trigger running off of master branch. To disable this trigger, add \`bookstack_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" | jq -r '. | .tag_name')
echo "Type is \`github_stable\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^bookstack_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve external version for bookstack branch master"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-bookstack/actions/runs/${{ github.run_id }}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE_SANITIZED=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
image="linuxserver/bookstack"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fbookstack%3Apull" \
| jq -r '.token')
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.index.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}")
if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# If there's a layer element it's a single-arch manifest so just get that digest
digest=$(jq -r '.config.digest' <<< "${multidigest}")
else
# Otherwise it's multi-arch or has manifest annotations
if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# Check for manifest annotations and delete if found
multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}")
fi
if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then
# If there's still more than one digest, it's multi-arch
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
else
# Otherwise it's single arch
multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}")
fi
if digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}"); then
digest=$(jq -r '.config.digest' <<< "${digest}");
fi
fi
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}")
if [[ $(echo $image_info | jq -r '.container_config') == "null" ]]; then
image_info=$(echo $image_info | jq -r '.config')
else
image_info=$(echo $image_info | jq -r '.container_config')
fi
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve last pushed version for bookstack tag latest"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bookstack/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
exit 0
else
if [[ "${artifacts_found}" == "false" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="New version ${EXT_RELEASE} for bookstack tag latest is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
else
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
echo "New sanitized version \`${EXT_RELEASE_SANITIZED}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
if [[ "${artifacts_found}" == "true" ]]; then
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
fi
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bookstack/job/master/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for bookstack tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
fi

View File

@ -0,0 +1,48 @@
name: External Trigger Scheduler
on:
schedule:
- cron: '19 * * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: External Trigger Scheduler
run: |
printf "# External trigger scheduler for docker-bookstack\n\n" >> $GITHUB_STEP_SUMMARY
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
do
if [[ "${br}" == "HEAD" ]]; then
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
continue
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-bookstack/${br}/jenkins-vars.yml)
ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch')
ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type')
if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then
echo "Branch appears to be live and trigger is not os; checking workflow." >> $GITHUB_STEP_SUMMARY
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-bookstack/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "Triggering external trigger workflow for branch." >> $GITHUB_STEP_SUMMARY
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-bookstack/actions/workflows/external_trigger.yml/dispatches
else
echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi
else
echo "Skipping branch due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY
fi
done

19
.github/workflows/greetings.yml vendored Normal file
View File

@ -0,0 +1,19 @@
name: Greetings
on: [pull_request_target, issues]
permissions:
contents: read
jobs:
greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-bookstack/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -0,0 +1,103 @@
name: Package Trigger Scheduler
on:
schedule:
- cron: '4 18 * * 1'
workflow_dispatch:
permissions:
contents: read
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: Package Trigger Scheduler
env:
SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }}
run: |
printf "# Package trigger scheduler for docker-bookstack\n\n" >> $GITHUB_STEP_SUMMARY
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
do
if [[ "${br}" == "HEAD" ]]; then
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
continue
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-bookstack/${br}/jenkins-vars.yml)
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-bookstack/${br}/Jenkinsfile >/dev/null 2>&1; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY
README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-bookstack/${br}/readme-vars.yml)
if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif grep -q "^bookstack_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`bookstack_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bookstack/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
else
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Triggering package trigger for branch ${br}" >> $GITHUB_STEP_SUMMARY
printf "> To disable, add \`bookstack_%s\` into the Github organizational variable \`SKIP_PACKAGE_TRIGGER\`.\n\n" "${br}" >> $GITHUB_STEP_SUMMARY
triggered_branches="${triggered_branches}${br} "
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bookstack/job/${br}/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
if [[ -z "${response}" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Jenkins build could not be triggered. Skipping branch."
continue
fi
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
if ! curl -ifX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Unable to change the Jenkins job description."
fi
sleep 20
fi
else
echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY
fi
done
if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then
if [[ -n "${triggered_branches}" ]]; then
NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n"
NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-bookstack/activity/ \n"
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
fi
if [[ -n "${skipped_branches}" ]]; then
NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n"
fi
echo "**** Notifying Discord ****"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Package Check Build(s) for bookstack** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi

12
.github/workflows/permissions.yml vendored Normal file
View File

@ -0,0 +1,12 @@
name: Permission check
on:
pull_request_target:
paths:
- '**/run'
- '**/finish'
- '**/check'
- 'root/migrations/*'
jobs:
permission_check:
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1

1
.gitignore vendored
View File

@ -42,3 +42,4 @@ Network Trash Folder
Temporary Items
.apdisk
docker-compose.yml
.jenkins-external

View File

@ -1,74 +1,66 @@
FROM lsiobase/nginx:3.10
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.23
# set version label
ARG BUILD_DATE
ARG VERSION
ARG BOOKSTACK_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="homerr"
LABEL maintainer="thespad"
# package versions
ARG BOOKSTACK_RELEASE
ENV S6_STAGE2_HOOK="/init-hook"
RUN \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
fontconfig \
memcached \
netcat-openbsd \
php7-ctype \
php7-curl \
php7-dom \
php7-gd \
php7-ldap \
php7-mbstring \
php7-memcached \
php7-mysqlnd \
php7-openssl \
php7-pdo_mysql \
php7-phar \
php7-simplexml \
php7-tidy \
php7-tokenizer \
qt5-qtbase \
tar \
ttf-freefont \
wkhtmltopdf && \
echo "**** tidy bug fix ****" && \
curl -s \
http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/tidyhtml-libs-5.4.0-r0.apk | \
tar xfz - -C / && \
rm -f /usr/lib/libtidy.so.5.6.0 && \
echo "**** configure php-fpm ****" && \
sed -i 's/;clear_env = no/clear_env = no/g' /etc/php7/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \
echo "**** fetch bookstack ****" && \
mkdir -p\
/var/www/html && \
if [ -z ${BOOKSTACK_RELEASE+x} ]; then \
BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/bookstack.tar.gz -L \
"https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \
tar xf \
/tmp/bookstack.tar.gz -C \
/var/www/html/ --strip-components=1 && \
echo "**** install composer ****" && \
cd /tmp && \
curl -sS https://getcomposer.org/installer | php && \
mv /tmp/composer.phar /usr/local/bin/composer && \
echo "**** install composer dependencies ****" && \
composer install -d /var/www/html/ && \
echo "**** cleanup ****" && \
rm -rf \
/root/.composer \
/tmp/*
echo "**** install runtime packages ****" && \
apk add --no-cache \
fontconfig \
mariadb-client \
memcached \
php85-dom \
php85-exif \
php85-gd \
php85-ldap \
php85-mysqlnd \
php85-pdo_mysql \
php85-pecl-memcached \
php85-tokenizer \
qt5-qtbase \
ttf-freefont && \
echo "**** configure php-fpm to pass env vars ****" && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php85/php-fpm.d/www.conf && \
if ! grep -qxF 'clear_env = no' /etc/php85/php-fpm.d/www.conf; then echo 'clear_env = no' >> /etc/php85/php-fpm.d/www.conf; fi && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php85/php-fpm.conf && \
echo "**** fetch bookstack ****" && \
mkdir -p\
/app/www && \
if [ -z ${BOOKSTACK_RELEASE+x} ]; then \
BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/bookstack.tar.gz -L \
"https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \
tar xf \
/tmp/bookstack.tar.gz -C \
/app/www/ --strip-components=1 && \
echo "**** install composer dependencies ****" && \
composer install -d /app/www/ && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** create symlinks ****" && \
/bin/bash -c \
'dst=(www/themes www/files www/images www/uploads backups www/framework/cache www/framework/sessions www/framework/views www/framework/purifier log/bookstack/laravel.log www/.env); \
src=(themes storage/uploads/files storage/uploads/images public/uploads storage/backups storage/framework/cache storage/framework/sessions storage/framework/views storage/framework/purifier storage/logs/laravel.log .env); \
for i in "${!src[@]}"; do rm -rf /app/www/"${src[i]}" && ln -s /config/"${dst[i]}" /app/www/"${src[i]}"; done' && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
$HOME/.cache \
$HOME/.composer
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 80 443
VOLUME /config

View File

@ -1,74 +1,66 @@
FROM lsiobase/nginx:arm64v8-3.10
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.23
# set version label
ARG BUILD_DATE
ARG VERSION
ARG BOOKSTACK_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="homerr"
LABEL maintainer="thespad"
# package versions
ARG BOOKSTACK_RELEASE
ENV S6_STAGE2_HOOK="/init-hook"
RUN \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
fontconfig \
memcached \
netcat-openbsd \
php7-ctype \
php7-curl \
php7-dom \
php7-gd \
php7-ldap \
php7-mbstring \
php7-memcached \
php7-mysqlnd \
php7-openssl \
php7-pdo_mysql \
php7-phar \
php7-simplexml \
php7-tidy \
php7-tokenizer \
qt5-qtbase \
tar \
ttf-freefont \
wkhtmltopdf && \
echo "**** tidy bug fix ****" && \
curl -s \
http://dl-cdn.alpinelinux.org/alpine/v3.7/community/aarch64/tidyhtml-libs-5.4.0-r0.apk | \
tar xfz - -C / && \
rm -f /usr/lib/libtidy.so.5.6.0 && \
echo "**** configure php-fpm ****" && \
sed -i 's/;clear_env = no/clear_env = no/g' /etc/php7/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \
echo "**** fetch bookstack ****" && \
mkdir -p\
/var/www/html && \
if [ -z ${BOOKSTACK_RELEASE+x} ]; then \
BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/bookstack.tar.gz -L \
"https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \
tar xf \
/tmp/bookstack.tar.gz -C \
/var/www/html/ --strip-components=1 && \
echo "**** install composer ****" && \
cd /tmp && \
curl -sS https://getcomposer.org/installer | php && \
mv /tmp/composer.phar /usr/local/bin/composer && \
echo "**** install composer dependencies ****" && \
composer install -d /var/www/html/ && \
echo "**** cleanup ****" && \
rm -rf \
/root/.composer \
/tmp/*
echo "**** install runtime packages ****" && \
apk add --no-cache \
fontconfig \
mariadb-client \
memcached \
php85-dom \
php85-exif \
php85-gd \
php85-ldap \
php85-mysqlnd \
php85-pdo_mysql \
php85-pecl-memcached \
php85-tokenizer \
qt5-qtbase \
ttf-freefont && \
echo "**** configure php-fpm to pass env vars ****" && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php85/php-fpm.d/www.conf && \
if ! grep -qxF 'clear_env = no' /etc/php85/php-fpm.d/www.conf; then echo 'clear_env = no' >> /etc/php85/php-fpm.d/www.conf; fi && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php85/php-fpm.conf && \
echo "**** fetch bookstack ****" && \
mkdir -p\
/app/www && \
if [ -z ${BOOKSTACK_RELEASE+x} ]; then \
BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/bookstack.tar.gz -L \
"https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \
tar xf \
/tmp/bookstack.tar.gz -C \
/app/www/ --strip-components=1 && \
echo "**** install composer dependencies ****" && \
composer install -d /app/www/ && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** create symlinks ****" && \
/bin/bash -c \
'dst=(www/themes www/files www/images www/uploads backups www/framework/cache www/framework/sessions www/framework/views www/framework/purifier log/bookstack/laravel.log www/.env); \
src=(themes storage/uploads/files storage/uploads/images public/uploads storage/backups storage/framework/cache storage/framework/sessions storage/framework/views storage/framework/purifier storage/logs/laravel.log .env); \
for i in "${!src[@]}"; do rm -rf /app/www/"${src[i]}" && ln -s /config/"${dst[i]}" /app/www/"${src[i]}"; done' && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
$HOME/.cache \
$HOME/.composer
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 80 443
VOLUME /config

View File

@ -1,69 +0,0 @@
FROM lsiobase/nginx:arm32v7-3.10
# set version label
ARG BUILD_DATE
ARG VERSION
ARG BOOKSTACK_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="homerr"
# package versions
ARG BOOKSTACK_RELEASE
RUN \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
fontconfig \
memcached \
netcat-openbsd \
php7-ctype \
php7-curl \
php7-dom \
php7-gd \
php7-ldap \
php7-mbstring \
php7-memcached \
php7-mysqlnd \
php7-openssl \
php7-pdo_mysql \
php7-phar \
php7-simplexml \
php7-tidy \
php7-tokenizer \
qt5-qtbase \
tar \
ttf-freefont \
wkhtmltopdf && \
echo "**** configure php-fpm ****" && \
sed -i 's/;clear_env = no/clear_env = no/g' /etc/php7/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \
echo "**** fetch bookstack ****" && \
mkdir -p\
/var/www/html && \
if [ -z ${BOOKSTACK_RELEASE+x} ]; then \
BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/bookstack.tar.gz -L \
"https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \
tar xf \
/tmp/bookstack.tar.gz -C \
/var/www/html/ --strip-components=1 && \
echo "**** install composer ****" && \
cd /tmp && \
curl -sS https://getcomposer.org/installer | php && \
mv /tmp/composer.phar /usr/local/bin/composer && \
echo "**** install composer dependencies ****" && \
composer install -d /var/www/html/ && \
echo "**** cleanup ****" && \
rm -rf \
/root/.composer \
/tmp/*
# copy local files
COPY root/ /
# ports and volumes
VOLUME /config

1056
Jenkinsfile vendored

File diff suppressed because it is too large Load Diff

0
LICENSE Executable file → Normal file
View File

425
README.md
View File

@ -1,235 +1,374 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-bookstack/blob/master/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
* regular and timely application updates
* easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
* regular and timely application updates
* easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates
Find us at:
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
# [linuxserver/bookstack](https://github.com/linuxserver/docker-bookstack)
[![](https://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn)
[![](https://images.microbadger.com/badges/version/linuxserver/bookstack.svg)](https://microbadger.com/images/linuxserver/bookstack "Get your own version badge on microbadger.com")
[![](https://images.microbadger.com/badges/image/linuxserver/bookstack.svg)](https://microbadger.com/images/linuxserver/bookstack "Get your own version badge on microbadger.com")
![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/bookstack.svg)
![Docker Stars](https://img.shields.io/docker/stars/linuxserver/bookstack.svg)
[![Build Status](https://ci.linuxserver.io/buildStatus/icon?job=Docker-Pipeline-Builders/docker-bookstack/master)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bookstack/job/master/)
[![](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/bookstack/latest/badge.svg)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/bookstack/latest/index.html)
[Bookstack](https://github.com/BookStackApp/BookStack) is a free and open source Wiki designed for creating beautiful documentation. Feautring a simple, but powerful WYSIWYG editor it allows for teams to create detailed and useful documentation with ease.
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fbookstack?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-bookstack.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-bookstack)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-bookstack.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-bookstack/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-bookstack/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/linuxserver.io/docker-bookstack/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/bookstack)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/bookstack.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/bookstack)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/bookstack.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/bookstack)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-bookstack%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bookstack/job/master/)
[Bookstack](https://github.com/BookStackApp/BookStack) is a free and open source Wiki designed for creating beautiful documentation. Featuring a simple, but powerful WYSIWYG editor it allows for teams to create detailed and useful documentation with ease.
Powered by SQL and including a Markdown editor for those who prefer it, BookStack is geared towards making documentation more of a pleasure than a chore.
For more information on BookStack visit their website and check it out: https://www.bookstackapp.com
[![bookstack](https://s3-us-west-2.amazonaws.com/linuxserver-docs/images/bookstack-logo500x500.png)](https://github.com/BookStackApp/BookStack)
[![bookstack](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bookstack-logo.png)](https://github.com/BookStackApp/BookStack)
## Supported Architectures
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `linuxserver/bookstack` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `lscr.io/linuxserver/bookstack:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
The architectures supported by this image are:
| Architecture | Tag |
| :----: | --- |
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
## Application Setup
The default username is admin@admin.com with the password of **password**, access the container at http://<host ip>:6875.
This application is dependent on a MariaDB database, be it one you already have or a new one. If you do not already have one, we provide an image here https://github.com/linuxserver/docker-mariadb.
If you intend to use this application behind a subfolder reverse proxy, such as our SWAG container or Traefik you will need to make sure that the `APP_URL` environment variable is set to your external domain, or it will not work.
Documentation for BookStack can be found at https://www.bookstackapp.com/docs/.
### BookStack File & Directory Paths
This container ensures certain BookStack application files & folders, such as user file upload folders, are retained within the `/config` folder so that they are persistent & accessible when the `/config` container path is bound as a volume. There may be cases, when following the BookStack documentation, that you'll need to know how these files and folders are used relative to a non-container BookStack installation.
Below is a mapping of container `/config` paths to those relative within a BookStack install directory:
- **/config container path** => **BookStack relative path**
- `/config/www/.env` => `.env`
- `/config/log/bookstack/laravel.log` => `storage/logs/laravel.log`
- `/config/backups/` => `storage/backups/`
- `/config/www/files/` => `storage/uploads/files/`
- `/config/www/images/` => `storage/uploads/images/`
- `/config/www/themes/` => `themes/`
- `/config/www/uploads/` => `public/uploads/`
### Changing APP_URL
If you change the APP_URL after initial install, you should run the following line from your host terminal to update the database URL entries:
```shell
docker exec -it bookstack php /app/www/artisan bookstack:update-url ${OLD_URL} ${NEW_URL}
```
### Advanced Users (full control over the .env file)
If you wish to use the extra functionality of BookStack such as email, LDAP and so on you will need to set additional environment variables or make your own .env file with guidance from the BookStack documentation.
The container will copy an exemplary .env file to /config/www/.env on your host system for you to use.
## Read-Only Operation
This image can be run with a read-only container filesystem. For details please [read the docs](https://docs.linuxserver.io/misc/read-only/).
### Caveats
* `/tmp` must be mounted to tmpfs
## Usage
Here are some example snippets to help you get started creating a container.
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
### docker
>[!NOTE]
>Unless a parameter is flagged as 'optional', it is *mandatory* and a value must be provided.
```
docker create \
--name=bookstack \
-e PUID=1000 \
-e PGID=1000 \
-e DB_HOST=<yourdbhost> \
-e DB_USER=<yourdbuser> \
-e DB_PASS=<yourdbpass> \
-e DB_DATABASE=bookstackapp \
-e APP_URL=http://your.site.here.xyz `#optional` \
-p 6875:80 \
-v <path to data>:/config \
--restart unless-stopped \
linuxserver/bookstack
```
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
### docker-compose
Compatible with docker-compose v2 schemas.
```
```yaml
---
version: "2"
services:
bookstack:
image: linuxserver/bookstack
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- DB_HOST=bookstack_db
- DB_USER=bookstack
- DB_PASS=<yourdbpass>
- DB_DATABASE=bookstackapp
- TZ=Etc/UTC
- APP_URL=
- APP_KEY=
- DB_HOST=
- DB_PORT=3306
- DB_USERNAME=
- DB_PASSWORD=
- DB_DATABASE=
- QUEUE_CONNECTION= #optional
volumes:
- <path to data>:/config
- /path/to/bookstack/config:/config
ports:
- 6875:80
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=<yourdbpass>
- TZ=Europe/London
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=<yourdbpass>
volumes:
- <path to data>:/config
restart: unless-stopped
```
### docker cli ([click here for more info](https://docs.docker.com/engine/reference/commandline/cli/))
```bash
docker run -d \
--name=bookstack \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e APP_URL= \
-e APP_KEY= \
-e DB_HOST= \
-e DB_PORT=3306 \
-e DB_USERNAME= \
-e DB_PASSWORD= \
-e DB_DATABASE= \
-e QUEUE_CONNECTION= `#optional` \
-p 6875:80 \
-v /path/to/bookstack/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/bookstack:latest
```
## Parameters
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
| Parameter | Function |
| :----: | --- |
| `-p 80` | will map the container's port 80 to port 6875 on the host |
| `-p 6875:80` | http/s web interface. |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e DB_HOST=<yourdbhost>` | for specifying the database host |
| `-e DB_USER=<yourdbuser>` | for specifying the database user |
| `-e DB_PASS=<yourdbpass>` | for specifying the database password |
| `-e DB_DATABASE=bookstackapp` | for specifying the database to be used |
| `-e APP_URL=http://your.site.here.xyz` | for specifying the url your application will be accessed on (required for correct operation of reverse proxy) |
| `-v /config` | this will store any uploaded data on the docker host |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
| `-e APP_URL=` | The protocol, IP/URL, and port that your application will be accessed on (ie. `http://192.168.1.1:6875` or `https://bookstack.mydomain.com` |
| `-e APP_KEY=` | Session encryption key. You will need to generate this with `docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey` |
| `-e DB_HOST=` | The database instance hostname |
| `-e DB_PORT=3306` | Database port |
| `-e DB_USERNAME=` | Database user |
| `-e DB_PASSWORD=` | Database password (minimum 4 characters & non-alphanumeric passwords must be properly escaped.) |
| `-e DB_DATABASE=` | Database name |
| `-e QUEUE_CONNECTION=` | Set to `database` to enable async actions like sending email or triggering webhooks. See [documentation](https://www.bookstackapp.com/docs/admin/email-webhooks/#async-action-handling). |
| `-v /config` | Persistent config files |
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
## Environment variables from files (Docker secrets)
You can set any environment variable from a file by using a special prepend `FILE__`.
As an example:
```bash
-e FILE__MYVAR=/run/secrets/mysecretvariable
```
Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
## Umask for running applications
For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional `-e UMASK=022` setting.
Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up [here](https://en.wikipedia.org/wiki/Umask) before asking for support.
## User / Group Identifiers
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
When using volumes (`-v` flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
```
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
```bash
id your_user
```
Example output:
&nbsp;
## Application Setup
```text
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
```
## Docker Mods
The default username is admin@admin.com with the password of **password**, access the container at http://dockerhost:6875.
This application is dependent on a MySQL database be it one you already have or a new one. If you do not already have one, set up our MariaDB container here https://hub.docker.com/r/linuxserver/mariadb/.
If you intend to use this application behind a subfolder reverse proxy, such as our LetsEncrypt container or Traefik you will need to make sure that the `APP_URL` environment variable is set, or it will not work
Documentation for BookStack can be found at https://www.bookstackapp.com/docs/
### Advanced Users (full control over the .env file)
If you wish to use the extra functionality of BookStack such as email, Memcache, LDAP and so on you will need to make your own .env file with guidance from the BookStack documentation.
When you create the container, do not set any arguments for any SQL settings, or APP_URL. The container will copy an .env file to /config/www/.env on your host system for you to edit. When you create the container, do not set any arguments for any SQL settings, or APP_URL. The container will copy an exemplary .env file to /config/www/.env on your host system for you to edit.
#### PDF Rendering
[wkhtmltopdf](https://wkhtmltopdf.org/) is available to use as an alternative PDF rendering generator as described at https://www.bookstackapp.com/docs/admin/pdf-rendering/.
The path to wkhtmltopdf in this image to include in your .env file is `/usr/bin/wkhtmltopdf`.
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=bookstack&query=%24.mods%5B%27bookstack%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=bookstack "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.
## Support Info
* Shell access whilst the container is running: `docker exec -it bookstack /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f bookstack`
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' bookstack`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/bookstack`
* Shell access whilst the container is running:
```bash
docker exec -it bookstack /bin/bash
```
* To monitor the logs of the container in realtime:
```bash
docker logs -f bookstack
```
* Container version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' bookstack
```
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/bookstack:latest
```
## Updating Info
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Below are the instructions for updating containers:
### Via Docker Run/Create
* Update the image: `docker pull linuxserver/bookstack`
* Stop the running container: `docker stop bookstack`
* Delete the container: `docker rm bookstack`
* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* Start the new container: `docker start bookstack`
* You can also remove the old dangling images: `docker image prune`
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Below are the instructions for updating containers:
### Via Docker Compose
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull bookstack`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d bookstack`
* You can also remove the old dangling images: `docker image prune`
### Via Watchtower auto-updater (especially useful if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once bookstack
```
* Update images:
* All images:
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using Docker Compose.
```bash
docker-compose pull
```
* You can also remove the old dangling images: `docker image prune`
* Single image:
```bash
docker-compose pull bookstack
```
* Update containers:
* All containers:
```bash
docker-compose up -d
```
* Single container:
```bash
docker-compose up -d bookstack
```
* You can also remove the old dangling images:
```bash
docker image prune
```
### Via Docker Run
* Update the image:
```bash
docker pull lscr.io/linuxserver/bookstack:latest
```
* Stop the running container:
```bash
docker stop bookstack
```
* Delete the container:
```bash
docker rm bookstack
```
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* You can also remove the old dangling images:
```bash
docker image prune
```
### Image Update Notifications - Diun (Docker Image Update Notifier)
>[!TIP]
>We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally
If you want to make local modifications to these images for development purposes or just to customize the logic:
```
If you want to make local modifications to these images for development purposes or just to customize the logic:
```bash
git clone https://github.com/linuxserver/docker-bookstack.git
cd docker-bookstack
docker build \
--no-cache \
--pull \
-t linuxserver/bookstack:latest .
-t lscr.io/linuxserver/bookstack:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```
docker run --rm --privileged multiarch/qemu-user-static:register --reset
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Versions
* **28.12.25:** - Rebase to Alpine 3.23.
* **05.07.25:** - Rebase to Alpine 3.22.
* **04.01.25:** - Add php-opcache.
* **17.12.24:** - Rebase to Alpine 3.21.
* **11.10.24:** - Default to environment config over .env file config.
* **06.09.24:** - Add php-exif for reading image EXIF data.
* **27.05.24:** - Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings.
* **25.01.24:** - Existing users should update: site-confs/default.conf - Cleanup default site conf.
* **23.12.23:** - Rebase to Alpine 3.19 with php 8.3.
* **31.10.23:** - Further sanitize sed replace.
* **07.06.23:** - Add mariadb-client for bookstack-system-cli support.
* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf.
* **13.04.23:** - Move ssl.conf include to default.conf.
* **01.03.23:** - Add php iconv.
* **19.01.23:** - Rebase to alpine 3.17 with php8.1.
* **16.01.23:** - Wrap `.env` values in quotes.
* **05.01.23:** - Fix db password setting (sed escape `&`).
* **21.12.22:** - Update db info in .env file when env vars are updated.
* **10.10.22:** - Remove password escape logic which caused problems for a small subset of users.
* **20.08.22:** - Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base)).
* **14.03.22:** - Add symlinks for theme support.
* **11.07.21:** - Rebase to Alpine 3.14.
* **12.01.21:** - Remove unused requirement, as of release 0.31.0.
* **17.12.20:** - Make APP_URL var required (upstream changes).
* **17.09.20:** - Rebase to alpine 3.12. Fix APP_URL setting. Bump php post max and upload max filesizes to 100MB by default.
* **19.12.19:** - Rebasing to alpine 3.11.
* **26.07.19:** - Use old version of tidyhtml pending upstream fixes.
* **28.06.19:** - Rebasing to alpine 3.10.
* **14.06.19:** - Add wkhtmltopdf to image for PDF rendering.

View File

@ -19,13 +19,11 @@ repo_vars:
- PR_DOCKERHUB_IMAGE = 'lspipepr/bookstack'
- DIST_IMAGE = 'alpine'
- MULTIARCH = 'true'
- CI = 'true'
- CI_WEB = 'true'
- CI = 'false'
- CI_WEB = 'false'
- CI_PORT = '80'
- CI_SSL = 'false'
- CI_DELAY = '120'
- TEST_MYSQL_HOST = credentials('mysql_test_host')
- TEST_MYSQL_PASSWORD = credentials('mysql_test_password')
- CI_DOCKERENV = 'DB_HOST=${TEST_MYSQL_HOST}|DB_DATABASE=bookstack|DB_USERNAME=root|DB_PASSWORD=${TEST_MYSQL_PASSWORD}'
- CI_AUTH = 'user:password'
- CI_DELAY = '60'
- CI_DOCKERENV=''
- CI_AUTH = ''
- CI_WEBPATH = ''

View File

@ -1,177 +1,296 @@
alpine-baselayout-3.1.2-r0
alpine-keys-2.1-r2
alsa-lib-1.1.9-r0
apache2-utils-2.4.39-r0
apk-tools-2.10.4-r2
apr-1.6.5-r0
apr-util-1.6.1-r6
argon2-libs-20171227-r2
avahi-libs-0.7-r2
bash-5.0.0-r0
busybox-1.30.1-r2
ca-certificates-20190108-r0
ca-certificates-cacert-20190108-r0
cairo-1.16.0-r2
cdparanoia-libs-10.2-r7
coreutils-8.31-r0
cups-libs-2.2.12-r0
curl-7.65.1-r0
db-5.3.28-r1
dbus-libs-1.12.16-r0
encodings-1.0.4-r1
eudev-libs-3.2.8-r0
expat-2.2.7-r0
fontconfig-2.13.1-r0
freetype-2.10.0-r0
fribidi-1.0.5-r1
git-2.22.0-r0
glib-2.60.4-r0
gmp-6.1.2-r1
gnutls-3.6.8-r0
graphite2-1.3.13-r1
gst-plugins-base-1.16.0-r0
gstreamer-1.16.0-r0
harfbuzz-2.5.1-r0
hicolor-icon-theme-0.17-r0
icu-libs-64.2-r0
libacl-2.2.52-r6
libattr-2.4.48-r0
libblkid-2.33.2-r0
libbsd-0.9.1-r0
libbz2-1.0.6-r7
libc-utils-0.7.1-r0
libcrypto1.1-1.1.1c-r0
libcurl-7.65.1-r0
libdrm-2.4.98-r0
libedit-20190324.3.1-r0
libevdev-1.6.0-r0
libevent-2.1.10-r0
libffi-3.2.1-r6
libfontenc-1.1.4-r0
libgcc-8.3.0-r0
libgcrypt-1.8.4-r2
libgpg-error-1.36-r2
libice-1.0.9-r3
libinput-libs-1.13.2-r0
libintl-0.19.8.1-r4
libjpeg-turbo-2.0.2-r0
libldap-2.4.48-r0
libmagic-5.37-r0
libmemcached-libs-1.0.18-r3
libmount-2.33.2-r0
libogg-1.3.3-r2
libpciaccess-0.14-r0
libpcre2-16-10.33-r0
libpng-1.6.37-r1
libressl2.7-libcrypto-2.7.5-r0
libressl2.7-libssl-2.7.5-r0
libsasl-2.1.27-r3
libseccomp-2.4.1-r0
libsm-1.2.3-r0
libssl1.1-1.1.1c-r0
libstdc++-8.3.0-r0
libtasn1-4.14-r0
libtheora-1.1.1-r14
libtls-standalone-2.9.1-r0
libunistring-0.9.10-r0
libuuid-2.33.2-r0
libvorbis-1.3.6-r2
libwebp-1.0.2-r0
libx11-1.6.8-r1
libxau-1.0.9-r0
libxcb-1.13.1-r0
libxcomposite-0.4.5-r0
libxdamage-1.1.5-r0
libxdmcp-1.1.3-r0
libxext-1.3.4-r0
libxfixes-5.0.3-r2
libxft-2.3.3-r0
libxkbcommon-0.8.4-r1
libxkbcommon-x11-0.8.4-r1
libxml2-2.9.9-r2
libxpm-3.5.12-r0
libxrender-0.9.10-r3
libxshmfence-1.3-r0
libxslt-1.1.33-r1
libxt-1.1.5-r2
libxv-1.0.11-r2
libxxf86vm-1.1.4-r2
linux-pam-1.3.0-r1
logrotate-3.15.0-r0
memcached-1.5.16-r0
mesa-19.0.6-r0
mesa-egl-19.0.6-r0
mesa-gbm-19.0.6-r0
mesa-gl-19.0.6-r0
mesa-glapi-19.0.6-r0
mkfontscale-1.2.1-r1
mtdev-1.1.5-r2
musl-1.1.22-r3
musl-utils-1.1.22-r3
nano-4.3-r0
ncurses-libs-6.1_p20190518-r0
ncurses-terminfo-6.1_p20190518-r0
ncurses-terminfo-base-6.1_p20190518-r0
netcat-openbsd-1.130-r1
nettle-3.4.1-r1
nghttp2-libs-1.38.0-r0
nginx-1.16.1-r0
openssl-1.1.1c-r0
opus-1.3.1-r0
orc-0.4.29-r0
p11-kit-0.23.16.1-r0
pango-1.42.4-r2
pcre-8.43-r0
pcre2-10.33-r0
php7-7.3.8-r0
php7-common-7.3.8-r0
php7-ctype-7.3.9-r0
php7-curl-7.3.9-r0
php7-dom-7.3.9-r0
php7-fileinfo-7.3.8-r0
php7-fpm-7.3.8-r0
php7-gd-7.3.9-r0
php7-json-7.3.8-r0
php7-ldap-7.3.9-r0
php7-mbstring-7.3.8-r0
php7-mysqlnd-7.3.9-r0
php7-openssl-7.3.8-r0
php7-pdo-7.3.9-r0
php7-pdo_mysql-7.3.9-r0
php7-pecl-igbinary-3.0.1-r1
php7-pecl-memcached-3.1.3-r2
php7-phar-7.3.9-r0
php7-session-7.3.8-r0
php7-simplexml-7.3.8-r0
php7-tidy-7.3.9-r0
php7-tokenizer-7.3.9-r0
php7-xml-7.3.8-r0
php7-xmlwriter-7.3.8-r0
pixman-0.38.4-r0
popt-1.16-r7
qt5-qtbase-5.12.4-r0
qt5-qtbase-x11-5.12.4-r0
qt5-qtdeclarative-5.12.4-r0
qt5-qtsvg-5.12.4-r0
qt5-qtwebkit-5.9.1-r6
readline-8.0.0-r0
scanelf-1.2.3-r0
shadow-4.6-r2
sqlite-libs-3.28.0-r0
ssl_client-1.30.1-r2
tar-1.32-r0
tidyhtml-libs-5.6.0-r0
ttf-freefont-20120503-r1
tzdata-2019a-r0
wayland-libs-client-1.17.0-r0
wayland-libs-egl-1.17.0-r0
wayland-libs-server-1.17.0-r0
wkhtmltopdf-0.12.5-r0
xcb-util-0.4.0-r1
xcb-util-image-0.4.0-r1
xcb-util-keysyms-0.4.0-r1
xcb-util-renderutil-0.3.9-r1
xcb-util-wm-0.4.1-r1
xz-5.2.4-r0
xz-libs-5.2.4-r0
zlib-1.2.11-r1
NAME VERSION TYPE
Hidden Input 1, 0, 0, 0 binary
acl-libs 2.3.2-r1 apk
alpine-baselayout 3.7.1-r8 apk
alpine-baselayout-data 3.7.1-r8 apk
alpine-keys 2.6-r0 apk
alpine-release 3.23.3-r0 apk
aom-libs 3.13.1-r1 apk
apache2-utils 2.4.66-r0 apk
apk-tools 3.0.4-r0 apk
apr 1.7.6-r0 apk
apr-util 1.6.3-r2 apk
argon2-libs 20190702-r5 apk
aws/aws-crt-php v1.2.7 php-composer
aws/aws-sdk-php 3.369.36 php-composer
bacon/bacon-qr-code v3.0.3 php-composer
bash 5.3.3-r1 apk
brick/math 0.14.8 php-composer
brotli-libs 1.2.0-r0 apk
busybox 1.37.0-r30 apk
busybox-binsh 1.37.0-r30 apk
c-ares 1.34.6-r0 apk
ca-certificates 20251003-r0 apk
ca-certificates-bundle 20251003-r0 apk
carbonphp/carbon-doctrine-types 3.2.0 php-composer
catatonit 0.2.1-r0 apk
composer 2.9.5 binary
coreutils 9.8-r1 apk
coreutils-env 9.8-r1 apk
coreutils-fmt 9.8-r1 apk
coreutils-sha512sum 9.8-r1 apk
curl 8.17.0-r1 apk
dasprid/enum 1.0.7 php-composer
dbus-libs 1.16.2-r1 apk
dflydev/dot-access-data v3.0.3 php-composer
doctrine/inflector 2.1.0 php-composer
doctrine/lexer 3.0.1 php-composer
dompdf/dompdf v3.1.4 php-composer
dompdf/php-font-lib 1.0.2 php-composer
dompdf/php-svg-lib 1.0.2 php-composer
dragonmantank/cron-expression v3.6.0 php-composer
egulias/email-validator 4.0.4 php-composer
encodings 1.1.0-r0 apk
ezyang/htmlpurifier v4.19.0 php-composer
fakerphp/faker v1.24.1 php-composer
filp/whoops 2.18.4 php-composer
findutils 4.10.0-r0 apk
firebase/php-jwt v7.0.2 php-composer
font-freefont 20120503-r4 apk
fontconfig 2.17.1-r0 apk
freetype 2.14.1-r0 apk
fruitcake/php-cors v1.4.0 php-composer
gdbm 1.26-r0 apk
git 2.52.0-r0 apk
git-init-template 2.52.0-r0 apk
glib 2.86.3-r0 apk
graham-campbell/result-type v1.1.4 php-composer
guzzlehttp/guzzle 7.10.0 php-composer
guzzlehttp/promises 2.3.0 php-composer
guzzlehttp/psr7 2.8.0 php-composer
guzzlehttp/uri-template v1.0.5 php-composer
hamcrest/hamcrest-php v2.1.1 php-composer
iamcal/sql-parser v0.7 php-composer
icu-data-full 76.1-r1 apk
icu-libs 76.1-r1 apk
intervention/gif 4.2.4 php-composer
intervention/image 3.11.6 php-composer
itsgoingd/clockwork v5.3.5 php-composer
jq 1.8.1-r0 apk
knplabs/knp-snappy v1.6.0 php-composer
larastan/larastan v3.9.2 php-composer
laravel/framework v12.52.0 php-composer
laravel/prompts v0.3.13 php-composer
laravel/serializable-closure v2.0.9 php-composer
laravel/socialite v5.24.2 php-composer
laravel/tinker v2.11.1 php-composer
league/commonmark 2.8.0 php-composer
league/config v1.2.0 php-composer
league/flysystem 3.31.0 php-composer
league/flysystem-aws-s3-v3 3.31.0 php-composer
league/flysystem-local 3.31.0 php-composer
league/html-to-markdown 5.1.1 php-composer
league/mime-type-detection 1.16.0 php-composer
league/oauth1-client v1.11.0 php-composer
league/oauth2-client 2.9.0 php-composer
league/uri 7.8.0 php-composer
league/uri-interfaces 7.8.0 php-composer
libapk 3.0.4-r0 apk
libattr 2.5.2-r2 apk
libavif 1.3.0-r0 apk
libblkid 2.41.2-r0 apk
libbsd 0.12.2-r0 apk
libbz2 1.0.8-r6 apk
libcrypto3 3.5.5-r0 apk
libcurl 8.17.0-r1 apk
libdav1d 1.5.2-r0 apk
libeconf 0.8.3-r0 apk
libedit 20251016.3.1-r0 apk
libevent 2.1.12-r8 apk
libexpat 2.7.4-r0 apk
libffi 3.5.2-r0 apk
libfontenc 1.1.8-r0 apk
libgcc 15.2.0-r2 apk
libice 1.1.2-r0 apk
libidn2 2.3.8-r0 apk
libintl 0.24.1-r1 apk
libjpeg-turbo 3.1.2-r0 apk
libldap 2.6.10-r0 apk
libmd 1.1.0-r0 apk
libmemcached-libs 1.1.4-r1 apk
libmount 2.41.2-r0 apk
libncursesw 6.5_p20251123-r0 apk
libpcre2-16 10.47-r0 apk
libpng 1.6.54-r0 apk
libproc2 4.0.5-r0 apk
libpsl 0.21.5-r3 apk
libsasl 2.1.28-r9 apk
libseccomp 2.6.0-r1 apk
libsharpyuv 1.6.0-r0 apk
libsm 1.2.6-r0 apk
libssl3 3.5.5-r0 apk
libstdc++ 15.2.0-r2 apk
libunistring 1.4.1-r0 apk
libuuid 2.41.2-r0 apk
libwebp 1.6.0-r0 apk
libx11 1.8.12-r1 apk
libxau 1.0.12-r0 apk
libxcb 1.17.0-r1 apk
libxdmcp 1.1.5-r1 apk
libxext 1.3.6-r2 apk
libxml2 2.13.9-r0 apk
libxpm 3.5.17-r0 apk
libxt 1.3.1-r0 apk
libyuv 0.0.1887.20251502-r1 apk
libzip 1.11.4-r1 apk
linux-pam 1.7.1-r2 apk
logrotate 3.22.0-r0 apk
mariadb-client 11.4.9-r0 apk
mariadb-common 11.4.9-r0 apk
masterminds/html5 2.10.0 php-composer
memcached 1.6.39-r0 apk
mkfontscale 1.2.3-r1 apk
mockery/mockery 1.6.12 php-composer
monolog/monolog 3.10.0 php-composer
mtdowling/jmespath.php 2.8.0 php-composer
musl 1.2.5-r21 apk
musl-utils 1.2.5-r21 apk
myclabs/deep-copy 1.13.4 php-composer
nano 8.7-r0 apk
ncurses-terminfo-base 6.5_p20251123-r0 apk
nesbot/carbon 3.11.1 php-composer
netcat-openbsd 1.234.1-r0 apk
nette/schema v1.3.4 php-composer
nette/utils v4.1.3 php-composer
nghttp2-libs 1.68.0-r0 apk
nghttp3 1.13.1-r0 apk
nginx 1.28.2-r0 apk
nikic/php-parser v5.7.0 php-composer
nunomaduro/collision v8.9.1 php-composer
nunomaduro/termwind v2.4.0 php-composer
onelogin/php-saml 4.3.1 php-composer
oniguruma 6.9.10-r0 apk
openssl 3.5.5-r0 apk
paragonie/constant_time_encoding v3.1.3 php-composer
paragonie/random_compat v9.99.100 php-composer
pcre2 10.47-r0 apk
phar-io/manifest 2.0.4 php-composer
phar-io/version 3.2.1 php-composer
php85 8.5.2-r0 apk
php85-common 8.5.2-r0 apk
php85-ctype 8.5.2-r0 apk
php85-curl 8.5.2-r0 apk
php85-dom 8.5.2-r0 apk
php85-exif 8.5.2-r0 apk
php85-fileinfo 8.5.2-r0 apk
php85-fpm 8.5.2-r0 apk
php85-gd 8.5.2-r0 apk
php85-iconv 8.5.2-r0 apk
php85-ldap 8.5.2-r0 apk
php85-mbstring 8.5.2-r0 apk
php85-mysqlnd 8.5.2-r0 apk
php85-openssl 8.5.2-r0 apk
php85-pdo 8.5.2-r0 apk
php85-pdo_mysql 8.5.2-r0 apk
php85-pecl-igbinary 3.2.17_rc1-r0 apk
php85-pecl-memcached 3.4.0-r0 apk
php85-pecl-msgpack 3.0.0-r0 apk
php85-phar 8.5.2-r0 apk
php85-session 8.5.2-r0 apk
php85-simplexml 8.5.2-r0 apk
php85-sockets 8.5.2-r0 apk
php85-tokenizer 8.5.2-r0 apk
php85-xml 8.5.2-r0 apk
php85-xmlwriter 8.5.2-r0 apk
php85-zip 8.5.2-r0 apk
phpoption/phpoption 1.9.5 php-composer
phpseclib/phpseclib 3.0.49 php-composer
phpstan/phpstan 2.1.39 php-composer
phpunit/php-code-coverage 11.0.12 php-composer
phpunit/php-file-iterator 5.1.1 php-composer
phpunit/php-invoker 5.0.1 php-composer
phpunit/php-text-template 4.0.1 php-composer
phpunit/php-timer 7.0.1 php-composer
phpunit/phpunit 11.5.55 php-composer
popt 1.19-r4 apk
pragmarx/google2fa v9.0.0 php-composer
predis/predis v3.4.0 php-composer
procps-ng 4.0.5-r0 apk
psr/clock 1.0.0 php-composer
psr/container 2.0.2 php-composer
psr/event-dispatcher 1.0.0 php-composer
psr/http-client 1.0.3 php-composer
psr/http-factory 1.1.0 php-composer
psr/http-message 2.0 php-composer
psr/log 3.0.2 php-composer
psr/simple-cache 3.0.0 php-composer
psy/psysh v0.12.20 php-composer
qt5-qtbase 5.15.10_git20230714-r4 apk
ralouphie/getallheaders 3.0.3 php-composer
ramsey/collection 2.1.1 php-composer
ramsey/uuid 4.9.2 php-composer
readline 8.3.1-r0 apk
robrichards/xmlseclibs 3.1.4 php-composer
sabberworm/php-css-parser v9.1.0 php-composer
scanelf 1.3.8-r2 apk
sebastian/cli-parser 3.0.2 php-composer
sebastian/code-unit 3.0.3 php-composer
sebastian/code-unit-reverse-lookup 4.0.1 php-composer
sebastian/comparator 6.3.3 php-composer
sebastian/complexity 4.0.1 php-composer
sebastian/diff 6.0.2 php-composer
sebastian/environment 7.2.1 php-composer
sebastian/exporter 6.3.2 php-composer
sebastian/global-state 7.0.2 php-composer
sebastian/lines-of-code 3.0.1 php-composer
sebastian/object-enumerator 6.0.1 php-composer
sebastian/object-reflector 4.0.1 php-composer
sebastian/recursion-context 6.0.3 php-composer
sebastian/type 5.1.3 php-composer
sebastian/version 5.0.2 php-composer
shadow 4.18.0-r0 apk
skalibs-libs 2.14.4.0-r0 apk
socialiteproviders/discord 4.2.0 php-composer
socialiteproviders/gitlab 4.1.0 php-composer
socialiteproviders/manager v4.8.1 php-composer
socialiteproviders/microsoft-azure 5.2.0 php-composer
socialiteproviders/okta 4.5.0 php-composer
socialiteproviders/twitch 5.4.0 php-composer
squizlabs/php_codesniffer 4.0.1 php-composer
ssddanbrown/asserthtml v3.1.0 php-composer
ssddanbrown/htmldiff v2.0.0 php-composer
ssl_client 1.37.0-r30 apk
staabm/side-effects-detector 1.0.5 php-composer
symfony/clock v7.4.0 php-composer
symfony/console v7.4.4 php-composer
symfony/css-selector v7.4.0 php-composer
symfony/deprecation-contracts v3.6.0 php-composer
symfony/dom-crawler v7.4.4 php-composer
symfony/error-handler v7.4.4 php-composer
symfony/event-dispatcher v7.4.4 php-composer
symfony/event-dispatcher-contracts v3.6.0 php-composer
symfony/filesystem v7.4.0 php-composer
symfony/finder v7.4.5 php-composer
symfony/http-foundation v7.4.5 php-composer
symfony/http-kernel v7.4.5 php-composer
symfony/mailer v7.4.4 php-composer
symfony/mime v7.4.5 php-composer
symfony/polyfill-ctype v1.33.0 php-composer
symfony/polyfill-intl-grapheme v1.33.0 php-composer
symfony/polyfill-intl-idn v1.33.0 php-composer
symfony/polyfill-intl-normalizer v1.33.0 php-composer
symfony/polyfill-mbstring v1.33.0 php-composer
symfony/polyfill-php80 v1.33.0 php-composer
symfony/polyfill-php83 v1.33.0 php-composer
symfony/polyfill-php84 v1.33.0 php-composer
symfony/polyfill-php85 v1.33.0 php-composer
symfony/polyfill-uuid v1.33.0 php-composer
symfony/process v7.4.5 php-composer
symfony/routing v7.4.4 php-composer
symfony/service-contracts v3.6.1 php-composer
symfony/string v7.4.4 php-composer
symfony/translation v7.4.4 php-composer
symfony/translation-contracts v3.6.1 php-composer
symfony/uid v7.4.4 php-composer
symfony/var-dumper v7.4.4 php-composer
thecodingmachine/safe v3.4.0 php-composer
theseer/tokenizer 1.3.1 php-composer
tijsverkoyen/css-to-inline-styles v2.4.0 php-composer
tzdata 2025c-r0 apk
utmps-libs 0.1.3.1-r0 apk
vlucas/phpdotenv v5.6.3 php-composer
voku/portable-ascii 2.0.3 php-composer
xemlock/htmlpurifier-html5 v0.1.12 php-composer
xz-libs 5.8.2-r0 apk
zlib 1.3.1-r2 apk
zstd-libs 1.5.7-r2 apk

View File

@ -3,111 +3,173 @@
# project information
project_name: bookstack
project_url: "https://github.com/BookStackApp/BookStack"
project_logo: "https://s3-us-west-2.amazonaws.com/linuxserver-docs/images/bookstack-logo500x500.png"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bookstack-logo.png"
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Content Management"
project_blurb: |
[{{ project_name|capitalize }}]({{ project_url }}) is a free and open source Wiki designed for creating beautiful documentation. Feautring a simple, but powerful WYSIWYG editor it allows for teams to create detailed and useful documentation with ease.
[{{ project_name|capitalize }}]({{ project_url }}) is a free and open source Wiki designed for creating beautiful documentation. Featuring a simple, but powerful WYSIWYG editor it allows for teams to create detailed and useful documentation with ease.
Powered by SQL and including a Markdown editor for those who prefer it, BookStack is geared towards making documentation more of a pleasure than a chore.
For more information on BookStack visit their website and check it out: https://www.bookstackapp.com
# supported architectures
available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# container parameters
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "<path to data>", desc: "this will store any uploaded data on the docker host" }
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files"}
param_usage_include_env: true
param_env_vars:
- { env_var: "DB_HOST", env_value: "<yourdbhost>", desc: "for specifying the database host" }
- { env_var: "DB_USER", env_value: "<yourdbuser>", desc: "for specifying the database user" }
- { env_var: "DB_PASS", env_value: "<yourdbpass>", desc: "for specifying the database password" }
- { env_var: "DB_DATABASE", env_value: "bookstackapp", desc: "for specifying the database to be used" }
- {env_var: "APP_URL", env_value: "", desc: "The protocol, IP/URL, and port that your application will be accessed on (ie. `http://192.168.1.1:6875` or `https://bookstack.mydomain.com`"}
- {env_var: "APP_KEY", env_value: "", desc: "Session encryption key. You will need to generate this with `docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey`"}
- {env_var: "DB_HOST", env_value: "", desc: "The database instance hostname"}
- {env_var: "DB_PORT", env_value: "3306", desc: "Database port"}
- {env_var: "DB_USERNAME", env_value: "", desc: "Database user"}
- {env_var: "DB_PASSWORD", env_value: "", desc: "Database password (minimum 4 characters & non-alphanumeric passwords must be properly escaped.)"}
- {env_var: "DB_DATABASE", env_value: "", desc: "Database name"}
param_usage_include_ports: true
param_ports:
- { external_port: "6875", internal_port: "80", port_desc: "will map the container's port 80 to port 6875 on the host" }
- {external_port: "6875", internal_port: "80", port_desc: "http/s web interface."}
opt_param_usage_include_env: true
opt_param_env_vars:
- { env_var: "APP_URL", env_value: "http://your.site.here.xyz", desc: "for specifying the url your application will be accessed on (required for correct operation of reverse proxy)"}
custom_compose: |
---
version: "2"
services:
bookstack:
image: linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- DB_HOST=bookstack_db
- DB_USER=bookstack
- DB_PASS=<yourdbpass>
- DB_DATABASE=bookstackapp
volumes:
- <path to data>:/config
ports:
- 6875:80
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=<yourdbpass>
- TZ=Europe/London
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=<yourdbpass>
volumes:
- <path to data>:/config
restart: unless-stopped
- {env_var: "QUEUE_CONNECTION", env_value: "", desc: "Set to `database` to enable async actions like sending email or triggering webhooks. See [documentation](https://www.bookstackapp.com/docs/admin/email-webhooks/#async-action-handling)."}
readonly_supported: true
readonly_message: |
* `/tmp` must be mounted to tmpfs
# application setup block
app_setup_block_enabled: true
app_setup_block: |
The default username is admin@admin.com with the password of **password**, access the container at http://<host ip>:6875.
The default username is admin@admin.com with the password of **password**, access the container at http://dockerhost:6875.
This application is dependent on a MariaDB database, be it one you already have or a new one. If you do not already have one, we provide an image here https://github.com/linuxserver/docker-mariadb.
This application is dependent on a MySQL database be it one you already have or a new one. If you do not already have one, set up our MariaDB container here https://hub.docker.com/r/linuxserver/mariadb/.
If you intend to use this application behind a subfolder reverse proxy, such as our SWAG container or Traefik you will need to make sure that the `APP_URL` environment variable is set to your external domain, or it will not work.
If you intend to use this application behind a subfolder reverse proxy, such as our LetsEncrypt container or Traefik you will need to make sure that the `APP_URL` environment variable is set, or it will not work
Documentation for BookStack can be found at https://www.bookstackapp.com/docs/.
Documentation for BookStack can be found at https://www.bookstackapp.com/docs/
### BookStack File & Directory Paths
This container ensures certain BookStack application files & folders, such as user file upload folders, are retained within the `/config` folder so that they are persistent & accessible when the `/config` container path is bound as a volume. There may be cases, when following the BookStack documentation, that you'll need to know how these files and folders are used relative to a non-container BookStack installation.
Below is a mapping of container `/config` paths to those relative within a BookStack install directory:
- **/config container path** => **BookStack relative path**
- `/config/www/.env` => `.env`
- `/config/log/bookstack/laravel.log` => `storage/logs/laravel.log`
- `/config/backups/` => `storage/backups/`
- `/config/www/files/` => `storage/uploads/files/`
- `/config/www/images/` => `storage/uploads/images/`
- `/config/www/themes/` => `themes/`
- `/config/www/uploads/` => `public/uploads/`
### Changing APP_URL
If you change the APP_URL after initial install, you should run the following line from your host terminal to update the database URL entries:
```shell
docker exec -it bookstack php /app/www/artisan bookstack:update-url ${OLD_URL} ${NEW_URL}
```
### Advanced Users (full control over the .env file)
If you wish to use the extra functionality of BookStack such as email, Memcache, LDAP and so on you will need to make your own .env file with guidance from the BookStack documentation.
When you create the container, do not set any arguments for any SQL settings, or APP_URL. The container will copy an .env file to /config/www/.env on your host system for you to edit. When you create the container, do not set any arguments for any SQL settings, or APP_URL. The container will copy an exemplary .env file to /config/www/.env on your host system for you to edit.
#### PDF Rendering
[wkhtmltopdf](https://wkhtmltopdf.org/) is available to use as an alternative PDF rendering generator as described at https://www.bookstackapp.com/docs/admin/pdf-rendering/.
The path to wkhtmltopdf in this image to include in your .env file is `/usr/bin/wkhtmltopdf`.
If you wish to use the extra functionality of BookStack such as email, LDAP and so on you will need to set additional environment variables or make your own .env file with guidance from the BookStack documentation.
The container will copy an exemplary .env file to /config/www/.env on your host system for you to use.
# init diagram
init_diagram: |
"bookstack:latest": {
docker-mods
base {
fix-attr +\nlegacy cont-init
}
docker-mods -> base
legacy-services
custom services
init-services -> legacy-services
init-services -> custom services
custom services -> legacy-services
legacy-services -> ci-service-check
init-migrations -> init-adduser
init-nginx-end -> init-bookstack-config
init-nginx-end -> init-config
init-os-end -> init-config
init-bookstack-config -> init-config-end
init-config -> init-config-end
init-crontab-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
init-os-end -> init-folders
init-php -> init-keygen
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-samples -> init-nginx
init-version-checks -> init-nginx-end
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-keygen -> init-permissions
init-nginx -> init-php
init-folders -> init-samples
init-custom-files -> init-services
init-permissions -> init-version-checks
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-memcached
svc-memcached -> legacy-services
init-services -> svc-nginx
svc-nginx -> legacy-services
init-services -> svc-php-fpm
svc-php-fpm -> legacy-services
init-services -> svc-queue-worker
svc-queue-worker -> legacy-services
}
Base Images: {
"baseimage-alpine-nginx:3.23" <- "baseimage-alpine:3.23"
}
"bookstack:latest" <- Base Images
# changelog
changelogs:
- { date: "26.07.19:", desc: "Use old version of tidyhtml pending upstream fixes." }
- { date: "28.06.19:", desc: "Rebasing to alpine 3.10." }
- { date: "14.06.19:", desc: "Add wkhtmltopdf to image for PDF rendering." }
- { date: "20.04.19:", desc: "Rebase to Alpine 3.9, add MySQL init logic." }
- { date: "22.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
- { date: "20.01.19:", desc: "Added php7-curl"}
- { date: "04.11.18:", desc: "Added php7-ldap"}
- { date: "15.10.18:", desc: "Changed functionality for advanced users"}
- { date: "08.10.18:", desc: "Advanced mode, symlink changes, sed fixing, docs updated, added some composer files"}
- { date: "23.09.28:", desc: "Updates pre-release"}
- { date: "02.07.18:", desc: "Initial Release." }
- {date: "28.12.25:", desc: "Rebase to Alpine 3.23."}
- {date: "05.07.25:", desc: "Rebase to Alpine 3.22."}
- {date: "04.01.25:", desc: "Add php-opcache."}
- {date: "17.12.24:", desc: "Rebase to Alpine 3.21."}
- {date: "11.10.24:", desc: "Default to environment config over .env file config."}
- {date: "06.09.24:", desc: "Add php-exif for reading image EXIF data."}
- {date: "27.05.24:", desc: "Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings."}
- {date: "25.01.24:", desc: "Existing users should update: site-confs/default.conf - Cleanup default site conf."}
- {date: "23.12.23:", desc: "Rebase to Alpine 3.19 with php 8.3."}
- {date: "31.10.23:", desc: "Further sanitize sed replace."}
- {date: "07.06.23:", desc: "Add mariadb-client for bookstack-system-cli support."}
- {date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf."}
- {date: "13.04.23:", desc: "Move ssl.conf include to default.conf."}
- {date: "01.03.23:", desc: "Add php iconv."}
- {date: "19.01.23:", desc: "Rebase to alpine 3.17 with php8.1."}
- {date: "16.01.23:", desc: "Wrap `.env` values in quotes."}
- {date: "05.01.23:", desc: "Fix db password setting (sed escape `&`)."}
- {date: "21.12.22:", desc: "Update db info in .env file when env vars are updated."}
- {date: "10.10.22:", desc: "Remove password escape logic which caused problems for a small subset of users."}
- {date: "20.08.22:", desc: "Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base))."}
- {date: "14.03.22:", desc: "Add symlinks for theme support."}
- {date: "11.07.21:", desc: "Rebase to Alpine 3.14."}
- {date: "12.01.21:", desc: "Remove unused requirement, as of release 0.31.0."}
- {date: "17.12.20:", desc: "Make APP_URL var required (upstream changes)."}
- {date: "17.09.20:", desc: "Rebase to alpine 3.12. Fix APP_URL setting. Bump php post max and upload max filesizes to 100MB by default."}
- {date: "19.12.19:", desc: "Rebasing to alpine 3.11."}
- {date: "26.07.19:", desc: "Use old version of tidyhtml pending upstream fixes."}
- {date: "28.06.19:", desc: "Rebasing to alpine 3.10."}
- {date: "14.06.19:", desc: "Add wkhtmltopdf to image for PDF rendering."}
- {date: "20.04.19:", desc: "Rebase to Alpine 3.9, add MySQL init logic."}
- {date: "22.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag."}
- {date: "20.01.19:", desc: "Added php7-curl"}
- {date: "04.11.18:", desc: "Added php7-ldap"}
- {date: "15.10.18:", desc: "Changed functionality for advanced users"}
- {date: "08.10.18:", desc: "Advanced mode, symlink changes, sed fixing, docs updated, added some composer files"}
- {date: "23.09.28:", desc: "Updates pre-release"}
- {date: "02.07.18:", desc: "Initial Release."}

9
root/appkey Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
mkdir -p \
/config/www/framework/{cache,sessions,views} \
/config/log/bookstack
touch /config/log/bookstack/laravel.log
php /app/www/artisan key:generate --show --no-ansi

View File

@ -1,39 +0,0 @@
## Version 2018/03/06 - Changelog: https://github.com/linuxserver/docker-heimdall/commits/master/root/defaults/default
server {
listen 80 default_server;
listen 443 ssl;
root /var/www/html/public;
index index.php index.html index.htm;
server_name _;
ssl_certificate /config/keys/cert.crt;
ssl_certificate_key /config/keys/cert.key;
client_max_body_size 0;
error_page 599 = @noauth;
location @noauth {
try_files $uri $uri/ /index.php?$args;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# With php5-cgi alone:
fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}

View File

@ -1,98 +0,0 @@
user abc;
worker_processes 4;
pid /run/nginx.pid;
include /etc/nginx/modules/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
client_max_body_size 0;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /config/log/nginx/access.log;
error_log /config/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /config/nginx/site-confs/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
daemon off;

View File

@ -1,84 +0,0 @@
#!/usr/bin/with-contenv bash
# create directory structure
mkdir -p \
/config/www/{uploads,files,images}
# check for .env and copy default if needed
[[ ! -f "/config/www/.env" ]] && \
cp /var/www/html/.env.example /config/www/.env
# create symlinks
symlinks=( \
/var/www/html/storage/uploads/files \
/var/www/html/storage/uploads/images \
/var/www/html/public/uploads \
/var/www/html/.env \
/var/www/html/storage/logs/laravel.log
)
for i in "${symlinks[@]}"
do
[[ -e "$i" && ! -L "$i" ]] && rm -rf "$i"
[[ ! -L "$i" ]] && ln -s /config/www/"$(basename "$i")" "$i"
done
# Create API key if needed
if [ ! -f "/config/BOOKSTACK_APP_KEY.txt" ];
then
echo "Generating BookStack app key for first run"
key=$(php /var/www/html/artisan key:generate --show)
echo $key > /config/BOOKSTACK_APP_KEY.txt
echo "App Key set to $key you can modify the file to update /config/BOOKSTACK_APP_KEY.txt"
elif [ -f "/config/BOOKSTACK_APP_KEY.txt" ];
then
echo "App Key found - setting variable for seds"
key=$(cat /config/BOOKSTACK_APP_KEY.txt)
fi
# .env file setup
# check for the default app key or if it has been updated
if grep -Fxq "APP_KEY=SomeRandomString" /config/www/.env || \
! grep -Fxq "APP_KEY=${key}" /config/www/.env; then
sed -i "s#^APP_KEY=.*#APP_KEY=${key}#" /config/www/.env
fi
# check to see if db_user is set, if it is then run seds and if not then leave them
if [ "${DB_USER}" ];
then
echo "Running config - db_user set"
sed -i "s/DB_HOST=localhost/DB_HOST=${DB_HOST}/g" /config/www/.env
sed -i "s/DB_DATABASE=database_database/DB_DATABASE=${DB_DATABASE}/g" /config/www/.env
sed -i "s/DB_USERNAME=database_username/DB_USERNAME=${DB_USER}/g" /config/www/.env
sed -i "s/DB_PASSWORD=database_user_password/DB_PASSWORD=${DB_PASS}/g" /config/www/.env
fi
# set appurl if detected
[[ "${APP_URL}" ]] && sed -i "s,#\sAPP_URL.*,APP_URL=${APP_URL},g" /config/www/.env
# check for the mysql endpoint for 30 seconds
END=$((SECONDS+30))
while [ ${SECONDS} -lt ${END} ] && [ "${DB_HOST}" ];
do
/usr/bin/nc -z ${DB_HOST} 3306 && \
if [ ! -z "$(/usr/bin/nc -w1 ${DB_HOST} 3306)" ];
then
[ ! -z "${RUN}" ] && break
RUN="RAN"
# we sleep here again due to first run init on DB containers
[ ! -f /dbwait.lock ] && sleep 5
else
sleep 1
fi
sleep 1
done
# update database - will set up database if fresh, or, migrate existing
php /var/www/html/artisan migrate --force
# set permissions
chown -R abc:abc \
/config \
/var/www/
# set lockfile to avoid DB waits for this specific container
touch /dbwait.lock

View File

@ -0,0 +1,63 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# create directory structure
mkdir -p \
/config/www/{uploads,files,images,themes} \
/config/www/framework/{cache,sessions,views,purifier} \
/config/backups \
/config/log/bookstack
if [[ ! -f /tmp/dbwait.lock ]];then
rm -rf /config/www/framework/{cache,sessions,views,purifier}/*
fi
# check for .env and copy default if needed
if [[ ! -f "/config/www/.env" ]] || [[ ! -s "/config/www/.env" ]]; then
cp /app/www/.env.example /config/www/.env
fi
# Check for app key
if [[ -z ${APP_KEY} ]]; then
if ! grep -qE "APP_KEY=[0-9A-Za-z:+\/=]{1,}" /config/www/.env 2> /dev/null || grep -qE "APP_KEY=SomeRandomString" /config/www/.env 2> /dev/null; then
echo "The application key is missing, halting init!"
echo "You can generate a key with: docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey"
echo "And apply it to the APP_KEY environment variable."
sleep infinity
fi
fi
## Bump php upload max filesize and post max size to 100MB by default
if ! grep -qx '^upload_max_filesize.*$' /config/php/php-local.ini; then
echo 'upload_max_filesize = 100M' >>/config/php/php-local.ini
fi
if ! grep -qx '^post_max_size.*$' /config/php/php-local.ini; then
echo 'post_max_size = 100M' >>/config/php/php-local.ini
fi
# if DB_PORT is not set
if [[ -z "${DB_PORT}" ]]; then
DB_PORT="3306"
fi
# check for the mysql endpoint
echo "Waiting for DB to be available"
END=$((SECONDS + 30))
while [[ ${SECONDS} -lt ${END} ]] && [[ -n "${DB_HOST+x}" ]]; do
if [[ $(/usr/bin/nc -w1 "${DB_HOST}" "${DB_PORT}" | tr -d '\0') ]]; then
if [[ ! -f /tmp/dbwait.lock ]]; then
sleep 5
fi
touch /tmp/dbwait.lock
break
else
sleep 1
fi
done
# update database - will set up database if fresh, or, migrate existing
php /app/www/artisan migrate --force
# permissions
lsiown -R abc:abc \
/config

View File

@ -0,0 +1 @@
oneshot

View File

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-bookstack-config/run

View File

@ -1,2 +1,4 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
exec memcached -u abc

View File

@ -0,0 +1 @@
longrun

View File

@ -0,0 +1,6 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
echo "*** Starting Async Action Queue ***"
exec /usr/bin/php /app/www/artisan queue:work --sleep=3 --tries=1 --max-time=3600

View File

@ -0,0 +1 @@
longrun

View File

@ -1,2 +0,0 @@
#!/usr/bin/with-contenv bash
exec /usr/sbin/php-fpm7 -F

9
root/init-hook Executable file
View File

@ -0,0 +1,9 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
if [[ -n "${QUEUE_CONNECTION}" ]]; then
touch /etc/s6-overlay/s6-rc.d/user/contents.d/svc-queue-worker
fi
exec \
/docker-mods

View File

@ -0,0 +1,11 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
DEFAULT_CONF="/config/nginx/site-confs/default.conf"
OLD_ROOT="root /var/www/html/public;"
NEW_ROOT="root /app/www/public;"
if [[ -f "${DEFAULT_CONF}" ]] && grep -q "${OLD_ROOT}" "${DEFAULT_CONF}" 2>/dev/null; then
echo "updating root in ${DEFAULT_CONF}"
sed -i "s|${OLD_ROOT}|${NEW_ROOT}|" "${DEFAULT_CONF}"
fi

View File

@ -0,0 +1,40 @@
<html>
<head>
<title>Upgrade Required!</title>
<style>
body{
font-family: Helvetica, Arial, sans-serif;
}
.message{
width:440px;
padding:20px 40px;
margin:0 auto;
background-color:#f9f9f9;
border:1px solid #ddd;
color: #1e3d62;
}
center{
margin:40px 0;
}
h1{
font-size: 18px;
line-height: 26px;
}
p{
font-size: 12px;
}
a{
color: rgb(207, 48, 139);
}
</style>
</head>
<body>
<div class="message">
<h1>Upgrade Required!</h1>
<p>The application inside this image has been moved to a new folder.</p>
<p>You will need to update your <strong>/config/nginx/nginx.conf</strong> and <strong>/config/nginx/site-confs/default.conf</strong> in order for the application to work.</p>
<p>New config samples are located at <strong>/config/nginx/nginx.conf.sample</strong> and <strong>/config/nginx/site-confs/default.conf.sample</strong></p>
<p>Please review our announcement: <a target="_blank" href="https://info.linuxserver.io/issues/2022-08-20-nginx-base/">Significant changes to nginx based images</a></p>
</div>
</body>
</html>