Compare commits

..

41 Commits

Author SHA1 Message Date
LinuxServer-CI 231f432f80 Bot Updating Package Versions 2024-01-23 10:40:44 +00:00
LinuxServer-CI c15658c110 Bot Updating Package Versions 2024-01-18 17:36:47 +00:00
LinuxServer-CI 388fc6d47a Bot Updating Package Versions 2024-01-16 11:56:53 +00:00
LinuxServer-CI 2fe50c2f12 Bot Updating Templated Files 2024-01-16 11:50:34 +00:00
LinuxServer-CI 21dde133fd Bot Updating Templated Files 2024-01-16 11:48:58 +00:00
LinuxServer-CI 7bed73efff Bot Updating Package Versions 2024-01-09 11:50:08 +00:00
driz aede8706ae Merge pull request #406 from linuxserver/dev-mime-fix
Merge pull request #405 from linuxserver/conf-fix-test
2024-01-03 20:55:16 -05:00
Eric Nemchik ccb0036a96 Merge pull request #405 from linuxserver/conf-fix-test
maybe fix nextcloud?
2024-01-03 23:48:00 +00:00
LinuxServer-CI 6675775f5c Bot Updating Templated Files 2024-01-02 16:12:23 +00:00
Eric Nemchik 9d7ea19a71 Merge pull request #404 from linuxserver/cleanup-nginx-develop
Cleanup default site conf
2024-01-02 10:10:21 -06:00
Eric Nemchik 7a4dc0aa13 Update readme date
Signed-off-by: GitHub <noreply@github.com>
2024-01-02 16:07:05 +00:00
Eric Nemchik 56461a34b3 Cleanup default site conf
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2024-01-02 16:05:58 +00:00
LinuxServer-CI f131871e4c Bot Updating Package Versions 2024-01-02 11:49:44 +00:00
Adam aae9593ea7 Merge pull request #396 from linuxserver/develop-mime
Avoid duplicate mime definition
2023-12-22 22:39:46 +00:00
TheSpad 4178035a55 Consistent formatting 2023-12-22 17:16:22 +00:00
TheSpad 0ad8c52d56 Use text/javascript as per rfc9239 2023-12-22 17:15:18 +00:00
TheSpad 37eb7522e1 Prefer application/javascript 2023-12-22 17:08:14 +00:00
TheSpad 794f71483a Avoid duplicate mime definition 2023-12-22 17:01:35 +00:00
LinuxServer-CI b22dc7887a Bot Updating Package Versions 2023-12-22 16:33:56 +00:00
Adam 408d92a2ec Merge pull request #393 from linuxserver/develop-conf-mjs
sync with upstream nextcloud docs
2023-12-22 16:28:28 +00:00
TheSpad c3c64ae5d5 sync with upstream nextcloud docs 2023-12-22 16:03:20 +00:00
LinuxServer-CI bf1947d7ad Bot Updating Package Versions 2023-12-12 11:50:00 +00:00
LinuxServer-CI 94fd873ece Bot Updating Package Versions 2023-12-07 21:34:08 +00:00
LinuxServer-CI 61f34bacdc Bot Updating Package Versions 2023-12-05 11:50:04 +00:00
LinuxServer-CI 21f2fc0840 Bot Updating Package Versions 2023-11-30 21:34:34 +00:00
Eric Nemchik 2bdf249bf1 Merge pull request #383 from linuxserver/quiet-migration-develop
only run migration if conf exists
2023-11-29 08:30:52 -06:00
LinuxServer-CI e2d34baa3f Bot Updating Package Versions 2023-11-28 11:52:19 +00:00
Eric Nemchik be9ffb890e only run migration if conf exists
redirect stderr to /dev/null

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-11-25 10:49:42 -06:00
LinuxServer-CI f62cc3b9e8 Bot Updating Package Versions 2023-11-21 11:49:54 +00:00
Eric Nemchik 45d68d0508 Merge pull request #357 from linuxserver/standard-cron-develop
standard cron develop
2023-11-18 19:09:15 -06:00
LinuxServer-CI ba1ac62fd9 Bot Updating Package Versions 2023-11-16 21:36:06 +00:00
LinuxServer-CI ca6afd353a Bot Updating Templated Files 2023-11-16 21:31:08 +00:00
LinuxServer-CI acb431bc9c Bot Updating Package Versions 2023-11-14 23:32:43 +00:00
LinuxServer-CI 2639cc28cd Bot Updating Package Versions 2023-11-14 11:49:59 +00:00
LinuxServer-CI 35919306ae Bot Updating Package Versions 2023-11-10 14:35:17 +00:00
Eric Nemchik 74f9122ab6 Merge branch 'standard-cron' into standard-cron-develop 2023-08-26 09:59:51 -05:00
Eric Nemchik e25b4e3b4f Move crontabs to etc
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-19 10:17:19 -05:00
Eric Nemchik a7471ca097 Remove root cron sed
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-19 08:41:47 -05:00
Eric Nemchik 31e9e86b4f cron in base
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-18 23:38:05 -05:00
Eric Nemchik 0d3c4888b0 Fix perms
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-07-30 09:49:46 -05:00
Eric Nemchik e022624194 standard cron
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-07-30 01:16:35 -05:00
15 changed files with 567 additions and 597 deletions
Vendored
+152 -143
View File
@@ -16,6 +16,7 @@ pipeline {
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab') GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0') GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id') GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat')
BUILD_VERSION_ARG = 'NEXTCLOUD_RELEASE' BUILD_VERSION_ARG = 'NEXTCLOUD_RELEASE'
LS_USER = 'linuxserver' LS_USER = 'linuxserver'
LS_REPO = 'docker-nextcloud' LS_REPO = 'docker-nextcloud'
@@ -58,11 +59,16 @@ pipeline {
env.COMMIT_SHA = sh( env.COMMIT_SHA = sh(
script: '''git rev-parse HEAD''', script: '''git rev-parse HEAD''',
returnStdout: true).trim() returnStdout: true).trim()
env.GH_DEFAULT_BRANCH = sh(
script: '''git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||' ''',
returnStdout: true).trim()
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/' env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml' env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
} }
sh '''#! /bin/bash
echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" '''
script{ script{
env.LS_RELEASE_NUMBER = sh( env.LS_RELEASE_NUMBER = sh(
script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''', script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''',
@@ -120,7 +126,7 @@ pipeline {
steps{ steps{
script{ script{
env.EXT_RELEASE_CLEAN = sh( env.EXT_RELEASE_CLEAN = sh(
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''', script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/ ]//g' ''',
returnStdout: true).trim() returnStdout: true).trim()
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/ def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/
@@ -138,7 +144,7 @@ pipeline {
} }
if (env.SEMVER != null) { if (env.SEMVER != null) {
if (BRANCH_NAME != "master" && BRANCH_NAME != "main") { if (BRANCH_NAME != "${env.GH_DEFAULT_BRANCH}") {
env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}" env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}"
} }
println("SEMVER: ${env.SEMVER}") println("SEMVER: ${env.SEMVER}")
@@ -256,115 +262,150 @@ pipeline {
} }
} }
steps { steps {
sh '''#! /bin/bash withCredentials([
set -e [
TEMPDIR=$(mktemp -d) $class: 'UsernamePasswordMultiBinding',
docker pull ghcr.io/linuxserver/jenkins-builder:latest credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=develop -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest usernameVariable: 'DOCKERUSER',
# Stage 1 - Jenkinsfile update passwordVariable: 'DOCKERPASS'
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then ]
mkdir -p ${TEMPDIR}/repo ]) {
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} sh '''#! /bin/bash
cd ${TEMPDIR}/repo/${LS_REPO} set -e
git checkout -f develop TEMPDIR=$(mktemp -d)
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ docker pull ghcr.io/linuxserver/jenkins-builder:latest
git add Jenkinsfile docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=develop -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
git commit -m 'Bot Updating Templated Files' # Stage 1 - Jenkinsfile update
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} mkdir -p ${TEMPDIR}/repo
echo "Updating Jenkinsfile" git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
rm -Rf ${TEMPDIR} cd ${TEMPDIR}/repo/${LS_REPO}
exit 0 git checkout -f develop
else cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
echo "Jenkinsfile is up to date." git add Jenkinsfile
fi git commit -m 'Bot Updating Templated Files'
# Stage 2 - Delete old templates git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
for i in ${OLD_TEMPLATES}; do echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
if [[ -f "${i}" ]]; then echo "Updating Jenkinsfile"
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" rm -Rf ${TEMPDIR}
fi exit 0
done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f develop
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old and deprecated templates"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f develop
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
git add docs/images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
cd ${TEMPDIR}/unraid/templates/
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ echo "Jenkinsfile is up to date."
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi fi
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all # Stage 2 - Delete old templates
fi OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
rm -Rf ${TEMPDIR}''' for i in ${OLD_TEMPLATES}; do
script{ if [[ -f "${i}" ]]; then
env.FILES_UPDATED = sh( TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''', fi
returnStdout: true).trim() done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f develop
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old and deprecated templates"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f develop
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
git add docs/images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
cd ${TEMPDIR}/unraid/templates/
GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
fi
# Stage 4 - Sync Readme to Docker Hub
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then
if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then
echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite"
else
echo "Syncing readme to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md"
fi
DH_TOKEN=$(curl -d '{"username":"'${DOCKERUSER}'", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
curl -s \
-H "Authorization: JWT ${DH_TOKEN}" \
-H "Content-Type: application/json" \
-X PATCH \
-d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \
https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || :
else
echo "Not the default Github branch. Skipping readme sync to Docker Hub."
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
} }
} }
} }
@@ -558,7 +599,8 @@ pipeline {
wait wait
git add package_versions.txt git add package_versions.txt
git commit -m 'Bot Updating Package Versions' git commit -m 'Bot Updating Package Versions'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER} echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag updated, stopping build process" echo "Package tag updated, stopping build process"
else else
@@ -854,39 +896,6 @@ EOF
) ''' ) '''
} }
} }
// Use helper container to sync the current README on master to the dockerhub endpoint
stage('Sync-README') {
when {
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker pull ghcr.io/linuxserver/readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
ghcr.io/linuxserver/readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} '''
}
}
}
// If this is a Pull request send the CI link as a comment on it // If this is a Pull request send the CI link as a comment on it
stage('Pull Request Comment') { stage('Pull Request Comment') {
when { when {
+4 -18
View File
@@ -47,7 +47,7 @@ Where are your photos and documents? With Nextcloud you pick a server of your ch
## Supported Architectures ## Supported Architectures
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/). We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `lscr.io/linuxserver/nextcloud:develop` should retrieve the correct image for your arch, but you can also pull specific arch images via tags. Simply pulling `lscr.io/linuxserver/nextcloud:develop` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
@@ -110,7 +110,6 @@ To help you get started creating a container from this image you can either use
```yaml ```yaml
--- ---
version: "2.1"
services: services:
nextcloud: nextcloud:
image: lscr.io/linuxserver/nextcloud:develop image: lscr.io/linuxserver/nextcloud:develop
@@ -224,7 +223,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
## Updating Info ## Updating Info
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image. Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Below are the instructions for updating containers: Below are the instructions for updating containers:
@@ -289,21 +288,6 @@ Below are the instructions for updating containers:
docker image prune docker image prune
``` ```
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```bash
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once nextcloud
```
* You can also remove the old dangling images: `docker image prune`
**warning**: We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
### Image Update Notifications - Diun (Docker Image Update Notifier) ### Image Update Notifications - Diun (Docker Image Update Notifier)
**tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported. **tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
@@ -331,6 +315,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **02.01.24:** - Existing users should update: site-confs/default.conf - Cleanup default site conf.
* **22.12.23:** - Site default conf updating to include mime.types for js and mjs and update location to include more file types.
* **28.10.23:** - Disable web upgrades using occ during init. * **28.10.23:** - Disable web upgrades using occ during init.
* **31.08.23:** - Re-add updatenotification app. This allows users to be notified for app updates, but also notifies for NextCloud updates. Updating NextCloud via the web UI is not supported when using this image. * **31.08.23:** - Re-add updatenotification app. This allows users to be notified for app updates, but also notifies for NextCloud updates. Updating NextCloud via the web UI is not supported when using this image.
* **14.08.23:** - Add develop branch. * **14.08.23:** - Add develop branch.
+385 -386
View File
@@ -1,386 +1,385 @@
NAME VERSION TYPE NAME VERSION TYPE
@nextcloud/text 28.0.0-dev.1 npm @nextcloud/text 28.0.0-dev.1 npm
Executes a command and passes the stdio streams of the created process to TCP sockets 1.0.0.0 dotnet Process Wrapper 0.0.0.0 dotnet
activity 2.20.0 npm activity 2.20.0 npm
alpine-baselayout 3.4.3-r1 apk alpine-baselayout 3.4.3-r1 apk
alpine-baselayout-data 3.4.3-r1 apk alpine-baselayout-data 3.4.3-r1 apk
alpine-keys 2.4-r1 apk alpine-keys 2.4-r1 apk
alpine-release 3.18.4-r0 apk alpine-release 3.18.5-r0 apk
alsa-lib 1.2.9-r1 apk alsa-lib 1.2.9-r1 apk
amphp/amp v2.6.2 php-composer amphp/amp v2.6.2 php-composer
amphp/byte-stream v1.8.1 php-composer amphp/byte-stream v1.8.1 php-composer
amphp/parallel v1.4.3 php-composer amphp/parallel v1.4.3 php-composer
amphp/parser v1.1.0 php-composer amphp/parser v1.1.0 php-composer
amphp/process v1.1.4 php-composer amphp/process v1.1.4 php-composer
amphp/serialization v1.0.0 php-composer amphp/serialization v1.0.0 php-composer
amphp/sync v1.4.2 php-composer amphp/sync v1.4.2 php-composer
aom-libs 3.6.1-r0 apk aom-libs 3.6.1-r0 apk
apache2-utils 2.4.58-r0 apk apache2-utils 2.4.58-r0 apk
apk-tools 2.14.0-r2 apk apk-tools 2.14.0-r2 apk
apr 1.7.4-r0 apk apr 1.7.4-r0 apk
apr-util 1.6.3-r1 apk apr-util 1.6.3-r1 apk
argon2-libs 20190702-r4 apk argon2-libs 20190702-r4 apk
avahi-libs 0.8-r13 apk avahi-libs 0.8-r13 apk
aws/aws-crt-php v1.0.2 php-composer aws/aws-crt-php v1.0.2 php-composer
aws/aws-sdk-php 3.240.8 php-composer aws/aws-sdk-php 3.240.8 php-composer
bantu/ini-get-wrapper v1.0.1 php-composer bantu/ini-get-wrapper v1.0.1 php-composer
bash 5.2.15-r5 apk bash 5.2.15-r5 apk
beberlei/assert v3.3.1 php-composer beberlei/assert v3.3.1 php-composer
brick/math 0.9.2 php-composer brick/math 0.9.2 php-composer
brotli-libs 1.0.9-r14 apk brotli-libs 1.0.9-r14 apk
bruteforcesettings 2.8.0 npm bruteforcesettings 2.8.0 npm
busybox 1.36.1-r4 apk busybox 1.36.1-r5 apk
busybox-binsh 1.36.1-r4 apk busybox-binsh 1.36.1-r5 apk
c-client 2007f-r15 apk c-client 2007f-r15 apk
ca-certificates 20230506-r0 apk ca-certificates 20230506-r0 apk
ca-certificates-bundle 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk
cairo 1.17.8-r1 apk cairo 1.17.8-r1 apk
cairo-gobject 1.17.8-r1 apk cairo-gobject 1.17.8-r1 apk
christian-riesen/base32 1.6.0 php-composer christian-riesen/base32 1.6.0 php-composer
cjson 1.7.15-r4 apk cjson 1.7.17-r0 apk
coreutils 9.3-r1 apk composer 2.6.6 binary
cups-libs 2.4.7-r0 apk coreutils 9.3-r1 apk
curl 8.4.0-r0 apk cups-libs 2.4.7-r0 apk
cweagans/composer-patches 1.7.3 php-composer curl 8.5.0-r0 apk
darsyn/ip 4.1.0 php-composer cweagans/composer-patches 1.7.3 php-composer
dbus-libs 1.14.8-r0 apk darsyn/ip 4.1.0 php-composer
deepdiver/zipstreamer 2.0.0 php-composer dbus-libs 1.14.8-r0 apk
deepdiver1975/tarstreamer v2.1.0 php-composer deepdiver/zipstreamer 2.0.0 php-composer
doctrine/cache 2.2.0 php-composer deepdiver1975/tarstreamer v2.1.0 php-composer
doctrine/dbal 3.7.0 php-composer doctrine/cache 2.2.0 php-composer
doctrine/deprecations 1.1.2 php-composer doctrine/dbal 3.7.0 php-composer
doctrine/event-manager 1.2.0 php-composer doctrine/deprecations 1.1.2 php-composer
doctrine/lexer 1.2.3 php-composer doctrine/event-manager 1.2.0 php-composer
egulias/email-validator 3.2.5 php-composer doctrine/lexer 1.2.3 php-composer
ffmpeg 6.0-r15 apk egulias/email-validator 3.2.5 php-composer
ffmpeg-libavcodec 6.0-r15 apk ffmpeg 6.0.1-r0 apk
ffmpeg-libavdevice 6.0-r15 apk ffmpeg-libavcodec 6.0.1-r0 apk
ffmpeg-libavfilter 6.0-r15 apk ffmpeg-libavdevice 6.0.1-r0 apk
ffmpeg-libavformat 6.0-r15 apk ffmpeg-libavfilter 6.0.1-r0 apk
ffmpeg-libavutil 6.0-r15 apk ffmpeg-libavformat 6.0.1-r0 apk
ffmpeg-libpostproc 6.0-r15 apk ffmpeg-libavutil 6.0.1-r0 apk
ffmpeg-libswresample 6.0-r15 apk ffmpeg-libpostproc 6.0.1-r0 apk
ffmpeg-libswscale 6.0-r15 apk ffmpeg-libswresample 6.0.1-r0 apk
fgrosse/phpasn1 v2.3.0 php-composer ffmpeg-libswscale 6.0.1-r0 apk
files_pdfviewer 2.9.0 npm fgrosse/phpasn1 v2.3.0 php-composer
firstrunwizard 2.17.0 npm files_pdfviewer 2.9.0 npm
flac-libs 1.4.3-r0 apk firstrunwizard 2.17.0 npm
fontconfig 2.14.2-r3 apk flac-libs 1.4.3-r0 apk
freetype 2.13.0-r5 apk fontconfig 2.14.2-r3 apk
fribidi 1.0.13-r0 apk freetype 2.13.0-r5 apk
fusonic/linq v1.1.0 php-composer fribidi 1.0.13-r0 apk
fusonic/opengraph v2.2.0 php-composer fusonic/linq v1.1.0 php-composer
gdbm 1.23-r1 apk fusonic/opengraph v2.2.0 php-composer
gdk-pixbuf 2.42.10-r5 apk gdbm 1.23-r1 apk
ghostscript 10.01.2-r0 apk gdk-pixbuf 2.42.10-r5 apk
giggsey/libphonenumber-for-php-lite 8.13.12 php-composer ghostscript 10.02.0-r0 apk
git 2.40.1-r0 apk giggsey/libphonenumber-for-php-lite 8.13.12 php-composer
glib 2.76.4-r0 apk git 2.40.1-r0 apk
glslang-libs 1.3.243.0-r1 apk glib 2.76.4-r0 apk
gmp 6.2.1-r3 apk glslang-libs 1.3.243.0-r1 apk
gnu-libiconv 1.17-r1 apk gmp 6.2.1-r3 apk
gnu-libiconv-libs 1.17-r1 apk gnu-libiconv 1.17-r1 apk
gnutls 3.8.0-r2 apk gnu-libiconv-libs 1.17-r1 apk
graphite2 1.3.14-r5 apk gnutls 3.8.3-r0 apk
guzzlehttp/guzzle 7.5.0 php-composer graphite2 1.3.14-r5 apk
guzzlehttp/promises 1.5.2 php-composer guzzlehttp/guzzle 7.5.0 php-composer
guzzlehttp/psr7 2.4.5 php-composer guzzlehttp/promises 1.5.2 php-composer
guzzlehttp/uri-template v0.2.0 php-composer guzzlehttp/psr7 2.4.5 php-composer
harfbuzz 7.3.0-r0 apk guzzlehttp/uri-template v0.2.0 php-composer
hexogen/kdtree v0.2.5 php-composer harfbuzz 7.3.0-r0 apk
hwdata-pci 0.370-r0 apk hexogen/kdtree v0.2.5 php-composer
icewind/searchdav v3.0.1 php-composer hwdata-pci 0.370-r0 apk
icewind/smb v3.5.4 php-composer icewind/searchdav v3.1.0 php-composer
icewind/streams v0.7.7 php-composer icewind/smb v3.5.4 php-composer
icu-data-en 73.2-r2 apk icewind/streams v0.7.7 php-composer
icu-libs 73.2-r2 apk icu-data-en 73.2-r2 apk
imagemagick 7.1.1.13-r0 apk icu-libs 73.2-r2 apk
imagemagick-libs 7.1.1.13-r0 apk imagemagick 7.1.1.13-r1 apk
jansson 2.14-r3 apk imagemagick-libs 7.1.1.13-r1 apk
jbig2dec 0.19-r3 apk jansson 2.14-r3 apk
jq 1.6-r3 apk jbig2dec 0.19-r3 apk
justinrainbow/json-schema 5.2.10 php-composer jq 1.6-r4 apk
lame-libs 3.100-r5 apk justinrainbow/json-schema 5.2.10 php-composer
laravel/serializable-closure v1.2.2 php-composer lame-libs 3.100-r5 apk
lcms2 2.15-r2 apk laravel/serializable-closure v1.2.2 php-composer
ldb 2.7.2-r1 apk lcms2 2.15-r2 apk
league/flysystem 2.5.0 php-composer ldb 2.7.2-r1 apk
league/mime-type-detection 1.11.0 php-composer league/flysystem 2.5.0 php-composer
league/uri 6.4.0 php-composer league/mime-type-detection 1.11.0 php-composer
league/uri-interfaces 2.2.0 php-composer league/uri 6.4.0 php-composer
libacl 2.3.1-r3 apk league/uri-interfaces 2.2.0 php-composer
libarchive 3.7.2-r0 apk libacl 2.3.1-r3 apk
libass 0.17.1-r0 apk libarchive 3.7.2-r0 apk
libasyncns 0.8-r1 apk libass 0.17.1-r0 apk
libattr 2.5.1-r4 apk libasyncns 0.8-r1 apk
libavif 0.11.1-r2 apk libattr 2.5.1-r4 apk
libblkid 2.38.1-r8 apk libavif 0.11.1-r2 apk
libbluray 1.3.4-r0 apk libblkid 2.38.1-r8 apk
libbsd 0.11.7-r1 apk libbluray 1.3.4-r0 apk
libbz2 1.0.8-r5 apk libbsd 0.11.7-r1 apk
libc-utils 0.7.2-r5 apk libbz2 1.0.8-r5 apk
libcap2 2.69-r0 apk libc-utils 0.7.2-r5 apk
libcrypto3 3.1.4-r0 apk libcap2 2.69-r0 apk
libcurl 8.4.0-r0 apk libcrypto3 3.1.4-r4 apk
libdav1d 1.2.1-r0 apk libcurl 8.5.0-r0 apk
libde265 1.0.12-r0 apk libdav1d 1.2.1-r0 apk
libdrm 2.4.115-r4 apk libde265 1.0.15-r0 apk
libedit 20221030.3.1-r1 apk libdrm 2.4.115-r4 apk
libevent 2.1.12-r6 apk libedit 20221030.3.1-r1 apk
libexpat 2.5.0-r1 apk libevent 2.1.12-r6 apk
libffi 3.4.4-r2 apk libexpat 2.5.0-r1 apk
libformw 6.4_p20230506-r0 apk libffi 3.4.4-r2 apk
libgcc 12.2.1_git20220924-r10 apk libformw 6.4_p20230506-r0 apk
libgomp 12.2.1_git20220924-r10 apk libgcc 12.2.1_git20220924-r10 apk
libheif 1.16.2-r0 apk libgomp 12.2.1_git20220924-r10 apk
libhwy 1.0.4-r1 apk libheif 1.16.2-r0 apk
libice 1.1.1-r2 apk libhwy 1.0.4-r1 apk
libidn2 2.3.4-r1 apk libice 1.1.1-r2 apk
libintl 0.21.1-r7 apk libidn2 2.3.4-r1 apk
libjpeg-turbo 2.1.5.1-r3 apk libintl 0.21.1-r7 apk
libjxl 0.8.2-r0 apk libjpeg-turbo 2.1.5.1-r3 apk
libldap 2.6.5-r0 apk libjxl 0.8.2-r0 apk
libltdl 2.4.7-r2 apk libldap 2.6.5-r0 apk
libmcrypt 2.5.8-r10 apk libltdl 2.4.7-r2 apk
libmd 1.0.4-r2 apk libmd 1.0.4-r2 apk
libmemcached-libs 1.1.4-r1 apk libmemcached-libs 1.1.4-r1 apk
libmount 2.38.1-r8 apk libmount 2.38.1-r8 apk
libncursesw 6.4_p20230506-r0 apk libncursesw 6.4_p20230506-r0 apk
libogg 1.3.5-r4 apk libogg 1.3.5-r4 apk
libopenmpt 0.7.2-r0 apk libopenmpt 0.7.2-r0 apk
libpanelw 6.4_p20230506-r0 apk libpanelw 6.4_p20230506-r0 apk
libpciaccess 0.17-r2 apk libpciaccess 0.17-r2 apk
libplacebo 5.264.1-r1 apk libplacebo 5.264.1-r1 apk
libpng 1.6.39-r3 apk libpng 1.6.39-r3 apk
libpq 15.4-r0 apk libpq 15.5-r0 apk
libproc2 4.0.4-r0 apk libproc2 4.0.4-r0 apk
libpulse 16.1-r10 apk libpulse 16.1-r10 apk
libraw 0.21.1-r1 apk libraw 0.21.1-r1 apk
librist 0.2.7-r0 apk librist 0.2.7-r0 apk
librsvg 2.56.3-r0 apk librsvg 2.56.3-r0 apk
libsasl 2.1.28-r4 apk libsasl 2.1.28-r4 apk
libsm 1.2.4-r1 apk libsm 1.2.4-r1 apk
libsmbclient 4.18.8-r0 apk libsmbclient 4.18.9-r0 apk
libsndfile 1.2.0-r2 apk libsndfile 1.2.0-r2 apk
libsodium 1.0.18-r3 apk libsodium 1.0.18-r3 apk
libsrt 1.5.2-r0 apk libsrt 1.5.2-r0 apk
libssh 0.10.5-r0 apk libssh 0.10.5-r0 apk
libssl3 3.1.4-r0 apk libssl3 3.1.4-r4 apk
libstdc++ 12.2.1_git20220924-r10 apk libstdc++ 12.2.1_git20220924-r10 apk
libtasn1 4.19.0-r1 apk libtasn1 4.19.0-r1 apk
libtheora 1.1.1-r17 apk libtheora 1.1.1-r17 apk
libunibreak 5.1-r0 apk libunibreak 5.1-r0 apk
libunistring 1.1-r1 apk libunistring 1.1-r1 apk
libuuid 2.38.1-r8 apk libuuid 2.38.1-r8 apk
libva 2.18.0-r1 apk libva 2.18.0-r1 apk
libvdpau 1.5-r1 apk libvdpau 1.5-r1 apk
libvorbis 1.3.7-r1 apk libvorbis 1.3.7-r1 apk
libvpx 1.13.0-r2 apk libvpx 1.13.0-r2 apk
libwbclient 4.18.8-r0 apk libwbclient 4.18.9-r0 apk
libwebp 1.3.2-r0 apk libwebp 1.3.2-r0 apk
libx11 1.8.7-r0 apk libx11 1.8.7-r0 apk
libxau 1.0.11-r2 apk libxau 1.0.11-r2 apk
libxcb 1.15-r1 apk libxcb 1.15-r1 apk
libxdmcp 1.1.4-r2 apk libxdmcp 1.1.4-r2 apk
libxext 1.3.5-r2 apk libxext 1.3.5-r2 apk
libxfixes 6.0.1-r2 apk libxfixes 6.0.1-r2 apk
libxft 2.3.8-r1 apk libxft 2.3.8-r1 apk
libxml2 2.11.4-r0 apk libxml2 2.11.6-r0 apk
libxpm 3.5.16-r1 apk libxpm 3.5.16-r1 apk
libxrender 0.9.11-r3 apk libxrender 0.9.11-r3 apk
libxt 1.3.0-r2 apk libxt 1.3.0-r2 apk
libxxhash 0.8.2-r0 apk libxxhash 0.8.2-r0 apk
libzip 1.9.2-r2 apk libzip 1.9.2-r2 apk
libzmq 4.3.4-r4 apk libzmq 4.3.4-r4 apk
linux-pam 1.5.2-r10 apk linux-pam 1.5.2-r10 apk
lmdb 0.9.31-r0 apk lmdb 0.9.31-r0 apk
logrotate 3.21.0-r1 apk logrotate 3.21.0-r1 apk
lz4-libs 1.9.4-r4 apk lz4-libs 1.9.4-r4 apk
mbedtls 2.28.5-r0 apk mbedtls 2.28.5-r0 apk
mexitek/phpcolors v1.0.4 php-composer mexitek/phpcolors v1.0.4 php-composer
microsoft/azure-storage-blob 1.5.4 php-composer microsoft/azure-storage-blob 1.5.4 php-composer
microsoft/azure-storage-common 1.5.2 php-composer microsoft/azure-storage-common 1.5.2 php-composer
mlocati/ip-lib 1.18.0 php-composer mlocati/ip-lib 1.18.0 php-composer
mpg123-libs 1.31.3-r1 apk mpg123-libs 1.31.3-r1 apk
mtdowling/jmespath.php 2.6.1 php-composer mtdowling/jmespath.php 2.6.1 php-composer
musl 1.2.4-r2 apk musl 1.2.4-r2 apk
musl-utils 1.2.4-r2 apk musl-utils 1.2.4-r2 apk
nano 7.2-r1 apk nano 7.2-r1 apk
ncurses-terminfo-base 6.4_p20230506-r0 apk ncurses-terminfo-base 6.4_p20230506-r0 apk
netcat-openbsd 1.219-r1 apk netcat-openbsd 1.219-r1 apk
nettle 3.8.1-r2 apk nettle 3.8.1-r2 apk
nextcloud 1.0.0 npm nextcloud 1.0.0 npm
nextcloud/lognormalizer v1.0.0 php-composer nextcloud/lognormalizer v1.0.0 php-composer
nghttp2-libs 1.57.0-r0 apk nghttp2-libs 1.57.0-r0 apk
nginx 1.24.0-r7 apk nginx 1.24.0-r7 apk
notifications 2.16.0 npm notifications 2.16.0 npm
numactl 2.0.16-r4 apk numactl 2.0.16-r4 apk
onevpl-libs 2023.2.1-r0 apk onevpl-libs 2023.2.1-r0 apk
oniguruma 6.9.8-r1 apk oniguruma 6.9.8-r1 apk
openssl 3.1.4-r0 apk openssl 3.1.4-r4 apk
opus 1.4-r0 apk opus 1.4-r0 apk
orc 0.4.34-r0 apk orc 0.4.34-r0 apk
p11-kit 0.24.1-r2 apk p11-kit 0.24.1-r2 apk
pango 1.50.14-r1 apk pango 1.50.14-r1 apk
password_policy 1.18.0 npm password_policy 1.18.0 npm
pcre 8.45-r3 apk pcre 8.45-r3 apk
pcre2 10.42-r1 apk pcre2 10.42-r1 apk
pear/archive_tar 1.4.14 php-composer pear/archive_tar 1.4.14 php-composer
pear/console_getopt v1.4.3 php-composer pear/console_getopt v1.4.3 php-composer
pear/pear-core-minimal v1.10.10 php-composer pear/pear-core-minimal v1.10.10 php-composer
pear/pear_exception v1.0.2 php-composer pear/pear_exception v1.0.2 php-composer
photos 2.4.0 npm photos 2.4.0 npm
php-http/guzzle7-adapter 1.0.0 php-composer php-http/guzzle7-adapter 1.0.0 php-composer
php-http/httplug 2.2.0 php-composer php-http/httplug 2.2.0 php-composer
php-http/promise 1.1.0 php-composer php-http/promise 1.1.0 php-composer
php-opencloud/openstack v3.2.1 php-composer php-opencloud/openstack v3.2.1 php-composer
php82 8.2.10-r0 apk php82 8.2.13-r0 apk
php82-bcmath 8.2.10-r0 apk php82-bcmath 8.2.13-r0 apk
php82-bz2 8.2.10-r0 apk php82-bz2 8.2.13-r0 apk
php82-common 8.2.10-r0 apk php82-common 8.2.13-r0 apk
php82-ctype 8.2.10-r0 apk php82-ctype 8.2.13-r0 apk
php82-curl 8.2.10-r0 apk php82-curl 8.2.13-r0 apk
php82-dom 8.2.10-r0 apk php82-dom 8.2.13-r0 apk
php82-exif 8.2.10-r0 apk php82-exif 8.2.13-r0 apk
php82-fileinfo 8.2.10-r0 apk php82-fileinfo 8.2.13-r0 apk
php82-fpm 8.2.10-r0 apk php82-fpm 8.2.13-r0 apk
php82-ftp 8.2.10-r0 apk php82-ftp 8.2.13-r0 apk
php82-gd 8.2.10-r0 apk php82-gd 8.2.13-r0 apk
php82-gmp 8.2.10-r0 apk php82-gmp 8.2.13-r0 apk
php82-iconv 8.2.10-r0 apk php82-iconv 8.2.13-r0 apk
php82-imap 8.2.10-r0 apk php82-imap 8.2.13-r0 apk
php82-intl 8.2.10-r0 apk php82-intl 8.2.13-r0 apk
php82-ldap 8.2.10-r0 apk php82-ldap 8.2.13-r0 apk
php82-mbstring 8.2.10-r0 apk php82-mbstring 8.2.13-r0 apk
php82-mysqlnd 8.2.10-r0 apk php82-mysqlnd 8.2.13-r0 apk
php82-opcache 8.2.10-r0 apk php82-opcache 8.2.13-r0 apk
php82-openssl 8.2.10-r0 apk php82-openssl 8.2.13-r0 apk
php82-pcntl 8.2.10-r0 apk php82-pcntl 8.2.13-r0 apk
php82-pdo 8.2.10-r0 apk php82-pdo 8.2.13-r0 apk
php82-pdo_mysql 8.2.10-r0 apk php82-pdo_mysql 8.2.13-r0 apk
php82-pdo_pgsql 8.2.10-r0 apk php82-pdo_pgsql 8.2.13-r0 apk
php82-pdo_sqlite 8.2.10-r0 apk php82-pdo_sqlite 8.2.13-r0 apk
php82-pecl-apcu 5.1.22-r0 apk php82-pecl-apcu 5.1.22-r0 apk
php82-pecl-igbinary 3.2.14-r0 apk php82-pecl-igbinary 3.2.14-r0 apk
php82-pecl-imagick 3.7.0-r5 apk php82-pecl-imagick 3.7.0-r5 apk
php82-pecl-mcrypt 1.0.6-r0 apk php82-pecl-memcached 3.2.0-r1 apk
php82-pecl-memcached 3.2.0-r1 apk php82-pecl-msgpack 2.2.0-r0 apk
php82-pecl-msgpack 2.2.0-r0 apk php82-pecl-redis 6.0.2-r0 apk
php82-pecl-redis 6.0.2-r0 apk php82-pecl-smbclient 1.1.1-r0 apk
php82-pecl-smbclient 1.1.1-r0 apk php82-pgsql 8.2.13-r0 apk
php82-pgsql 8.2.10-r0 apk php82-phar 8.2.13-r0 apk
php82-phar 8.2.10-r0 apk php82-posix 8.2.13-r0 apk
php82-posix 8.2.10-r0 apk php82-session 8.2.13-r0 apk
php82-session 8.2.10-r0 apk php82-simplexml 8.2.13-r0 apk
php82-simplexml 8.2.10-r0 apk php82-sockets 8.2.13-r0 apk
php82-sockets 8.2.10-r0 apk php82-sodium 8.2.13-r0 apk
php82-sodium 8.2.10-r0 apk php82-sqlite3 8.2.13-r0 apk
php82-sqlite3 8.2.10-r0 apk php82-sysvsem 8.2.13-r0 apk
php82-sysvsem 8.2.10-r0 apk php82-xml 8.2.13-r0 apk
php82-xml 8.2.10-r0 apk php82-xmlreader 8.2.13-r0 apk
php82-xmlreader 8.2.10-r0 apk php82-xmlwriter 8.2.13-r0 apk
php82-xmlwriter 8.2.10-r0 apk php82-zip 8.2.13-r0 apk
php82-zip 8.2.10-r0 apk phpseclib/phpseclib 2.0.45 php-composer
phpseclib/phpseclib 2.0.45 php-composer pimple/pimple v3.5.0 php-composer
pimple/pimple v3.5.0 php-composer pixman 0.42.2-r1 apk
pixman 0.42.2-r1 apk pkgconf 1.9.5-r0 apk
pkgconf 1.9.5-r0 apk popt 1.19-r2 apk
popt 1.19-r2 apk privacy 1.12.0 npm
privacy 1.12.0 npm procps-ng 4.0.4-r0 apk
procps-ng 4.0.4-r0 apk psr/cache 3.0.0 php-composer
psr/cache 3.0.0 php-composer psr/clock 1.0.0 php-composer
psr/clock 1.0.0 php-composer psr/container 2.0.2 php-composer
psr/container 2.0.2 php-composer psr/event-dispatcher 1.0.0 php-composer
psr/event-dispatcher 1.0.0 php-composer psr/http-client 1.0.1 php-composer
psr/http-client 1.0.1 php-composer psr/http-factory 1.0.1 php-composer
psr/http-factory 1.0.1 php-composer psr/http-message 1.0.1 php-composer
psr/http-message 1.0.1 php-composer psr/log 1.1.4 php-composer
psr/log 1.1.4 php-composer punic/punic 3.8.1 php-composer
punic/punic 3.8.1 php-composer ralouphie/getallheaders 3.0.3 php-composer
ralouphie/getallheaders 3.0.3 php-composer ramsey/collection 1.1.3 php-composer
ramsey/collection 1.1.3 php-composer ramsey/uuid 4.1.1 php-composer
ramsey/uuid 4.1.1 php-composer readline 8.2.1-r1 apk
readline 8.2.1-r1 apk recommendations 2.0.0 npm
recommendations 2.0.0 npm related_resources 1.3.0 npm
related_resources 1.3.0 npm rsync 3.2.7-r4 apk
rsync 3.2.7-r4 apk rubix/ml dev-chore/bump-flysystem-v2.1.1 php-composer
rubix/ml dev-chore/bump-flysystem-v2.1.1 php-composer rubix/tensor 2.2.3 php-composer
rubix/tensor 2.2.3 php-composer rullzer/easytotp v0.1.4 php-composer
rullzer/easytotp v0.1.4 php-composer sabre/dav 4.5.0 php-composer
sabre/dav 4.4.0 php-composer sabre/event 5.1.4 php-composer
sabre/event 5.1.4 php-composer sabre/http 5.1.10 php-composer
sabre/http 5.1.7 php-composer sabre/uri 2.3.3 php-composer
sabre/uri 2.3.3 php-composer sabre/vobject 4.5.4 php-composer
sabre/vobject 4.5.3 php-composer sabre/xml 2.2.6 php-composer
sabre/xml 2.2.6 php-composer samba-client 4.18.9-r0 apk
samba-client 4.18.8-r0 apk samba-client-libs 4.18.9-r0 apk
samba-client-libs 4.18.8-r0 apk samba-common 4.18.9-r0 apk
samba-common 4.18.8-r0 apk samba-libs 4.18.9-r0 apk
samba-libs 4.18.8-r0 apk samba-util-libs 4.18.9-r0 apk
samba-util-libs 4.18.8-r0 apk scanelf 1.3.7-r1 apk
scanelf 1.3.7-r1 apk scssphp/scssphp v1.11.0 php-composer
scssphp/scssphp v1.11.0 php-composer sdl2 2.26.5-r0 apk
sdl2 2.26.5-r0 apk shaderc 2023.3-r1 apk
shaderc 2023.3-r1 apk shadow 4.13-r4 apk
shadow 4.13-r4 apk shared-mime-info 2.2-r5 apk
shared-mime-info 2.2-r5 apk skalibs 2.13.1.1-r1 apk
skalibs 2.13.1.1-r1 apk soxr 0.1.3-r5 apk
soxr 0.1.3-r5 apk speexdsp 1.2.1-r1 apk
speexdsp 1.2.1-r1 apk spirv-tools 1.3.243.0-r1 apk
spirv-tools 1.3.243.0-r1 apk spomky-labs/base64url v2.0.4 php-composer
spomky-labs/base64url v2.0.4 php-composer spomky-labs/cbor-php v2.0.1 php-composer
spomky-labs/cbor-php v2.0.1 php-composer sqlite-libs 3.41.2-r3 apk
sqlite-libs 3.41.2-r2 apk ssl_client 1.36.1-r5 apk
ssl_client 1.36.1-r4 apk stecman/symfony-console-completion 0.11.0 php-composer
stecman/symfony-console-completion 0.11.0 php-composer sudo 1.9.13_p3-r2 apk
sudo 1.9.13_p3-r2 apk suspicious_login 6.0.0 npm
suspicious_login 6.0.0-dev npm svt-av1-libs 1.6.0-r0 apk
svt-av1-libs 1.6.0-r0 apk symfony/console v5.4.24 php-composer
symfony/console v5.4.24 php-composer symfony/css-selector v5.4.11 php-composer
symfony/css-selector v5.4.11 php-composer symfony/deprecation-contracts v3.0.2 php-composer
symfony/deprecation-contracts v3.0.2 php-composer symfony/dom-crawler v5.4.11 php-composer
symfony/dom-crawler v5.4.11 php-composer symfony/event-dispatcher v5.4.26 php-composer
symfony/event-dispatcher v5.4.26 php-composer symfony/event-dispatcher-contracts v3.0.2 php-composer
symfony/event-dispatcher-contracts v3.0.2 php-composer symfony/http-foundation v5.4.25 php-composer
symfony/http-foundation v5.4.25 php-composer symfony/mailer v5.4.22 php-composer
symfony/mailer v5.4.22 php-composer symfony/mime v5.4.19 php-composer
symfony/mime v5.4.19 php-composer symfony/polyfill-ctype v1.23.0 php-composer
symfony/polyfill-ctype v1.23.0 php-composer symfony/polyfill-intl-grapheme v1.23.1 php-composer
symfony/polyfill-intl-grapheme v1.23.1 php-composer symfony/polyfill-intl-idn v1.27.0 php-composer
symfony/polyfill-intl-idn v1.27.0 php-composer symfony/polyfill-intl-normalizer v1.27.0 php-composer
symfony/polyfill-intl-normalizer v1.27.0 php-composer symfony/polyfill-mbstring v1.27.0 php-composer
symfony/polyfill-mbstring v1.27.0 php-composer symfony/polyfill-php72 v1.27.0 php-composer
symfony/polyfill-php72 v1.27.0 php-composer symfony/polyfill-php73 v1.23.0 php-composer
symfony/polyfill-php73 v1.23.0 php-composer symfony/polyfill-php73 v1.26.0 php-composer
symfony/polyfill-php73 v1.26.0 php-composer symfony/polyfill-php80 v1.27.0 php-composer
symfony/polyfill-php80 v1.27.0 php-composer symfony/process v5.4.24 php-composer
symfony/process v5.4.24 php-composer symfony/routing v5.4.25 php-composer
symfony/routing v5.4.25 php-composer symfony/service-contracts v3.0.2 php-composer
symfony/service-contracts v3.0.2 php-composer symfony/string v6.0.19 php-composer
symfony/string v6.0.19 php-composer symfony/translation v5.4.24 php-composer
symfony/translation v5.4.24 php-composer symfony/translation-contracts v2.4.0 php-composer
symfony/translation-contracts v2.4.0 php-composer talloc 2.4.0-r1 apk
talloc 2.4.0-r1 apk tdb-libs 1.4.8-r1 apk
tdb-libs 1.4.8-r1 apk tevent 0.14.1-r1 apk
tevent 0.14.1-r1 apk thecodingmachine/safe v1.3.3 php-composer
thecodingmachine/safe v1.3.3 php-composer tiff 4.5.1-r0 apk
tiff 4.5.1-r0 apk twofactor_totp 10.0.0-beta2 npm
twofactor_totp 10.0.0-beta2 npm tzdata 2023d-r0 apk
tzdata 2023c-r1 apk utmps-libs 0.1.2.1-r1 apk
utmps-libs 0.1.2.1-r1 apk v4l-utils-libs 1.24.1-r0 apk
v4l-utils-libs 1.24.1-r0 apk vidstab 1.1.1-r0 apk
vidstab 1.1.1-r0 apk viewer 2.2.0 npm
viewer 2.2.0 npm vulkan-loader 1.3.243.0-r1 apk
vulkan-loader 1.3.243.0-r1 apk wapmorgan/mp3info 0.1.0 php-composer
wapmorgan/mp3info 0.1.0 php-composer wayland-libs-client 1.22.0-r2 apk
wayland-libs-client 1.22.0-r2 apk web-auth/cose-lib v3.3.9 php-composer
web-auth/cose-lib v3.3.9 php-composer web-auth/metadata-service v3.3.9 php-composer
web-auth/metadata-service v3.3.9 php-composer web-auth/webauthn-lib v3.3.9 php-composer
web-auth/webauthn-lib v3.3.9 php-composer x264-libs 0.164_git20220602-r1 apk
x264-libs 0.164_git20220602-r1 apk x265-libs 3.5-r4 apk
x265-libs 3.5-r4 apk xvidcore 1.3.7-r1 apk
xvidcore 1.3.7-r1 apk xz-libs 5.4.3-r0 apk
xz-libs 5.4.3-r0 apk zimg 3.0.5-r0 apk
zimg 3.0.5-r0 apk zlib 1.2.13-r1 apk
zlib 1.2.13-r1 apk zstd-libs 1.5.5-r4 apk
zstd-libs 1.5.5-r4 apk
+2
View File
@@ -79,6 +79,8 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "02.01.24:", desc: "Existing users should update: site-confs/default.conf - Cleanup default site conf." }
- { date: "22.12.23:", desc: "Site default conf updating to include mime.types for js and mjs and update location to include more file types." }
- { date: "28.10.23:", desc: "Disable web upgrades using occ during init." } - { date: "28.10.23:", desc: "Disable web upgrades using occ during init." }
- { date: "31.08.23:", desc: "Re-add updatenotification app. This allows users to be notified for app updates, but also notifies for NextCloud updates. Updating NextCloud via the web UI is not supported when using this image." } - { date: "31.08.23:", desc: "Re-add updatenotification app. This allows users to be notified for app updates, but also notifies for NextCloud updates. Updating NextCloud via the web UI is not supported when using this image." }
- { date: "14.08.23:", desc: "Add develop branch." } - { date: "14.08.23:", desc: "Add develop branch." }
@@ -1,4 +1,4 @@
## Version 2023/06/23 - Changelog: https://github.com/linuxserver/docker-nextcloud/commits/master/root/defaults/nginx/site-confs/default.conf.sample ## Version 2024/01/03 - Changelog: https://github.com/linuxserver/docker-nextcloud/commits/master/root/defaults/nginx/site-confs/default.conf.sample
# Set the `immutable` cache control options only for assets with a cache busting `v` argument # Set the `immutable` cache control options only for assets with a cache busting `v` argument
map $arg_v $asset_immutable { map $arg_v $asset_immutable {
@@ -36,25 +36,24 @@ server {
gzip_comp_level 4; gzip_comp_level 4;
gzip_min_length 256; gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; gzip_types application/atom+xml text/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
# Pagespeed is not supported by Nextcloud, so if your server is built # Pagespeed is not supported by Nextcloud, so if your server is built
# with the `ngx_pagespeed` module, uncomment this line to disable it. # with the `ngx_pagespeed` module, uncomment this line to disable it.
#pagespeed off; #pagespeed off;
# The settings allows you to optimize the HTTP2 bandwitdth. # The settings allows you to optimize the HTTP2 bandwidth.
# See https://blog.cloudflare.com/delivering-http-2-upload-speed-improvements/ # See https://blog.cloudflare.com/delivering-http-2-upload-speed-improvements/
# for tunning hints # for tuning hints
client_body_buffer_size 512k; client_body_buffer_size 512k;
# HTTP response headers borrowed from Nextcloud `.htaccess` # HTTP response headers borrowed from Nextcloud `.htaccess`
add_header Referrer-Policy "no-referrer" always; add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always; add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always; add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Permitted-Cross-Domain-Policies "none" always; add_header X-Robots-Tag "noindex, nofollow" always;
add_header X-Robots-Tag "noindex, nofollow" always; add_header X-XSS-Protection "1; mode=block" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak # Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By; fastcgi_hide_header X-Powered-By;
@@ -66,7 +65,7 @@ server {
# that file is correctly served; if it doesn't, then the request is passed to # that file is correctly served; if it doesn't, then the request is passed to
# the front-end controller. This consistent behaviour means that we don't need # the front-end controller. This consistent behaviour means that we don't need
# to specify custom rules for certain paths (e.g. images and other assets, # to specify custom rules for certain paths (e.g. images and other assets,
# `/updater`, `/ocm-provider`, `/ocs-provider`), and thus # `/updater`, `/ocs-provider`), and thus
# `try_files $uri $uri/ /index.php$request_uri` # `try_files $uri $uri/ /index.php$request_uri`
# always provides the desired behaviour. # always provides the desired behaviour.
index index.php index.html /index.php$request_uri; index index.php index.html /index.php$request_uri;
@@ -113,7 +112,7 @@ server {
# to the URI, resulting in a HTTP 500 error response. # to the URI, resulting in a HTTP 500 error response.
location ~ \.php(?:$|/) { location ~ \.php(?:$|/) {
# Required for legacy support # Required for legacy support
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_split_path_info ^(.+?\.php)(/.*)$;
set $path_info $fastcgi_path_info; set $path_info $fastcgi_path_info;
@@ -134,7 +133,8 @@ server {
fastcgi_max_temp_file_size 0; fastcgi_max_temp_file_size 0;
} }
location ~ \.(?:css|js|svg|gif|png|jpg|ico|wasm|tflite|map)$ { # Serve static files
location ~ \.(?:css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite|map|ogg|flac)$ {
try_files $uri /index.php$request_uri; try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463, $asset_immutable"; add_header Cache-Control "public, max-age=15778463, $asset_immutable";
access_log off; # Optional: Don't log access to assets access_log off; # Optional: Don't log access to assets
@@ -142,6 +142,7 @@ server {
location ~ \.wasm$ { location ~ \.wasm$ {
default_type application/wasm; default_type application/wasm;
} }
} }
location ~ \.woff2?$ { location ~ \.woff2?$ {
+2
View File
@@ -0,0 +1,2 @@
# min hour day month weekday command
*/5 * * * * /usr/bin/php /app/www/public/cron.php 2>&1
-9
View File
@@ -1,9 +0,0 @@
# do daily/weekly/monthly maintenance
# min hour day month weekday command
*/15 * * * * run-parts /etc/periodic/15min
0 * * * * run-parts /etc/periodic/hourly
0 2 * * * run-parts /etc/periodic/daily
0 3 * * 6 run-parts /etc/periodic/weekly
0 5 1 * * run-parts /etc/periodic/monthly
# nextcloud cron
*/5 * * * * s6-setuidgid abc php -f /app/www/public/cron.php
@@ -1,23 +0,0 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# make folders
mkdir -p \
/config/crontabs
## root
# if crontabs do not exist in config
if [[ ! -f /config/crontabs/root ]]; then
# copy crontab from system
if crontab -l -u root; then
crontab -l -u root >/config/crontabs/root
fi
# if crontabs still do not exist in config (were not copied from system)
# copy crontab from included defaults (using -n, do not overwrite an existing file)
cp -n /etc/crontabs/root /config/crontabs/
fi
sed -i "s|s6-setuidgid abc php[0-9]* -f /config/www/nextcloud/cron.php|s6-setuidgid abc php -f /app/www/public/cron.php|" /config/crontabs/root
# set permissions and import user crontabs
lsiown root:root /config/crontabs/root
crontab -u root /config/crontabs/root
@@ -1 +0,0 @@
oneshot
@@ -1 +0,0 @@
/etc/s6-overlay/s6-rc.d/init-crontabs-config/run
@@ -21,7 +21,6 @@ if [ -f /config/www/nextcloud/version.php ]; then
! -path "/config/www/nextcloud/config" \ ! -path "/config/www/nextcloud/config" \
! -path "/config/www/nextcloud/themes" \ ! -path "/config/www/nextcloud/themes" \
-delete -delete
sed -i "s|/config/www/nextcloud/cron.php|/app/www/public/cron.php|g" /config/crontabs/root
touch /config/www/nextcloud/config/needs_migration touch /config/www/nextcloud/config/needs_migration
fi fi
@@ -169,3 +168,9 @@ if [ ! -s /config/www/nextcloud/config/config.php ]; then
elif [ -f /config/www/nextcloud/config/config.php ]; then elif [ -f /config/www/nextcloud/config/config.php ]; then
sed -i "s|/app/www/public/data|/data|g" /config/www/nextcloud/config/config.php sed -i "s|/app/www/public/data|/data|g" /config/www/nextcloud/config/config.php
fi fi
#modify javascript mime type and add .mjs support
if [ -s /etc/nginx/mime.types ]; then
sed -i 's|\bjs;|js mjs;|g' /etc/nginx/mime.types
sed -i 's|\bapplication/javascript|text/javascript|g' /etc/nginx/mime.types
fi
+1 -1
View File
@@ -5,7 +5,7 @@ DEFAULT_CONF="/config/nginx/site-confs/default.conf"
OLD_ROOT="root /config/www/nextcloud/;" OLD_ROOT="root /config/www/nextcloud/;"
NEW_ROOT="root /app/www/public;" NEW_ROOT="root /app/www/public;"
if grep -q "${OLD_ROOT}" "${DEFAULT_CONF}"; then if [[ -f "${DEFAULT_CONF}" ]] && grep -q "${OLD_ROOT}" "${DEFAULT_CONF}" 2>/dev/null; then
echo "updating root in ${DEFAULT_CONF}" echo "updating root in ${DEFAULT_CONF}"
sed -i "s|${OLD_ROOT}|${NEW_ROOT}|" "${DEFAULT_CONF}" sed -i "s|${OLD_ROOT}|${NEW_ROOT}|" "${DEFAULT_CONF}"
fi fi