mirror of
https://github.com/linuxserver/docker-bookstack.git
synced 2026-02-20 02:30:30 +08:00
Merge branch 'master' into db-check
This commit is contained in:
commit
3d02d092f2
40
.github/ISSUE_TEMPLATE/issue.bug.md
vendored
40
.github/ISSUE_TEMPLATE/issue.bug.md
vendored
@ -1,40 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
|
||||
---
|
||||
[linuxserverurl]: https://linuxserver.io
|
||||
[][linuxserverurl]
|
||||
|
||||
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
|
||||
|
||||
<!--- Provide a general summary of the bug in the Title above -->
|
||||
|
||||
------------------------------
|
||||
|
||||
## Expected Behavior
|
||||
<!--- Tell us what should happen -->
|
||||
|
||||
## Current Behavior
|
||||
<!--- Tell us what happens instead of the expected behavior -->
|
||||
|
||||
## Steps to Reproduce
|
||||
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
||||
<!--- reproduce this bug. Include code to reproduce, if relevant -->
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
|
||||
## Environment
|
||||
**OS:**
|
||||
**CPU architecture:** x86_64/arm32/arm64
|
||||
**How docker service was installed:**
|
||||
<!--- ie. from the official docker repo, from the distro repo, nas OS provided, etc. -->
|
||||
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
|
||||
|
||||
## Command used to create docker container (run/create/compose/screenshot)
|
||||
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container -->
|
||||
|
||||
## Docker logs
|
||||
<!--- Provide a full docker log, output of "docker logs bookstack" -->
|
||||
77
.github/ISSUE_TEMPLATE/issue.bug.yml
vendored
Executable file
77
.github/ISSUE_TEMPLATE/issue.bug.yml
vendored
Executable file
@ -0,0 +1,77 @@
|
||||
# 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
|
||||
- armhf
|
||||
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 linuxserver.io"
|
||||
label: Container logs
|
||||
placeholder: |
|
||||
Output of `docker logs linuxserver.io`
|
||||
render: bash
|
||||
validations:
|
||||
required: true
|
||||
25
.github/ISSUE_TEMPLATE/issue.feature.md
vendored
25
.github/ISSUE_TEMPLATE/issue.feature.md
vendored
@ -1,25 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
|
||||
---
|
||||
[linuxserverurl]: https://linuxserver.io
|
||||
[][linuxserverurl]
|
||||
|
||||
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
|
||||
|
||||
<!--- If this acts as a feature request please 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/ -->
|
||||
|
||||
<!--- Provide a general summary of the request in the Title above -->
|
||||
|
||||
------------------------------
|
||||
|
||||
## Desired Behavior
|
||||
<!--- Tell us what should happen -->
|
||||
|
||||
## Current Behavior
|
||||
<!--- Tell us what happens instead of the expected behavior -->
|
||||
|
||||
## Alternatives Considered
|
||||
<!--- Tell us what other options you have tried or considered -->
|
||||
31
.github/ISSUE_TEMPLATE/issue.feature.yml
vendored
Executable file
31
.github/ISSUE_TEMPLATE/issue.feature.yml
vendored
Executable 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
|
||||
12
.github/workflows/call_invalid_helper.yml
vendored
Normal file
12
.github/workflows/call_invalid_helper.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
name: Comment on invalid interaction
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
jobs:
|
||||
add-comment-on-invalid:
|
||||
if: github.event.label.name == 'invalid'
|
||||
permissions:
|
||||
issues: write
|
||||
uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1
|
||||
secrets: inherit
|
||||
10
.github/workflows/external_trigger.yml
vendored
10
.github/workflows/external_trigger.yml
vendored
@ -7,7 +7,7 @@ jobs:
|
||||
external-trigger-master:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.3
|
||||
- uses: actions/checkout@v3.1.0
|
||||
|
||||
- name: External Trigger
|
||||
if: github.ref == 'refs/heads/master'
|
||||
@ -48,8 +48,12 @@ jobs:
|
||||
| jq -r '.config.digest')
|
||||
image_info=$(curl -sL \
|
||||
--header "Authorization: Bearer ${token}" \
|
||||
"https://ghcr.io/v2/${image}/blobs/${digest}" \
|
||||
| jq -r '.container_config')
|
||||
"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
|
||||
|
||||
@ -9,7 +9,7 @@ jobs:
|
||||
external-trigger-scheduler:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.3
|
||||
- uses: actions/checkout@v3.1.0
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
|
||||
|
||||
2
.github/workflows/greetings.yml
vendored
2
.github/workflows/greetings.yml
vendored
@ -8,6 +8,6 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-bookstack/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-bookstack/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
|
||||
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-bookstack/blob/master/.github/ISSUE_TEMPLATE/issue.bug.yml) or [feature](https://github.com/linuxserver/docker-bookstack/blob/master/.github/ISSUE_TEMPLATE/issue.feature.yml) issue templates!'
|
||||
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 }}
|
||||
|
||||
2
.github/workflows/package_trigger.yml
vendored
2
.github/workflows/package_trigger.yml
vendored
@ -7,7 +7,7 @@ jobs:
|
||||
package-trigger-master:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.3
|
||||
- uses: actions/checkout@v3.1.0
|
||||
|
||||
- name: Package Trigger
|
||||
if: github.ref == 'refs/heads/master'
|
||||
|
||||
@ -9,7 +9,7 @@ jobs:
|
||||
package-trigger-scheduler:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.3
|
||||
- uses: actions/checkout@v3.1.0
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
|
||||
|
||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@ -10,7 +10,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v3
|
||||
- uses: actions/stale@v6.0.1
|
||||
with:
|
||||
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
||||
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
||||
|
||||
4
Jenkinsfile
vendored
4
Jenkinsfile
vendored
@ -59,7 +59,7 @@ pipeline {
|
||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
|
||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
|
||||
env.PULL_REQUEST = env.CHANGE_ID
|
||||
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
|
||||
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
|
||||
}
|
||||
script{
|
||||
env.LS_RELEASE_NUMBER = sh(
|
||||
@ -287,7 +287,7 @@ pipeline {
|
||||
echo "Jenkinsfile is up to date."
|
||||
fi
|
||||
# Stage 2 - Delete old templates
|
||||
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md"
|
||||
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md\n.github/ISSUE_TEMPLATE/issue.bug.md\n.github/ISSUE_TEMPLATE/issue.feature.md"
|
||||
for i in ${OLD_TEMPLATES}; do
|
||||
if [[ -f "${i}" ]]; then
|
||||
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
|
||||
|
||||
@ -101,6 +101,7 @@ services:
|
||||
- PGID=1000
|
||||
- APP_URL=
|
||||
- DB_HOST=bookstack_db
|
||||
- DB_PORT=3306
|
||||
- DB_USER=bookstack
|
||||
- DB_PASS=<yourdbpass>
|
||||
- DB_DATABASE=bookstackapp
|
||||
@ -137,6 +138,7 @@ docker run -d \
|
||||
-e PGID=1000 \
|
||||
-e APP_URL= \
|
||||
-e DB_HOST=<yourdbhost> \
|
||||
-e DB_PORT=<yourdbport> \
|
||||
-e DB_USER=<yourdbuser> \
|
||||
-e DB_PASS=<yourdbpass> \
|
||||
-e DB_DATABASE=bookstackapp \
|
||||
@ -157,9 +159,10 @@ Container images are configured using parameters passed at runtime (such as thos
|
||||
| `-e PGID=1000` | for GroupID - see below for explanation |
|
||||
| `-e APP_URL=` | for specifying the IP:port or URL your application will be accessed on (ie. `http://192.168.1.1:6875` or `https://bookstack.mydomain.com` |
|
||||
| `-e DB_HOST=<yourdbhost>` | for specifying the database host |
|
||||
| `-e DB_PORT=<yourdbport>` | for specifying the database port if not default 3306 |
|
||||
| `-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 (non-alphanumeric passwords must be properly escaped.) |
|
||||
| `-e DB_PASS=<yourdbpass>` | for specifying the database password (non-alphanumeric passwords must be properly escaped.) |
|
||||
| `-e DB_DATABASE=bookstackapp` | for specifying the database to be used |
|
||||
| `-v /config` | this will store any uploaded data on the docker host |
|
||||
|
||||
## Environment variables from files (Docker secrets)
|
||||
@ -271,6 +274,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **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,14 +11,14 @@ busybox-1.34.1-r7
|
||||
ca-certificates-20220614-r0
|
||||
ca-certificates-bundle-20220614-r0
|
||||
coreutils-9.0-r2
|
||||
curl-7.80.0-r3
|
||||
curl-7.80.0-r4
|
||||
dbus-libs-1.12.24-r0
|
||||
encodings-1.0.5-r0
|
||||
expat-2.4.9-r0
|
||||
expat-2.5.0-r0
|
||||
fontconfig-2.13.1-r4
|
||||
freetype-2.11.1-r2
|
||||
gdbm-1.22-r0
|
||||
git-2.34.4-r0
|
||||
git-2.34.5-r0
|
||||
glib-2.70.1-r0
|
||||
icu-libs-69.1-r1
|
||||
libacl-2.2.53-r0
|
||||
@ -27,8 +27,8 @@ libblkid-2.37.4-r0
|
||||
libbsd-0.11.3-r1
|
||||
libbz2-1.0.8-r1
|
||||
libc-utils-0.7.2-r3
|
||||
libcrypto1.1-1.1.1q-r0
|
||||
libcurl-7.80.0-r3
|
||||
libcrypto1.1-1.1.1s-r1
|
||||
libcurl-7.80.0-r4
|
||||
libedit-20210910.3.1-r0
|
||||
libevent-2.1.12-r4
|
||||
libffi-3.4.2-r1
|
||||
@ -48,7 +48,7 @@ libretls-3.3.4-r3
|
||||
libsasl-2.1.28-r0
|
||||
libseccomp-2.5.2-r0
|
||||
libsm-1.2.3-r0
|
||||
libssl1.1-1.1.1q-r0
|
||||
libssl1.1-1.1.1s-r1
|
||||
libstdc++-10.3.1_git20211027-r0
|
||||
libuuid-2.37.4-r0
|
||||
libwebp-1.2.2-r0
|
||||
@ -57,7 +57,7 @@ libxau-1.0.9-r0
|
||||
libxcb-1.14-r2
|
||||
libxdmcp-1.1.3-r0
|
||||
libxext-1.3.4-r0
|
||||
libxml2-2.9.14-r1
|
||||
libxml2-2.9.14-r2
|
||||
libxmu-1.1.3-r0
|
||||
libxpm-3.5.13-r0
|
||||
libxt-1.2.1-r0
|
||||
@ -74,31 +74,31 @@ netcat-openbsd-1.130-r3
|
||||
nghttp2-libs-1.46.0-r0
|
||||
nginx-1.20.2-r1
|
||||
oniguruma-6.9.7.1-r0
|
||||
openssl-1.1.1q-r0
|
||||
openssl-1.1.1s-r1
|
||||
pcre-8.45-r1
|
||||
pcre2-10.40-r0
|
||||
php8-8.0.18-r0
|
||||
php8-common-8.0.18-r0
|
||||
php8-ctype-8.0.18-r0
|
||||
php8-curl-8.0.18-r0
|
||||
php8-dom-8.0.18-r0
|
||||
php8-fileinfo-8.0.18-r0
|
||||
php8-fpm-8.0.18-r0
|
||||
php8-gd-8.0.18-r0
|
||||
php8-ldap-8.0.18-r0
|
||||
php8-mbstring-8.0.18-r0
|
||||
php8-mysqlnd-8.0.18-r0
|
||||
php8-openssl-8.0.18-r0
|
||||
php8-pdo-8.0.18-r0
|
||||
php8-pdo_mysql-8.0.18-r0
|
||||
php8-8.0.25-r0
|
||||
php8-common-8.0.25-r0
|
||||
php8-ctype-8.0.25-r0
|
||||
php8-curl-8.0.25-r0
|
||||
php8-dom-8.0.25-r0
|
||||
php8-fileinfo-8.0.25-r0
|
||||
php8-fpm-8.0.25-r0
|
||||
php8-gd-8.0.25-r0
|
||||
php8-ldap-8.0.25-r0
|
||||
php8-mbstring-8.0.25-r0
|
||||
php8-mysqlnd-8.0.25-r0
|
||||
php8-openssl-8.0.25-r0
|
||||
php8-pdo-8.0.25-r0
|
||||
php8-pdo_mysql-8.0.25-r0
|
||||
php8-pecl-igbinary-3.2.6-r0
|
||||
php8-pecl-memcached-3.1.5-r1
|
||||
php8-phar-8.0.18-r0
|
||||
php8-session-8.0.18-r0
|
||||
php8-simplexml-8.0.18-r0
|
||||
php8-tokenizer-8.0.18-r0
|
||||
php8-xml-8.0.18-r0
|
||||
php8-xmlwriter-8.0.18-r0
|
||||
php8-phar-8.0.25-r0
|
||||
php8-session-8.0.25-r0
|
||||
php8-simplexml-8.0.25-r0
|
||||
php8-tokenizer-8.0.25-r0
|
||||
php8-xml-8.0.25-r0
|
||||
php8-xmlwriter-8.0.25-r0
|
||||
popt-1.18-r0
|
||||
procps-3.3.17-r0
|
||||
qt5-qtbase-5.15.3_git20210713-r5
|
||||
@ -110,7 +110,7 @@ skalibs-2.11.0.0-r0
|
||||
ssl_client-1.34.1-r7
|
||||
tar-1.34-r0
|
||||
ttf-freefont-20120503-r2
|
||||
tzdata-2022c-r0
|
||||
tzdata-2022f-r1
|
||||
utmps-0.1.0.3-r0
|
||||
xdg-utils-1.1.3-r0
|
||||
xprop-1.2.5-r0
|
||||
|
||||
@ -27,9 +27,10 @@ param_usage_include_env: true
|
||||
param_env_vars:
|
||||
- { env_var: "APP_URL", env_value: "", desc: "for specifying the IP:port or URL your application will be accessed on (ie. `http://192.168.1.1:6875` or `https://bookstack.mydomain.com`"}
|
||||
- { env_var: "DB_HOST", env_value: "<yourdbhost>", desc: "for specifying the database host" }
|
||||
- { env_var: "DB_PORT", env_value: "<yourdbport>", desc: "for specifying the database port if not default 3306" }
|
||||
- { 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 (non-alphanumeric passwords must be properly escaped.)" }
|
||||
- { env_var: "DB_PASS", env_value: "<yourdbpass>", desc: "for specifying the database password (non-alphanumeric passwords must be properly escaped.)" }
|
||||
- { env_var: "DB_DATABASE", env_value: "bookstackapp", desc: "for specifying the database to be used" }
|
||||
|
||||
param_usage_include_ports: true
|
||||
param_ports:
|
||||
@ -50,6 +51,7 @@ custom_compose: |
|
||||
- PGID=1000
|
||||
- APP_URL=
|
||||
- DB_HOST=bookstack_db
|
||||
- DB_PORT=3306
|
||||
- DB_USER=bookstack
|
||||
- DB_PASS=<yourdbpass>
|
||||
- DB_DATABASE=bookstackapp
|
||||
@ -101,6 +103,7 @@ app_setup_block: |
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { 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." }
|
||||
|
||||
@ -8,7 +8,7 @@ fi
|
||||
|
||||
# create directory structure
|
||||
mkdir -p \
|
||||
/config/www/{uploads,files,images,themes}
|
||||
/config/www/{uploads,files,images,themes}
|
||||
|
||||
# check for .env and copy default if needed
|
||||
if [[ ! -f "/config/www/.env" ]] || [[ ! -s "/config/www/.env" ]]; then
|
||||
@ -16,22 +16,21 @@ if [[ ! -f "/config/www/.env" ]] || [[ ! -s "/config/www/.env" ]]; then
|
||||
fi
|
||||
|
||||
# create symlinks
|
||||
symlinks=( \
|
||||
/app/www/themes \
|
||||
/app/www/storage/uploads/files \
|
||||
/app/www/storage/uploads/images \
|
||||
/app/www/public/uploads \
|
||||
/app/www/.env \
|
||||
/app/www/storage/logs/laravel.log
|
||||
symlinks=(
|
||||
/app/www/themes
|
||||
/app/www/storage/uploads/files
|
||||
/app/www/storage/uploads/images
|
||||
/app/www/public/uploads
|
||||
/app/www/.env
|
||||
/app/www/storage/logs/laravel.log
|
||||
)
|
||||
|
||||
for i in "${symlinks[@]}"
|
||||
do
|
||||
if [[ -e "$i" && ! -L "$i" ]]; then
|
||||
rm -rf "$i"
|
||||
for i in "${symlinks[@]}"; do
|
||||
if [[ -e "${i}" && ! -L "${i}" ]]; then
|
||||
rm -rf "${i}"
|
||||
fi
|
||||
if [[ ! -L "$i" ]]; then
|
||||
ln -s /config/www/"$(basename "$i")" "$i"
|
||||
if [[ ! -L "${i}" ]]; then
|
||||
ln -s /config/www/"$(basename "${i}")" "${i}"
|
||||
fi
|
||||
done
|
||||
|
||||
@ -41,32 +40,59 @@ if [ -n "${TEST_RUN}" ]; then
|
||||
fi
|
||||
|
||||
# Create API key if needed
|
||||
if [ ! -f "/config/BOOKSTACK_APP_KEY.txt" ];
|
||||
then
|
||||
if [ ! -f "/config/BOOKSTACK_APP_KEY.txt" ]; then
|
||||
echo "Generating BookStack app key for first run"
|
||||
key=$(php /app/www/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 "${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
|
||||
if ! 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
|
||||
|
||||
# if DB_HOST contains a port and DB_HOST is not a IPv6 without brackets [..]
|
||||
# support ipv4:port, [ipv6]:port, and domain:port
|
||||
if [[ ${DB_HOST} =~ :[0-9]+$ ]] && ! [[ ${DB_HOST} =~ ^(:{0,2}[a-fA-F0-9]{1,4})+$ ]]; then
|
||||
DB_HOST_PORT="${DB_HOST}"
|
||||
fi
|
||||
|
||||
# if DB_HOST_PORT is set
|
||||
if [[ -n "${DB_HOST_PORT}" ]]; then
|
||||
# if DB_PORT is set
|
||||
if [[ -n "${DB_PORT}" ]]; then
|
||||
echo "DB_PORT is not supported when using DB_HOST with port"
|
||||
sleep infinity
|
||||
fi
|
||||
DB_HOST="${DB_HOST_PORT%:*}"
|
||||
DB_PORT="${DB_HOST_PORT##*:}"
|
||||
fi
|
||||
|
||||
# if DB_PORT is not set
|
||||
if [[ -z "${DB_PORT}" ]]; then
|
||||
DB_PORT="3306"
|
||||
fi
|
||||
|
||||
# check to see if DB_HOST is set, if it is then run seds and if not then leave them
|
||||
if [[ -n "${DB_HOST}" ]]; then
|
||||
echo "Running config - DB_HOST set"
|
||||
|
||||
if ! grep -xqE "^[#]?DB_PORT=.*" /config/www/.env; then
|
||||
# add DB_PORT line to /config/www/.env because current /app/www/.env.example doesn't have it
|
||||
sed -i -E "/^[#]?DB_HOST=.*/a DB_PORT=${DB_PORT}" /config/www/.env
|
||||
echo "**** Insert DB_PORT=${DB_PORT} into /config/www/.env ****"
|
||||
fi
|
||||
|
||||
sed -i -E "s/^[#]?DB_HOST=.*/DB_HOST=${DB_HOST}/g" /config/www/.env
|
||||
sed -i -E "s/^[#]?DB_PORT=.*/DB_PORT=${DB_PORT}/g" /config/www/.env
|
||||
sed -i -E "s/^[#]?DB_DATABASE=.*/DB_DATABASE=${DB_DATABASE}/g" /config/www/.env
|
||||
sed -i -E "s/^[#]?DB_USERNAME=.*/DB_USERNAME=${DB_USER}/g" /config/www/.env
|
||||
sed -i -E "s/^[#]?DB_PASSWORD=.*/DB_PASSWORD=${DB_PASS}/g" /config/www/.env
|
||||
fi
|
||||
|
||||
# set appurl
|
||||
@ -89,10 +115,10 @@ 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
|
||||
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
|
||||
echo 'post_max_size = 100M' >>/config/php/php-local.ini
|
||||
fi
|
||||
|
||||
# check for the mysql endpoint
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user