Skip to content

Commit

Permalink
install.sh,library.sh,README.md,build-lxd.yml,build-sd-images.yml,vm-…
Browse files Browse the repository at this point in the history
…tests.yml: Default data directory defined as NCDATA in nc-datadir.cfg, allowing NCDATA env var override
  • Loading branch information
twojstaryzdomu committed Jan 4, 2025
1 parent 23f3574 commit 63df341
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 21 deletions.
18 changes: 12 additions & 6 deletions .github/workflows/build-lxd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,8 @@ jobs:
# systemd-run --user --scope -p "Delegate=yes" "$LXC" launch -q "ncp/test" ncp || \
# sudo systemd-run --scope -p "Delegate=yes" "$LXC" launch -q "ncp/test" ncp
# sudo "$LXC" exec ncp -- bash -c 'while [ "$(systemctl is-system-running 2>/dev/null)" != "running" ] && [ "$(systemctl is-system-running 2>/dev/null)" != "degraded" ]; do :; done'
# sudo "$LXC" exec ncp -- rm -f /opt/ncdata/data/nextcloud.log
# NCDATA="$("$LXC" exec ncp -- jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
# sudo "$LXC" exec ncp -- rm -f "${NCDATA}"/data/nextcloud.log
# sleep 30
# ip="$(sudo "$LXC" list -c n4 -f csv | grep '^ncp' | cut -d ',' -f2)"
# ip="${ip/% *}"
Expand Down Expand Up @@ -304,7 +305,8 @@ jobs:
# sudo "$LXC" exec ncp -- bash -c "DBG=x ncp-update-nc ${latest_nc_version?}"
# fi
#
# sudo "$LXC" exec ncp -- rm -f /opt/ncdata/data/nextcloud.log
# NCDATA="$("$LXC" exec ncp -- jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
# sudo "$LXC" exec ncp -- rm -f "${NCDATA}"/data/nextcloud.log
#
# sudo "$LXC" stop ncp
# - name: Relaunch container
Expand Down Expand Up @@ -403,7 +405,8 @@ jobs:
systemd-run --user --scope -p "Delegate=yes" "$LXC" launch -q "${LXC_ARGS[@]}" "ncp/update" ncp || \
sudo systemd-run --scope -p "Delegate=yes" "$LXC" launch -q "${LXC_ARGS[@]}" "ncp/update" ncp
sudo "$LXC" exec ncp -- bash -c 'while [ "$(systemctl is-system-running 2>/dev/null)" != "running" ] && [ "$(systemctl is-system-running 2>/dev/null)" != "degraded" ]; do :; done'
sudo "$LXC" exec ncp -- rm -f /opt/ncdata/data/nextcloud.log
NCDATA="$("$LXC" exec ncp -- jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
sudo "$LXC" exec ncp -- rm -f "${NCDATA}"/data/nextcloud.log
sleep 30
ip="$(sudo "$LXC" list -c n4 -f csv | grep '^ncp' | cut -d ',' -f2)"
ip="${ip/% *}"
Expand Down Expand Up @@ -474,8 +477,9 @@ jobs:
sudo "$LXC" exec ncp -- /usr/local/bin/ncc status
fi
sudo "$LXC" exec ncp -- rm -f /opt/ncdata/data/nextcloud.log

NCDATA="$("$LXC" exec ncp -- jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
sudo "$LXC" exec ncp -- rm -f "${NCDATA}"/data/nextcloud.log

