#!/hint/bash -euE # Copyright (C) 2023 Umorpha Systems # SPDX-License-Identifier: AGPL-3.0-or-later load_module "$(dirname -- "${BASH_SOURCE[0]}")/base-uwsgi.sh" load_module "$(dirname -- "${BASH_SOURCE[0]}")/base-nginx.sh" packages+=( uwsgi-plugin-php ) post_install+=(20:bookstack:post_install) bookstack:post_install() { local arg_mountpoint=$1 install -Dm644 /dev/stdin "$arg_mountpoint/etc/nginx/sites/bookstack.conf" <<-'EOF' # -*- mode: nginx; nginx-indent-level: 4; intent-tabs-mode: nil -*- server { server_name bookstack.mothstuff.lol; include /etc/nginx/snippets/listen.conf; root /usr/share/webapps/bookstack/public; index index.php index.html; location /index.php { uwsgi_cache_key $host$request_uri; uwsgi_cache_valid 5m; include uwsgi_params; uwsgi_modifier1 14; # Standard PHP request uwsgi_pass unix:/run/uwsgi/bookstack.sock; } } EOF install -Dm600 /dev/stdin "$arg_mountpoint/etc/webapps/bookstack/config.env" <<-'EOF' APP_KEY=@APP_KEY@ APP_URL=https://bookstack.mothstuff.lol DB_HOST=localhost DB_DATABASE=bookstack DB_USERNAME=bookstack DB_PASSWORD=@DB_PASSWORD@ MAIL_DRIVER=smtp MAIL_HOST=mail.infomaniak.com MAIL_PORT=465 MAIL_ENCRYPTION=tls MAIL_USERNAME=bookstack@umorpha.io MAIL_PASSWORD=@MAIL_PASSWORD@ MAIL_FROM=lukeshu@umorpha.io MAIL_FROM="Umorpha BookStack" AUTH_METHOD=oidc AUTH_AUTO_INITIATE=true OIDC_NAME=Infomaniak OIDC_DISPLAY_NAME_CLAIMS=name OIDC_CLIENT_ID=@CLIENT_ID@ OIDC_CLIENT_SECRET=@CLIENT_SECRET@ OIDC_ISSUER=https://login.infomaniak.com OIDC_ISSUER_DISCOVER=true EOF install -Dm600 /dev/stdin "$arg_mountpoint/etc/uwsgi/bookstack.ini" <<-'EOF' [uwsgi] master = true processes = 4 uid = %n gid = http plugins = php php-set = extension=gd.so EOF systemctl --root="$arg_mountpoint" enable uwsgi@bookstack.socket }