forked from 0k/0k-charms
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.6 KiB
69 lines
1.6 KiB
#!/bin/bash
|
|
|
|
. lib/common
|
|
|
|
set -e
|
|
|
|
domain=$(relation-get domain) || exit 1
|
|
url=$(relation-get url) || exit 1
|
|
# location=$CONFIGSTORE/$BASE_SERVICE_NAME/var/www/$domain
|
|
|
|
upload_dir="${SERVICE_DATASTORE}/var/www/$domain/uploads"
|
|
if [ -d "$upload_dir" ]; then
|
|
uid_gid=$(stat --format=%u:%g "$upload_dir")
|
|
else
|
|
err "Upload dir '${upload_dir}' was not created. Can't continue."
|
|
exit 1
|
|
fi
|
|
|
|
dirs=(
|
|
/var/cache/gogocarto
|
|
/var/lib/gogocarto/sessions
|
|
/var/log/gogocarto
|
|
)
|
|
|
|
to_create=()
|
|
for dir in "${dirs[@]}"; do
|
|
fdir="${SERVICE_DATASTORE}${dir}"
|
|
if ! [ -d "$fdir" ]; then
|
|
to_create+=("$fdir")
|
|
fi
|
|
done
|
|
|
|
if [ "${#to_create[@]}" -gt 0 ]; then
|
|
mkdir -p "${to_create[@]}" &&
|
|
chown -v "$uid_gid" "${to_create[@]}" &&
|
|
chmod -v g+rwx "${to_create[@]}"
|
|
fi
|
|
|
|
cat <<EOF >> "${GOGOCARTO_CODE}"/.env
|
|
|
|
BASE_PROTOCOL=${url%%://*}
|
|
BASE_URL=$domain
|
|
BASE_PATH=/index.php
|
|
|
|
EOF
|
|
|
|
|
|
cat <<EOF > "${GOGOCARTO_CODE}"/web/.htaccess
|
|
|
|
Options -MultiViews
|
|
RewriteEngine On
|
|
RewriteRule ^js/.* - [L]
|
|
RewriteCond %{REQUEST_FILENAME} !-f
|
|
RewriteRule ^(.*)$ index.php/\$1 [QSA,L]
|
|
|
|
EOF
|
|
|
|
|
|
config-add "
|
|
services:
|
|
$MASTER_TARGET_SERVICE_NAME:
|
|
volumes:
|
|
- $SERVICE_CONFIGSTORE/opt/apps/gogocarto:/opt/apps/gogocarto:rw
|
|
- $SERVICE_DATASTORE/var/cache/gogocarto:/opt/apps/gogocarto/var/cache:rw
|
|
- $SERVICE_DATASTORE/var/lib/gogocarto/sessions:/opt/apps/gogocarto/var/sessions:rw
|
|
- $SERVICE_DATASTORE/var/log/gogocarto:/opt/apps/gogocarto/var/log:rw
|
|
## Required to give PHP access to this dir
|
|
- $upload_dir:/opt/apps/gogocarto/web/uploads:rw
|
|
"
|