sudo "$LXC" stop ncp
- name: Relaunch container
run: |
Expand Down Expand Up @@ -554,7 +558,9 @@ jobs:
done
fi
sudo "$LXC" exec ncp -- rm -f /opt/ncdata/data/nextcloud.log
NCDATA="$("$LXC" exec ncp -- jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
sudo "$LXC" exec ncp -- rm -f "${NCDATA}"/data/nextcloud.log
sudo "$LXC" stop ncp
- name: Relaunch container
run: |
Expand Down
29 changes: 17 additions & 12 deletions .github/workflows/build-sd-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,7 @@ jobs:
exit 1
}
NCDATA="$("${CONTAINER_CMD[@]}" jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
success=false
for attempt in {1..5}
do
Expand All @@ -294,9 +295,9 @@ jobs:
"${CONTAINER_CMD[@]}" --pipe ncp /bin/bash -c "tail -n20 /var/log/ncp.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
echo "================"
echo "${LOG_DIAG} Nextcloud log: "
"${CONTAINER_CMD[@]}" --pipe -q ncp /bin/bash -c 'ls -l /opt/ncdata/data/nextcloud.log' |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
"${CONTAINER_CMD[@]}" --pipe -q ncp /bin/bash -c 'cat /opt/ncdata/data/nextcloud.log' |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
sudo cat ./raspbian_root/opt/ncdata/data/nextcloud.log |& awk "{ print \"${LOG_DIAG} \" \$0 }"
"${CONTAINER_CMD[@]}" --pipe -q ncp /bin/bash -c "ls -l ${NCDATA}/data/nextcloud.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
"${CONTAINER_CMD[@]}" --pipe -q ncp /bin/bash -c "cat ${NCDATA}/data/nextcloud.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
sudo cat ./raspbian_root/"${NCDATA}"/data/nextcloud.log |& awk "{ print \"${LOG_DIAG} \" \$0 }"
sleep 12
continue
}
Expand All @@ -322,7 +323,7 @@ jobs:
echo "===================="
echo "Nextcloud logs:"
sudo cat ./raspbian_root/opt/ncdata/data/nextcloud.log
sudo cat ./raspbian_root/"${NCDATA}"/data/nextcloud.log
echo "===================="
echo "MySQL logs:"
Expand Down Expand Up @@ -512,6 +513,7 @@ jobs:
# exit 1
# }
#
# NCDATA="$("${CONTAINER_CMD[@]}" jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
# success=false
# for attempt in {1..5}
# do
Expand All @@ -526,8 +528,8 @@ jobs:
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "tail -n20 /var/log/ncp.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# echo "================"
# echo "${LOG_DIAG} Nextcloud log: "
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c 'ls -l /opt/ncdata/data/nextcloud.log' |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c 'cat /opt/ncdata/data/nextcloud.log' |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "ls -l \"${NCDATA}\"/data/nextcloud.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "cat \"${NCDATA}\"/data/nextcloud.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# sleep 12
# continue
# }
Expand Down Expand Up @@ -571,8 +573,9 @@ jobs:
# # "${CONTAINER_CMD[@]}" bash -c "DBG=x ncp-update-nc ${latest_nc_version?}"
# # fi
#
# NCDATA="$("${CONTAINER_CMD[@]}" jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
# sudo machinectl terminate ncp
# sudo rm -f ./raspbian_root/opt/ncdata/data/nextcloud.log
# sudo rm -f ./raspbian_root/"${NCDATA}"/data/nextcloud.log
# - name: Test image after update
# if: ${{ steps.download-previous-image.outputs.skipped == 'false' }}
# run: |
Expand Down Expand Up @@ -660,6 +663,7 @@ jobs:
# exit 1
# }
#
# NCDATA="$("${CONTAINER_CMD[@]}" jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
# success=false
# for attempt in {1..5}
# do
Expand All @@ -674,8 +678,8 @@ jobs:
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "tail -n20 /var/log/ncp.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# echo "================"
# echo "${LOG_DIAG} Nextcloud log: "
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c 'ls -l /opt/ncdata/data/nextcloud.log' |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c 'cat /opt/ncdata/data/nextcloud.log' |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "ls -l \"${NCDATA}\"/data/nextcloud.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "cat \"${NCDATA}\"/data/nextcloud.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# sleep 12
# continue
# }
Expand Down Expand Up @@ -705,8 +709,9 @@ jobs:
# }
# "${CONTAINER_CMD[@]}" DBG=x ncp-dist-upgrade "$VERSION"
#
# NCDATA="$("${CONTAINER_CMD[@]}" jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
# sudo machinectl terminate ncp
# sudo rm -f ./raspbian_root/opt/ncdata/data/nextcloud.log
# sudo rm -f ./raspbian_root/"${NCDATA}"/data/nextcloud.log
#
# - name: Test image after dist-upgrade
# if: ${{ steps.download-previous-image.outputs.skipped == 'false' }}
Expand Down Expand Up @@ -833,8 +838,8 @@ jobs:
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "tail -n20 /var/log/ncp.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# echo "================"
# echo "${LOG_DIAG} Nextcloud log: "
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c 'ls -l /opt/ncdata/data/nextcloud.log' |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c 'cat /opt/ncdata/data/nextcloud.log' |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "ls -l \"${NCDATA}\"/data/nextcloud.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# "${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "cat \"${NCDATA}\"/data/nextcloud.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
# sleep 12
# continue
# }
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/vm-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,8 @@ jobs:
ssh "${SSH_OPTIONS[@]}" "root@${SERVER_ADDRESS}" tail /var/log/ncp.log;
echo "==========================================="
echo "nextcloud.log:"
ssh "${SSH_OPTIONS[@]}" "root@${SERVER_ADDRESS}" tail /opt/ncdata/data/nextcloud.log;
NCDATA="$(ssh "${SSH_OPTIONS[@]}" "root@${SERVER_ADDRESS}" jq -r .params[].value < /usr/local/etc/ncp-config.d/nc-datadir.cfg)"
ssh "${SSH_OPTIONS[@]}" "root@${SERVER_ADDRESS}" tail "${NCDATA}"/data/nextcloud.log;
exit 1
}
echo "test_result=success" >> "$GITHUB_OUTPUT"
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ When set to any value:
- `KEEP_TAR` - do not remove /var/www/nextcloud-${VER}.tar.bz2, useful when the script is re-run multiple times
- `NCHOSTNAME` - overrides the default NC hostname, defined in `etc/ncp.cfg`
- `REINIT` - re-initialise the configuration from scratch: drop NC database & user environment
- `NCDATA` - overrides the NC data directory, defined in `etc/ncp-config.d/nc-datadir.cfg`

