mirror of
https://github.com/nextcloud/nextcloudpi.git
synced 2026-01-08 06:02:01 -03:30
nc-encrypt.sh: Fix detection of running encryption
Signed-off-by: Tobias Knöppler <6317548+theCalcaholic@users.noreply.github.com>
This commit is contained in:
parent
93f76ec8f8
commit
0e40867347
12
.github/workflows/build-sd-images.yml
vendored
12
.github/workflows/build-sd-images.yml
vendored
@ -282,20 +282,20 @@ jobs:
|
||||
echo -e "${LOG_DIAG} /etc/os-release:"
|
||||
"${CONTAINER_CMD[@]}" -q ncp /bin/bash -c 'cat /etc/os-release'
|
||||
echo -e "${LOG_DIAG} /usr/local/etc/ncp.cfg:"
|
||||
"${CONTAINER_CMD[@]}" -q ncp /bin/bash -c 'cat /usr/local/etc/ncp.cfg'
|
||||
"${CONTAINER_CMD[@]}" --pipe -q ncp /bin/bash -c 'cat /usr/local/etc/ncp.cfg'
|
||||
cat ./raspbian_root/usr/local/etc/ncp.cfg
|
||||
echo -e "${LOG_DIAG} /home/ncp-app-bridge confi g ncp"
|
||||
"${CONTAINER_CMD[@]}" -q ncp /bin/bash -c 'sudo -u www-data sudo /home/www/ncp-app-bridge.sh config ncp'
|
||||
echo -e "${LOG_DIAG} /home/ncp-app-bridge config ncp"
|
||||
sudo ls -l ./raspbian_root/home/www/ncp-app-bridge.sh
|
||||
"${CONTAINER_CMD[@]}" --pipe --uid=33 ncp /bin/bash -c 'sudo /home/www/ncp-app-bridge.sh config ncp'
|
||||
echo -e "{$LOG_DIAG} Geckodriver logs:"
|
||||
tail -n 20 geckodriver.log >&2 |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
|
||||
echo -e "${LOG_CICD} ================"
|
||||
echo -e "${LOG_DIAG} ncp.log: "
|
||||
"${CONTAINER_CMD[@]}" -q ncp /bin/bash -c "tail -n20 /var/log/ncp.log" |& awk "{ print \"${LOG_DIAG} \" \$0 }" || true
|
||||
"${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[@]}" -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[@]}" --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 }"
|
||||
sleep 12
|
||||
continue
|
||||
|
||||
@ -20,14 +20,14 @@ install()
|
||||
|
||||
configure()
|
||||
{
|
||||
(
|
||||
|
||||
set -e -o pipefail
|
||||
local datadir parentdir encdir tmpdir
|
||||
datadir="$(get_ncpcfg datadir)"
|
||||
[[ "${datadir?}" == "null" ]] && datadir=/var/www/nextcloud/data
|
||||
parentdir="$(dirname "${datadir}")"
|
||||
encdir="${parentdir?}/ncdata_enc"
|
||||
tmpdir="$(mktemp -u -p "${parentdir}" -t nc-data-crypt.XXXXXX))"
|
||||
tmpdir="$(mktemp -u -p "${parentdir}" -t nc-data-crypt.XXXXXX)"
|
||||
|
||||
[[ "${ACTIVE?}" != "yes" ]] && {
|
||||
if ! is_active; then
|
||||
@ -59,7 +59,7 @@ configure()
|
||||
# Just mount already encrypted data
|
||||
if [[ -f "${encdir?}"/gocryptfs.conf ]]; then
|
||||
systemctl reset-failed ncp-encrypt ||:
|
||||
systemd-run -u ncp-encrypt -E PASSWORD bash -c "gocryptfs -allow_other -q '${encdir}' '${datadir}' <<<\"\${PASSWORD}\" 2>&1 | sed /^Switch/d |& tee /var/log/ncp-encrypt.log"
|
||||
systemd-run -u ncp-encrypt -E PASSWORD bash -c "gocryptfs -fg -allow_other -q '${encdir}' '${datadir}' <<<\"\${PASSWORD}\" 2>&1 | sed /^Switch/d |& tee /var/log/ncp-encrypt.log"
|
||||
|
||||
# switch to the regular virtual hosts after we decrypt, so we can access NC and ncp-web
|
||||
a2ensite ncp 001-nextcloud
|
||||
@ -72,13 +72,33 @@ configure()
|
||||
mkdir -p "${encdir?}"
|
||||
echo "${PASSWORD?}" | gocryptfs -init -q "${encdir}"
|
||||
save_maintenance_mode
|
||||
cleanup() {
|
||||
umount "${datadir}" ||:
|
||||
[[ -f "${tmpdir}" ]] && {
|
||||
rm -rf "${datadir?}" ||:
|
||||
mv "${tmpdir}" "${datadir}"
|
||||
|
||||
chown -R www-data:www-data "${datadir}"
|
||||
}
|
||||
}
|
||||
|
||||
trap cleanup 1
|
||||
trap restore_maintenance_mode EXIT
|
||||
|
||||
mv "${datadir?}" "${tmpdir?}"
|
||||
|
||||
mkdir "${datadir}"
|
||||
systemctl reset-failed ncp-encrypt ||:
|
||||
systemd-run -u ncp-encrypt -E PASSWORD bash -c "gocryptfs -allow_other -q '${encdir}' '${datadir}' <<<\"\${PASSWORD}\" 2>&1 | sed /^Switch/d |& tee /var/log/ncp-encrypt.log"
|
||||
systemd-run -u ncp-encrypt -E PASSWORD bash -c "gocryptfs -fg -allow_other -q '${encdir}' '${datadir}' <<<\"\${PASSWORD}\" 2>&1 | sed /^Switch/d |& tee /var/log/ncp-encrypt.log"
|
||||
|
||||
maxtries=5
|
||||
while [[ "$(systemctl is-active ncp-encrypt)" != "active" ]] || ! mount | grep -1 "${datadir}"
|
||||
do
|
||||
echo "Wating for encryption process to start... (${maxtries})"
|
||||
sleep 3
|
||||
maxtries=$((maxtries - 1))
|
||||
[[ $maxtries -gt 0 ]] || return 1
|
||||
done
|
||||
|
||||
echo "Encrypting data..."
|
||||
mv "${tmpdir}"/* "${tmpdir}"/.[!.]* "${datadir}"
|
||||
@ -88,7 +108,7 @@ configure()
|
||||
set_ncpcfg datadir "${datadir}"
|
||||
|
||||
echo "Data is now encrypted"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
# License
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user