Merge pull request #1951 from nextcloud/devel

This commit is contained in:
Tobias Knöppler 2024-08-11 14:17:31 +02:00 committed by GitHub
commit 3c4141eefb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
81 changed files with 206 additions and 142 deletions

View File

@ -5,7 +5,7 @@ about: Report errors and problems
---
<!--
Thanks for reporting issues back to NextCloudPi!
Thanks for reporting issues back to NextcloudPi!
Here you can file bugs and feature requests. **Do NOT ask questions**, this is not a support forum.
@ -13,7 +13,7 @@ If there is an important security issue that has gone unnoticed, please send a p
### DO NOT ASK QUESTIONS, USE THE FORUMS
NCP and its extras are explained in the wiki, also make sure to read the articles in ownyourbits explaining NextCloudPi extras before asking. https://ownyourbits.com/category/nextcloudpi/
NCP and its extras are explained in the wiki, also make sure to read the articles in ownyourbits explaining NextcloudPi extras before asking. https://ownyourbits.com/category/nextcloudpi/
For asking questions, please use the forums. https://help.nextcloud.com/c/support/appliances-docker-snappy-vm

View File

@ -4,7 +4,7 @@ about: Do NOT ask here - Use the forum
---
Thanks for reporting issues back to NextCloudPi!
Thanks for reporting issues back to NextcloudPi!
Here you can file bugs and feature requests. **Do NOT ask questions**, this is not a support forum.
@ -12,11 +12,11 @@ Here you can file bugs and feature requests. **Do NOT ask questions**, this is n
DO NOT ASK QUESTIONS, USE THE FORUMS
---
NCP and its extras are explained in the wiki, also make sure to read the articles in ownyourbits explaining NextCloudPi extras before asking. https://ownyourbits.com/category/nextcloudpi/
NCP and its extras are explained in the wiki, also make sure to read the articles in ownyourbits explaining NextcloudPi extras before asking. https://ownyourbits.com/category/nextcloudpi/
We use GitHub issues only to discuss about NextCloudPi bugs and new features.
We use GitHub issues only to discuss about NextcloudPi bugs and new features.
NCP and its extras are explained in the [wiki](https://github.com/nextcloud/nextcloudpi/wiki), also make sure to read the [articles in ownyourbits](https://ownyourbits.com/category/nextcloudpi/) explaining NextCloudPi extras before asking.
NCP and its extras are explained in the [wiki](https://github.com/nextcloud/nextcloudpi/wiki), also make sure to read the [articles in ownyourbits](https://ownyourbits.com/category/nextcloudpi/) explaining NextcloudPi extras before asking.
For any other question or comment, please use the [forums](https://help.nextcloud.com/c/support/appliances-docker-snappy-vm), and make sure to tag
the thread as `ncp`.

View File

@ -1,10 +1,10 @@
---
name: ⛔ Documentation Issue
about: See the NextCloudPi Wiki
about: See the NextcloudPi Wiki
---
The NextCloudPi wiki is open to anyone to edit. If you find something inaccurate,
The NextcloudPi wiki is open to anyone to edit. If you find something inaccurate,
missing or that can be improved, please feel free to contribute to it.
https://github.com/nextcloud/nextcloudpi/wiki

View File

@ -1,13 +0,0 @@
---
name: ⛔ Security Issue
about: Email nacho [at] ownyourbits.com
---
⚠ PLEASE DON'T DISCLOSE SECURITY-RELATED ISSUES PUBLICLY, SEE BELOW.
If you have found a security issue in NextCloudPi, please send the details to
nacho [at] ownyourbits.com and don't disclose it publicly until we can provide a
fix for it.
Thank you!

View File

@ -683,16 +683,17 @@ jobs:
- name: convert to LXC image
id: lxd-to-lxc
run: |
mkdir repackage output
cd repackage
sudo tar xpf "../${LXD_ARTIFACT_FILE?}"
sudo rm -rf ./rootfs/dev
LXC_ARTIFACT_FILE="${LXD_ARTIFACT_FILE//LXD/LXC}"
sudo tar cpzf "../output/${LXC_ARTIFACT_FILE?}" -C rootfs/ .
cd ..
sudo chown "$(id -un):" "./output/${LXC_ARTIFACT_FILE}"
echo "artifact_file=${LXC_ARTIFACT_FILE?}" >> $GITHUB_OUTPUT
echo "artifact_name=${LXD_ARTIFACT_NAME//lxd/lxc}" >> $GITHUB_OUTPUT
mkdir repackage output;
cd repackage;
sudo su - -c "cd '$(pwd)'; tar xpf '../${LXD_ARTIFACT_FILE?}';"
sudo rm -rf ./rootfs/dev;
LXC_ARTIFACT_FILE="${LXD_ARTIFACT_FILE//LXD/LXC}";
sudo tar cpzf "../output/${LXC_ARTIFACT_FILE?}" -C rootfs/ .;
cd ..;
sudo chown "$(id -un):" "./output/${LXC_ARTIFACT_FILE}";
ls -l ./output
echo "artifact_file=${LXC_ARTIFACT_FILE?}" >> $GITHUB_OUTPUT;
echo "artifact_name=${LXD_ARTIFACT_NAME//lxd/lxc}" >> $GITHUB_OUTPUT;
- name: upload LXD image to artifact store
uses: actions/upload-artifact@v3
with:

14
FUNDING.yml Normal file
View File

@ -0,0 +1,14 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: thecalcaholic
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

View File

@ -6,18 +6,20 @@ set -e
source /usr/local/etc/library.sh # sets NCLATESTVER
CURRENT="$(ncc status | grep "version:" | awk '{ print $3 }')"
LATEST="$(wget -qO- https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/etc/ncp.cfg | jq -r .nextcloud_version)"
CURRENT="$(nc_version)"
NEXT_VERSION="$(determine_nc_upgrade_version "${CURRENT}" "${NCLATESTVER?}")"
[[ -n "$NEXT_VERSION" ]] || exit 0
NOTIFIED=/var/run/.nc-version-notified
test -e "${NOTIFIED}" && [[ "${LATEST}" == "$( cat "${NOTIFIED}" )" ]] && {
echo "Found update from ${CURRENT} to ${LATEST}. Already notified"
test -e "${NOTIFIED}" && [[ "${NEXT_VERSION}" == "$( cat "${NOTIFIED}" )" ]] && {
echo "Found update from ${CURRENT} to ${NEXT_VERSION}. Already notified"
exit 0
}
if is_more_recent_than "${LATEST}" "${CURRENT}"; then
if is_more_recent_than "${NEXT_VERSION}" "${CURRENT}"; then
notify_admin \
"Nextcloud update" \
"Update from ${CURRENT} to ${LATEST} is available. Update from https://$(get_ip):4443"
echo "${LATEST}" > "${NOTIFIED}"
"Update from ${CURRENT} to ${NEXT_VERSION} is available. Update from https://$(get_ip):4443"
echo "${NEXT_VERSION}" > "${NOTIFIED}"
fi

View File

@ -6,8 +6,8 @@ VERFILE=/usr/local/etc/ncp-version
LATEST=/var/run/.ncp-latest-version
if ncp-test-updates; then
echo -e "\nNextCloudPi \e[1m$( cat $VERFILE)\e[0m is outdated"
echo -e "\nNextcloudPi \e[1m$( cat $VERFILE)\e[0m is outdated"
echo -e "update to \e[1m$( cat $LATEST )\e[0m through 'ncp-config' or type 'sudo ncp-update'"
else
echo -e "\nNextCloudPi \e[1m$( cat $VERFILE)\e[0m is up to date"
echo -e "\nNextcloudPi \e[1m$( cat $VERFILE)\e[0m is up to date"
fi

View File

@ -1,6 +1,6 @@
#!/bin/bash
# NextCloudPi software configuration
# NextcloudPi software configuration
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!
@ -23,7 +23,7 @@ source /usr/local/etc/library.sh
latest_ver="$(cat /var/run/.ncp-latest-version 2>/dev/null)"
whiptail --backtitle "$backtitle $ncpversion" \
--title "NextCloudPi update available" \
--title "NextcloudPi update available" \
--clear --yesno "Update to $latest_ver?\n\n$changelog" \
15 70
@ -59,7 +59,7 @@ function generate_list()
function config_menu()
{
local dir="$1"
local backtitle="NextCloudPi configuration ver. "
local backtitle="NextcloudPi configuration ver. "
local ncpversion="$(cat /usr/local/etc/ncp-version )"
local cfgdir=/usr/local/etc/ncp-config.d
local dialog_ok=0
@ -73,7 +73,7 @@ function config_menu()
# launch the selection menu
[[ "$dir" == "$BINDIR" ]] && local cancel_btn="Finish" || local cancel_btn="Back"
ncp_app=$( whiptail --backtitle "$backtitle $ncpversion" \
--title "NextCloudPi Configuration Tool (ncp-config)" \
--title "NextcloudPi Configuration Tool (ncp-config)" \
--cancel-button $cancel_btn --ok-button Select \
--menu "Select ncp-app to configure or activate:" 20 105 10 \
"${list[@]}" \

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash
set -eu -o pipefail
@ -37,7 +37,9 @@ save_maintenance_mode
# Perform dist-upgrade
apt-get update && apt-get upgrade -y
apt-get update
apt-get remove -y libc-dev-bin || true
apt-get upgrade -y
for aptlist in /etc/apt/sources.list /etc/apt/sources.list.d/{php.list,armbian.list,raspi.list}
do
[ -f "$aptlist" ] && sed -i -e "s/bullseye/bookworm/g" "$aptlist"
@ -58,6 +60,7 @@ then
apt-get install -y --no-install-recommends systemd-resolved && systemctl enable --now systemd-resolved
fi
apt-get full-upgrade -y
sudo apt-get install -y --no-install-recommends libc-dev-bin || true
sudo apt-get --purge autoremove -y
apt-get install -y --no-install-recommends exfatprogs

View File

@ -1,6 +1,6 @@
#!/bin/bash
# NextCloudPi diagnostics report
# NextcloudPi diagnostics report
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# NextCloudPi configuration suggestions
# NextcloudPi configuration suggestions
#
# Copyleft 2018 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# update latest NextCloudPi code from github
# update latest NextcloudPi code from github
[[ -z "$DBG" ]] || set -$DBG
@ -61,7 +61,7 @@ fi
sed '/HEAD ->\|origin/s|\[.*\(tag: v[0-9]\+\.[0-9]\+\.[0-9]\+\).*\]|[\1]|' | \
sed 's|* \[tag: |[|' > /usr/local/etc/ncp-changelog
echo -e "NextCloudPi updated to version $VER"
echo -e "NextcloudPi updated to version $VER"
exit 0
} # force to read the whole thing into memory, as its contents might change in update.sh

View File

@ -39,14 +39,14 @@ ncc status &>/dev/null || { [[ "$DBG" == x ]] && ncc status; echo "Next
####################
[[ ${EUID} -eq 0 ]] && SUDO="sudo -u www-data"
CURRENT="$( $SUDO php /var/www/nextcloud/occ status | grep "version:" | awk '{ print $3 }' )"
MAJOR_CUR=$( cut -d. -f1 <<<"${CURRENT}" )
MAJOR_NEW=$( cut -d. -f1 <<<"${VER}" )
if [[ $((MAJOR_NEW - MAJOR_CUR)) -gt 1 ]]; then
echo "Upgrade cannot skip major versions. Please upgrade one major version at a time" >&2
CURRENT="$(nc_version)"
TARGET_VERSION="$(determine_nc_upgrade_version "${CURRENT?}" "${VER?}")"
[[ -n "$TARGET_VERSION" ]] || {
echo "Could not find a valid upgrade path from '${CURRENT}' to '${TARGET_VERSION}'. Nothing to update."
exit 1
fi
}
MAJOR_NEW="${TARGET_VERSION%%.*}"
if [[ "$MAJOR_NEW" -ge 24 ]] && [[ "$(lsb_release -r)" =~ .*10 ]]
then
@ -55,18 +55,10 @@ then
fi
grep -qP "\d+\.\d+\.\d+" <<<"$CURRENT" || { echo "Malformed version $CURRENT"; exit 1; }
grep -qP "\d+\.\d+\.\d+" <<<"$VER" || { echo "Malformed version $VER" ; exit 1; }
grep -qP "\d+\.\d+\.\d+" <<<"$TARGET_VERSION" || { echo "Malformed version $TARGET_VERSION" ; exit 1; }
echo "Current Nextcloud version $CURRENT"
echo "Available Nextcloud version $VER"
is_more_recent_than "${VER}" "${CURRENT}" || { echo "Nothing to update"; exit 1; } # we want `exit 1` so the autoupdate doesn't notify success in this case
if ! is_more_recent_than '25.0.0' "${VER}" && is_more_recent_than "8.1.0" "${PHPVER}.0" && is_docker
then
echo 'You need to upgrade to a later docker image in order to upgrade to Nextcloud 25+'
exit 1
fi
echo "Available Nextcloud version $TARGET_VERSION"
# make sure that cron.php is not running and there are no pending jobs
# https://github.com/nextcloud/server/issues/10949
@ -88,8 +80,8 @@ trap cleanup EXIT
# get new code
####################
URL="https://download.nextcloud.com/server/releases/nextcloud-$VER.tar.bz2"
echo "Download Nextcloud $VER..."
URL="https://download.nextcloud.com/server/releases/nextcloud-$TARGET_VERSION.tar.bz2"
echo "Download Nextcloud $TARGET_VERSION..."
wget -q "$URL" -O nextcloud.tar.bz2 || { echo "Error downloading"; exit 1; }
# backup
@ -127,7 +119,7 @@ trap rollback_simple INT TERM HUP ERR
# replace code
####################
echo "Install Nextcloud $VER..."
echo "Install Nextcloud $TARGET_VERSION..."
mv -T nextcloud nextcloud-old
tar -xf nextcloud.tar.bz2 # && false # test point
rm -rf /var/www/nextcloud.tar.bz2
@ -195,7 +187,7 @@ $ncc | grep -q db:add-missing-primary-keys && $ncc db:add-missing-primary-keys -
$ncc | grep -q db:convert-filecache-bigint && $ncc db:convert-filecache-bigint -n
# use the correct version for custom apps
NCVER="$(ncc status | grep "version:" | awk '{ print $3 }')"
NCVER="$(nc_version)"
if is_more_recent_than "21.0.0" "${NCVER}"; then
NCPREV=/var/www/ncp-previewgenerator/ncp-previewgenerator-nc20
else

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Export NextCloudPi configuration
# Export NextcloudPi configuration
#
#
# Copyleft 2017 by Courtney Hicks

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Import NextCloudPi configuration
# Import NextcloudPi configuration
#
#
# Copyleft 2017 by Courtney Hicks

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# NextCloudPi scheduled datadir BTRFS snapshots
# NextcloudPi scheduled datadir BTRFS snapshots
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Data dir configuration script for NextCloudPi
# Data dir configuration script for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Data dir configuration script for NextCloudPi
# Data dir configuration script for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# HTTPS rewrite configuration script for NextCloudPi
# HTTPS rewrite configuration script for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# System limits configuration for NextCloudPi
# System limits configuration for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Manually add trusted domains in NextCloudPi
# Manually add trusted domains in NextcloudPi
#
# Copyleft 2019 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# DuckDNS installation on Raspbian for NextCloudPi
# DuckDNS installation on Raspbian for NextcloudPi
#
#
# Copyleft 2017 by Courtney Hicks

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Let's encrypt certbot installation on NextCloudPi
# Let's encrypt certbot installation on NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Use uPnP to forward router ports for NextCloudPi
# Use uPnP to forward router ports for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Manually add trusted proxies in NextCloudPi
# Manually add trusted proxies in NextcloudPi
#
# Copyleft 2019 by Pascal Haefliger <45995338+paschaef_a_t_users_d_o_t_noreply_d_o_tgithub_d_o_t_com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# no-ip.org installation on NextCloudPi
# no-ip.org installation on NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# spDYN setup for NextCloudPi
# spDYN setup for NextcloudPi
#
#
# Copyleft 2017/2018 by Timm Goldenstein and Timo Stiefel

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Fail2ban for NextCloudPi
# Fail2ban for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Launch security audit reports for NextCloudPi
# Launch security audit reports for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Data at rest encryption for NextCloudPi
# Data at rest encryption for NextcloudPi
#
# Copyleft 2021 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Automount configuration for NextCloudPi
# Automount configuration for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Data dir configuration script for NextCloudPi
# Data dir configuration script for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Data dir configuration script for NextCloudPi
# Data dir configuration script for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# NextCloudPi ZRAM settings
# NextcloudPi ZRAM settings
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -27,7 +27,7 @@ echo -e "[ncp-update-nc]" >> /var/log/ncp.log
if [[ \${PIPESTATUS[0]} -eq 0 ]]; then
VER="\$( /usr/local/bin/ncc status | grep "version:" | awk '{ print \$3 }' )"
VER="\$(nc_version)"
notify_admin "NextCloudPi" "Nextcloud was updated to \$VER"
fi

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Automatically apply NextCloudPi updates
# Automatically apply NextcloudPi updates
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Data dir configuration script for NextCloudPi
# Data dir configuration script for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Unattended upgrades installation on NextCloudPi
# Unattended upgrades installation on NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!

View File

@ -31,7 +31,7 @@ prepare_dirs # tmp cache output
# get latest armbian
[[ -d armbian ]] || {
git clone --depth 1 --branch v24.02 https://github.com/armbian/build armbian
git clone --depth 1 --branch v24.08 https://github.com/armbian/build armbian
}
#( cd armbian && git pull --ff-only --tags && git checkout v23.02 )
#sed -i -e '/export rootfs_size=/s/du -sm/du --apparent-size -sm/' armbian/lib/functions/image/partitioning.sh

View File

@ -1,5 +1,15 @@
# NextcloudPi Changelog
## [v1.54.3](https://github.com/nextcloud/nextcloudpi/tree/v1.54.3) (2024-08-11) Improved Nextcloud (auto) updates
### Fixes
- Prevent dependency conflict during distribution upgrade to debian 12
### Changes
- Nextcloud updates now automatically determine the next valid version to upgrade to. Auto updates always update to the latest minor version.
## [v1.54.2](https://github.com/nextcloud/nextcloudpi/tree/v1.54.2) (2024-05-08) Fixes for ncp-dist-upgrade (bookworm)
### Fixes

View File

@ -1,6 +1,6 @@
#!/bin/bash
# NextCloudPi function library
# NextcloudPi function library
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!
@ -516,7 +516,32 @@ function check_distro()
function nc_version()
{
ncc status | grep "version:" | awk '{ print $3 }'
ncc status | grep "versionstring:" | awk '{ print $3 }'
}
function determine_nc_upgrade_version() {
local current supported current_maj supported_maj versions next_version
current="${1?}"
supported="${2?}"
#CURRENT="$(ncc status | grep "versionstring:" | awk '{ print $3 }')"
current_maj="${current%%.*}"
supported_maj="${supported%%.*}"
versions="$(curl -L -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/repos/nextcloud/server/releases?per_page=100 | jq -r '.[].tag_name' | grep -v -e 'rc.$' -e 'beta.$' | sort -V)"
next_version="$(grep "v${current_maj}." <<<"${versions}" | tail -n 1 | tr -d 'v')"
if [[ "${next_version}" == "${current}" ]]
then
if [[ "${supported_maj}" -le "${current_maj}" ]]
then
# No update available
return 0
fi
next_version="$(grep "$v$((current_maj + 1))." <<< "${versions}" | tail -n 1 | tr -d 'v')"
fi
[[ -z "${next_version}" ]] || echo -n "${next_version}"
}
function get_ip()

View File

@ -1,7 +1,7 @@
{
"translations": {
"DIR": "Directorio",
"Export NextCloudPi configuration": "Exportar la configuración de NextCloudPi",
"Export NextCloudPi configuration": "Exportar la configuración de NextcloudPi",
"nc-export-ncp": "nc-export-ncp"
}
}

View File

@ -1,7 +1,7 @@
{
"translations": {
"DIR": "Diretório",
"Export NextCloudPi configuration": "Exportar configurações do NextCloudPi",
"Export NextCloudPi configuration": "Exportar configurações do NextcloudPi",
"nc-export-ncp": "nc-exportar-ncp"
}
}

View File

@ -1,7 +1,7 @@
{
"translations": {
"DIR": "位置",
"Export NextCloudPi configuration": "匯出NextCloudPi設定",
"Export NextCloudPi configuration": "匯出NextcloudPi設定",
"nc-export-ncp": "匯出NCP設定"
}
}

View File

@ -1,6 +1,6 @@
{
"translations": {
"For NextCloudPi to be able to setup your ports, UPnP must be activated\nin your router. Activate it now on your router admin webpage.\n\n** UPnP is considered a security risk **\n\nDon't forget to disable it afterwards": "Para que NextCloudPi sea capaz de configurar tus puertos, UPnP debe estar activado\nen tu router. Actívalo ahora en la página de administración de tu router\n\n** UPnP se considera un riesgo de seguridad\n\nNo olvides deshabilitarlo más tarde",
"For NextCloudPi to be able to setup your ports, UPnP must be activated\nin your router. Activate it now on your router admin webpage.\n\n** UPnP is considered a security risk **\n\nDon't forget to disable it afterwards": "Para que NextcloudPi sea capaz de configurar tus puertos, UPnP debe estar activado\nen tu router. Actívalo ahora en la página de administración de tu router\n\n** UPnP se considera un riesgo de seguridad\n\nNo olvides deshabilitarlo más tarde",
"HTTPPORT": "Puerto HTTP",
"HTTPSPORT": "Puerto HTTPS",
"Instructions for UPnP Port Forwarding": "Instrucciones para UPnP Port Forwarding",

View File

@ -1,6 +1,6 @@
{
"translations": {
"For NextCloudPi to be able to setup your ports, UPnP must be activated\nin your router. Activate it now on your router admin webpage.\n\n** UPnP is considered a security risk **\n\nDon't forget to disable it afterwards": "Para o NextCloudPi conseguir configurar as portas, UPnp deve estar ativo\nno seu Roteador.A ativação é feita na pagina de Web administração do seu roteador\n\n**UPnP é considerado um risco de segurança**\n\nNão esqueça de desativá-lo depois.",
"For NextCloudPi to be able to setup your ports, UPnP must be activated\nin your router. Activate it now on your router admin webpage.\n\n** UPnP is considered a security risk **\n\nDon't forget to disable it afterwards": "Para o NextcloudPi conseguir configurar as portas, UPnp deve estar ativo\nno seu Roteador.A ativação é feita na pagina de Web administração do seu roteador\n\n**UPnP é considerado um risco de segurança**\n\nNão esqueça de desativá-lo depois.",
"HTTPPORT": "Porta http",
"HTTPSPORT": "Porta https",
"nc-forward-ports": "nc-portas-encaminhadas (UPnP)",

View File

@ -1,6 +1,6 @@
{
"translations": {
"For NextCloudPi to be able to setup your ports, UPnP must be activated\nin your router. Activate it now on your router admin webpage.\n\n** UPnP is considered a security risk **\n\nDon't forget to disable it afterwards": "如果要讓NextCloudPi自動設置您的Port請在您的路由器開啟UPnP\n因鑒於安全性等問題請在設定成功後關閉UPnP",
"For NextCloudPi to be able to setup your ports, UPnP must be activated\nin your router. Activate it now on your router admin webpage.\n\n** UPnP is considered a security risk **\n\nDon't forget to disable it afterwards": "如果要讓NextcloudPi自動設置您的Port請在您的路由器開啟UPnP\n因鑒於安全性等問題請在設定成功後關閉UPnP",
"HTTPPORT": "http Port",
"HTTPSPORT": "https Port",
"nc-forward-ports": "端口轉發UPnP",

View File

@ -1,7 +1,7 @@
{
"translations": {
"FILE": "Fichero",
"Import NextCloudPi configuration from file": "Importa la configuración de NextCloudPi desde un fichero",
"Import NextCloudPi configuration from file": "Importa la configuración de NextcloudPi desde un fichero",
"nc-import-ncp": "nc-import-ncp"
}
}

View File

@ -1,7 +1,7 @@
{
"translations": {
"FILE": "Arquivo",
"Import NextCloudPi configuration from file": "Importar a configuração do NextCloudPi de um arquivo",
"Import NextCloudPi configuration from file": "Importar a configuração do NextcloudPi de um arquivo",
"nc-import-ncp": "nc-importa-ncp"
}
}

View File

@ -1,7 +1,7 @@
{
"translations": {
"FILE": "檔案位置",
"Import NextCloudPi configuration from file": "匯入NextCloudPi設定",
"Import NextCloudPi configuration from file": "匯入NextcloudPi設定",
"nc-import-ncp": "匯入NCP設定"
}
}

View File

@ -1,6 +1,6 @@
{
"translations": {
"Print NextCloudPi system info": "Imprime informações do sistema NextCloudPi",
"Print NextCloudPi system info": "Imprime informações do sistema NextcloudPi",
"nc-info": "nc-info"
}
}

View File

@ -1,6 +1,6 @@
{
"translations": {
"Print NextCloudPi system info": "顯示NextCloudPi系統信息",
"Print NextCloudPi system info": "顯示NextcloudPi系統信息",
"nc-info": "NCP系統訊息"
}
}

View File

@ -1,6 +1,6 @@
{
"translations": {
"Configure system limits for NextCloudPi": "Configura los límites de sistema para NextCloudPi",
"Configure system limits for NextCloudPi": "Configura los límites de sistema para NextcloudPi",
"MAXFILESIZE":"Tamaño máximo de archivo en subida",
"MEMORYLIMIT": "Límite de memoria",
"PHPTHREADS": "Hilos PHP",

View File

@ -1,6 +1,6 @@
{
"translations": {
"Configure system limits for NextCloudPi": "Configura os limites de sistema para NextCloudPi",
"Configure system limits for NextCloudPi": "Configura os limites de sistema para NextcloudPi",
"MAXFILESIZE":"Tamanho máximo de arquivo para upload",
"MEMORYLIMIT": "Limite de memória",
"PHPTHREADS": "THREADS PHP",

View File

@ -1,6 +1,6 @@
{
"translations": {
"Configure system limits for NextCloudPi": "設定NextCloudPi的系統限制",
"Configure system limits for NextCloudPi": "設定NextcloudPi的系統限制",
"MAXFILESIZE": "最大文件大小(<=2G",
"MEMORYLIMIT": "內存限制",
"PHPTHREADS": "PHP線程",

View File

@ -6,7 +6,7 @@
"MEMORYLIMIT":"Limíte de Memória",
"MAXTRANSFERTIME":"Tempo máximo de transferência",
"NextCloud installation":"Instalação NextCloud",
"This new installation will cleanup current\nNextCloud instance, including files and database.\n\nYou can later use nc-init to configure to NextCloudPi defaults\n\n** perform backup before proceding **\n\nYou can use nc-backup ":"Esta nova instalação irá apagar a instância atual\ndo NextCloud, incluindo os arquivos e o Banco de Dados.\nVocê depois pode usar o nc-init para configurar os padrões do NextCloudPi\n\n**Realize Backup antes de Continuar**\n\nVocê pode usar o nc-backup",
"This new installation will cleanup current\nNextCloud instance, including files and database.\n\nYou can later use nc-init to configure to NextCloudPi defaults\n\n** perform backup before proceding **\n\nYou can use nc-backup ":"Esta nova instalação irá apagar a instância atual\ndo NextCloud, incluindo os arquivos e o Banco de Dados.\nVocê depois pode usar o nc-init para configurar os padrões do NextcloudPi\n\n**Realize Backup antes de Continuar**\n\nVocê pode usar o nc-backup",
"nc-nextcloud":"nc-nextcloud",
"Install any NextCloud version":"Instalar qualquer versão NextCloud"
}

View File

@ -6,7 +6,7 @@
"MEMORYLIMIT":"記憶體限制",
"MAXTRANSFERTIME":"最大傳輸時間",
"NextCloud installation":"重新下載安裝NextCloud",
"This new installation will cleanup current\nNextCloud instance, including files and database.\n\nYou can later use nc-init to configure to NextCloudPi defaults\n\n** perform backup before proceding **\n\nYou can use nc-backup ":"這個動作安裝將清理目前NextCloud的所有內容所有的文件及數據庫都將會被刪除\n安裝完後您可以使用初始化NextCloud來快速設定回系統默認值以及資料庫\n或者您可以在開始動作前先進行備份(NC備份)",
"This new installation will cleanup current\nNextCloud instance, including files and database.\n\nYou can later use nc-init to configure to NextCloudPi defaults\n\n** perform backup before proceding **\n\nYou can use nc-backup ":"這個動作安裝將清理目前Nextcloud的所有內容所有的文件及數據庫都將會被刪除\n安裝完後您可以使用初始化NextCloud來快速設定回系統默認值以及資料庫\n或者您可以在開始動作前先進行備份(NC備份)",
"nc-nextcloud":"重新安裝NC",
"Install any NextCloud version":"下載安裝NextCloud"
}

View File

@ -2,7 +2,7 @@
"translations":{
"ACTIVE":"Ativo",
"USER":"Usuário",
"Notify in NC when a NextCloudPi update is available":"Notifica no NC quando uma atualização NextCloudPi está disponível",
"Notify in NC when a NextCloudPi update is available":"Notifica no NC quando uma atualização NextcloudPi está disponível",
"nc-notify-updates":"nc-notificar-atualizações"
}
}

View File

@ -1,7 +1,7 @@
{
"translations": {
"CONFIRM": "Confirmar",
"Change password for the NextCloudPi Panel": "Cambiar la contraseña para el Panel de NextCloudPi",
"Change password for the NextcloudPi Panel": "Cambiar la contraseña para el Panel de NextcloudPi",
"PASSWORD": "Contraseña",
"nc-passwd": "nc-passwd"
}

View File

@ -1,6 +1,6 @@
{
"translations":{
"Change password for the NextCloudPi Panel":"Mudar a senha para o painel NextCloudPi",
"Change password for the NextcloudPi Panel":"Mudar a senha para o painel NextcloudPi",
"nc-passwd":"nc-senha",
"PASSWORD":"Senha",
"CONFIRM":"Confirmar"

View File

@ -1,6 +1,6 @@
{
"translations":{
"Change password for the NextCloudPi Panel":"修改NextCloudPi網頁介面的密碼",
"Change password for the NextcloudPi Panel":"修改NextcloudPi網頁介面的密碼",
"nc-passwd":"修改NCP密碼",
"PASSWORD":"密碼",
"CONFIRM":"再次輸入密碼"

View File

@ -1,6 +1,6 @@
{
"translations":{
"Update NextCloudPi":"atualização NextCloudPi",
"Update NextCloudPi":"atualização NextcloudPi",
"nc-update":"nc-atualização"
}
}

View File

@ -1,6 +1,6 @@
{
"translations":{
"Update NextCloudPi":"更新NextCloudPi",
"Update NextCloudPi":"更新NextcloudPi",
"nc-update":"更新NCP"
}
}

View File

@ -9,7 +9,7 @@
{
"id": "VER",
"name": "Version",
"value": "28.0.5"
"value": "28.0.7"
},
{
"id": "MAXFILESIZE",

View File

@ -2,7 +2,7 @@
"id": "nc-passwd",
"name": "Nc-passwd",
"title": "nc-passwd",
"description": "Change password for the NextCloudPi Panel",
"description": "Change password for the NextcloudPi Panel",
"info": "Please note some special characters are not allowed here, avoid using ) } ; # in password",
"infotitle": "",
"params": [

View File

@ -1,5 +1,5 @@
{
"nextcloud_version": "28.0.5",
"nextcloud_version": "28.0.7",
"php_version": "8.1",
"release": "bookworm"
}

View File

@ -1,5 +1,5 @@
<!--
NextCloudPi Web Backups Panel
NextcloudPi Web Backups Panel
Copyleft 2019 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
<?php
///
// NextCloudPi Web Panel CSRF protection library
// NextcloudPi Web Panel CSRF protection library
//
// Inspired by http://blog.ircmaxell.com/2013/02/preventing-csrf-attacks.html
//

View File

@ -1,6 +1,6 @@
<?php
///
// NextCloudPi Web Panel backend
// NextcloudPi Web Panel backend
//
// Copyleft 2019 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
// GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
<?php
///
// NextCloudPi Web Panel backend
// NextcloudPi Web Panel backend
//
// Copyleft 2019 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
// GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
<?php
///
// NextCloudPi Web Panel Side bar
// NextcloudPi Web Panel Side bar
//
// Copyleft 2018 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
// GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
<?php
/*
NextCloudPi Web Panel frontend
NextcloudPi Web Panel frontend
Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
GPL licensed (see end of file) * Use at your own risk!
@ -53,7 +53,7 @@ header("Link: </js/minified.js>; rel=preload; as=script;,</js/ncp.js>; rel=prelo
<html class="ng-csp" data-placeholder-focus="false" lang="en">
<head>
<meta charset="utf-8">
<title>NextCloudPi Panel</title>
<title>NextcloudPi Panel</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="referrer" content="never">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
@ -102,7 +102,7 @@ header("Link: </js/minified.js>; rel=preload; as=script;,</js/ncp.js>; rel=prelo
<div id="first-run-wizard">
<div class='dialog'>
<br><br>
<h2 id="config-box-title">NextCloudPi First Run</h2>
<h2 id="config-box-title">NextcloudPi First Run</h2>
<p>Click to start the configuration wizard</p>
<br>
<a href="wizard"><img class="wizard-btn" src="wizard/img/ncp-logo.svg" class="wizard"></a>
@ -200,14 +200,14 @@ HTML;
<div class="icon-logs"></div>
</div>
</div>
<a href="wizard" title="<?php echo $l->__("NextCloudPi Wizard"); ?>">
<a href="wizard" title="<?php echo $l->__("NextcloudPi Wizard"); ?>">
<div class="wizard-btn">
<div class="expand">
<div class="icon-wizard-white"></div>
</div>
</div>
</a>
<a href="https://docs.nextcloudpi.com/" target="_blank" tabindex="1" title="<?php echo $l->__("NextCloudPi Wiki"); ?>">
<a href="https://docs.nextcloudpi.com/" target="_blank" tabindex="1" title="<?php echo $l->__("NextcloudPi Wiki"); ?>">
<div id="nc-button">
<div class="expand">
<div class="icon-nc-info"></div>
@ -285,7 +285,7 @@ HTML
</div>
</div>
<div id="logs-wrapper" class="content-box <?php if(!array_key_exists('app',$_GET) || (array_key_exists('app',$_GET) && $_GET['app'] != 'logs')) echo 'hidden';?>">
<h2 class="text-title"><?php echo $l->__("NextCloudPi logs"); ?></h2>
<h2 class="text-title"><?php echo $l->__("NextcloudPi logs"); ?></h2>
<div id="logs-content" class="table-wrapper">
<div id="logs-details-box" class="outputbox"><?php echo str_replace(array("\r\n", "\n", "\r"), '<br/>', file_get_contents('/var/log/ncp.log')) ?></div>
<div id="log-download-btn-wrapper"><input id="log-download-btn" type="button" value="Download"/></div>

View File

@ -5,5 +5,5 @@
"run": "Ausführen",
"skip": "&Uuml;berspringen",
"close": "Schlie&szlig;en",
"Configure NextCloudPi features": "NextCloudPi Funktionen konfigurieren"
"Configure NextcloudPi features": "NextcloudPi Funktionen konfigurieren"
}}

View File

@ -1,6 +1,6 @@
{
"translations": {
"Configure NextCloudPi features": "Configurar NextCloudPi",
"Configure NextCloudPi features": "Configurar NextcloudPi",
"Run": "Ejecutar",
"This application requires JavaScript for correct operation. Please %s enable JavaScript %s and reload the page.": "Esta aplicación requiere Javascript para un funcionamiento correcto. Por favor %s active Javascript %s y recarge la página."
}

View File

@ -1,6 +1,6 @@
<?php
///
// NextCloudPi Web Panel backend
// NextcloudPi Web Panel backend
//
// Copyleft 2018 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
// GPL licensed (see end of file) * Use at your own risk!

View File

@ -1,6 +1,6 @@
<?php
///
// NextCloudPi Web Panel backend
// NextcloudPi Web Panel backend
//
// Copyleft 2019 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
// GPL licensed (see end of file) * Use at your own risk!

View File

@ -108,7 +108,7 @@ if is_more_recent_than "$latest_checkpoint_version" "$current_version" ; then
exit 1
}
echo "v$tag_update" > /usr/local/etc/ncp-version
[[ $i != $end_of_list ]] && echo -e "NextCloudPi updated to version v$tag_update" || true
[[ $i != $end_of_list ]] && echo -e "NextcloudPi updated to version v$tag_update" || true
done
fi

View File

@ -0,0 +1,30 @@
43
44
79
65
76
33
72
11
77
4
60
5
86
58
41
61
53
12
42
74
3
40
13
73
57
24
45
66
35
6

View File

@ -146,7 +146,7 @@ def test_activation(IP, nc_port, admin_port, options, wait_timeout=120):
except Exception as e:
print(f"WARN: Exception while attempting to get ncp-web: '{e}'")
raise e
test.check("NextCloudPi Panel" in driver.title)
test.check("NextcloudPi Panel" in driver.title or "NextCloudPi Panel" in driver.title)
test.report("first run wizard", is_element_present(driver, By.ID, "first-run-wizard"))
driver.close()

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Updater for NextCloudPi
# Updater for NextcloudPi
#
# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
# GPL licensed (see end of file) * Use at your own risk!