NOTE: `sudo -E` is needed to source non-root user environment i.e.

Expand Down
6 changes: 6 additions & 0 deletions etc/library.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,12 @@ NCHOSTNAME=${NCHOSTNAME:-$(jq -r '.nextcloud_hostname | select( . != null )' < "
NCLATESTVER=$(jq -r .nextcloud_version < "$NCPCFG")
PHPVER=$( jq -r .php_version < "$NCPCFG")
RELEASE=$( jq -r .release < "$NCPCFG")
[ -n "${NCDATA}" ] || {
NCDDCFG="${CFGDIR}/nc-datadir.cfg"
[ -f "$NCDDCFG" ] || NCDDCFG="${CFGDIR#/usr/local/}/nc-datadir.cfg"
export NCDATA=$(jq -r .params[].value < "$NCDDCFG")
}
echo "Data directory $NCDATA" >&2
# the default repo in bullseye is bullseye-security
grep -Eh '^deb ' /etc/apt/sources.list | grep "${RELEASE}-security" > /dev/null && RELEASE="${RELEASE}-security"
command -v ncc &>/dev/null && NCVER="$(ncc status 2>/dev/null | grep "version:" | awk '{ print $3 }')"
Expand Down
5 changes: 3 additions & 2 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,16 @@ install_app ncp.sh
run_app_unsafe bin/ncp/CONFIG/nc-init.sh
echo 'Moving data directory to a more sensible location'
df -h
mkdir -p /opt/ncdata
mkdir -p "${NCDATA}"
[[ -f "/usr/local/etc/ncp-config.d/nc-datadir.cfg" ]] || {
should_rm_datadir_cfg=true
cp etc/ncp-config.d/nc-datadir.cfg /usr/local/etc/ncp-config.d/nc-datadir.cfg
}
set_app_param nc-datadir.sh DATADIR "${NCDATA}"
DISABLE_FS_CHECK=1 NCPCFG="/usr/local/etc/ncp.cfg" run_app_unsafe bin/ncp/CONFIG/nc-datadir.sh
[[ -z "$should_rm_datadir_cfg" ]] || rm /usr/local/etc/ncp-config.d/nc-datadir.cfg
rm /.ncp-image
rm -f /opt/ncdata/data/nextcloud.log
rm -f "${NCDATA}"/data/nextcloud.log

# skip on Armbian / Vagrant / LXD ...
[[ "${CODE_DIR}" != "" ]] || bash /usr/local/bin/ncp-provisioning.sh
Expand Down

0 comments on commit 63df341

Please sign in to comment.