Compare commits

...

25 Commits

Author SHA1 Message Date
Simon L.
37c16e1b75 fix typo
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 11:01:11 +01:00
Simon L.
5be3569df6 Merge pull request #7172 from nextcloud/enh/noid/fix-talk-udp-port
caddy-cc: only open port 443/tcp and forward port 443/udp to talk directly
2025-11-24 10:37:57 +01:00
Simon L.
9f0b2625ea caddy-cc: only open port 443/tcp and forward port 443/udp to talk directly
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 10:22:59 +01:00
Simon L.
cc3ceb1766 increase to v12.1.3
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 10:14:42 +01:00
Simon L.
699e779e43 Merge pull request #7171 from nextcloud/enh/7096/fix-collabora-bug
DockerActionManager: fix bug with collabora using seccomp if it is globally disabled
2025-11-24 10:13:19 +01:00
Simon L.
e848ee396f Merge pull request #7151 from nextcloud/aio-dependency-update
PHP dependency updates
2025-11-24 10:13:10 +01:00
Simon L.
14e0dba06f Merge pull request #7167 from nextcloud/dependabot/github_actions/dot-github/workflows/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6 in /.github/workflows
2025-11-24 10:12:47 +01:00
Simon L.
cef6bde32d Merge pull request #7170 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.2.9-alpine
build(deps): bump haproxy from 3.2.8-alpine to 3.2.9-alpine in /Containers/docker-socket-proxy
2025-11-24 10:11:43 +01:00
Simon L.
0fe8008777 DockerActionManager: fix bug with collabora using seccomp if it is globally disabled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 10:08:12 +01:00
dependabot[bot]
ecb58c81f7 build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.2.8-alpine to 3.2.9-alpine.

---
updated-dependencies:
- dependency-name: haproxy
  dependency-version: 3.2.9-alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 04:16:30 +00:00
szaimen
849d95ff75 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-22 12:03:13 +00:00
dependabot[bot]
eefaf19c21 build(deps): bump actions/checkout from 5 to 6 in /.github/workflows
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 12:17:44 +00:00
Simon L.
595b5db9fb Merge pull request #7161 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.28-fpm-alpine3.22
build(deps): bump php from 8.3.27-fpm-alpine3.22 to 8.3.28-fpm-alpine3.22 in /Containers/nextcloud
2025-11-21 10:03:40 +01:00
Simon L.
4ce772a3ea Merge pull request #7160 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.4.15-fpm-alpine3.22
build(deps): bump php from 8.4.14-fpm-alpine3.22 to 8.4.15-fpm-alpine3.22 in /Containers/mastercontainer
2025-11-21 10:03:25 +01:00
Simon L.
2d0f12a8b6 increase to v12.1.2
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-21 09:58:52 +01:00
Simon L.
d752be6fab Merge pull request #7165 from nextcloud/enh/7157/fix-the-docs
fix the docs regarding START_CONTAINERS
2025-11-21 09:58:09 +01:00
Simon L.
3f65edbfbd Merge pull request #7159 from nextcloud/enh/noid/use-nextcloud-bundle
s3-config: always use the nextcloud bundle for verification
2025-11-21 09:57:16 +01:00
Simon L.
d6cbe210e4 fix the docs regarding START_CONTAINERS
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-21 09:55:48 +01:00
Simon L.
91c40f1908 Merge pull request #7164 from nextcloud/revert-7100-enh/noid/remove-checkduplicate
Revert "ConnectContainerIdToNetwork: remove `CheckDuplicate` as it is deprecated"
2025-11-21 09:33:34 +01:00
Simon L.
65b7afb5cf Merge pull request #7163 from nextcloud/enh/noid/adjust-caddy-docs
adjust aio-caddy docs and config
2025-11-21 09:31:55 +01:00
Simon L.
ff8aed8b38 Revert "ConnectContainerIdToNetwork: remove CheckDuplicate as it is deprecated"
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-21 09:31:39 +01:00
Simon L.
71bb2a7370 adjust aio-caddy docs and config
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-21 09:29:48 +01:00
dependabot[bot]
4e4306945d build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.27-fpm-alpine3.22 to 8.3.28-fpm-alpine3.22.

---
updated-dependencies:
- dependency-name: php
  dependency-version: 8.3.28-fpm-alpine3.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 04:17:12 +00:00
dependabot[bot]
3d62da3cea build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.4.14-fpm-alpine3.22 to 8.4.15-fpm-alpine3.22.

---
updated-dependencies:
- dependency-name: php
  dependency-version: 8.4.15-fpm-alpine3.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 04:16:50 +00:00
Simon L.
ce3c59618b s3-config: always use the nextcloud bundle for verification
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 21:44:46 +01:00
33 changed files with 61 additions and 55 deletions

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Check spelling
uses: codespell-project/actions-codespell@8f01853be192eb0f849a5c7d721450e7a467c579 # v2
with:

View File

@@ -10,7 +10,7 @@ jobs:
name: update collabora
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Run collabora-profile-update
run: |
rm -f php/cool-seccomp-profile.json

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Validate structure
run: |
CONTAINERS="$(find ./community-containers -mindepth 1 -maxdepth 1 -type d)"

View File

@@ -10,7 +10,7 @@ jobs:
name: Run dependency update script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2
with:
php-version: 8.4

View File

@@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install hadolint
run: |

View File

@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Turnstyle
uses: softprops/turnstyle@2e4451ef94c5969eee533c487092052d4d1a53af # v2

View File

@@ -10,7 +10,7 @@ jobs:
name: update to latest imaginary commit on master branch
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Run imaginary-update
run: |
# Imaginary

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Validate Json
run: |
sudo apt-get update

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

View File

@@ -36,7 +36,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
with:
persist-credentials: false

View File

@@ -11,7 +11,7 @@ jobs:
name: Run nextcloud-update script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Run nextcloud-update script
run: |
# Inspired by https://github.com/nextcloud/docker/blob/master/update.sh

View File

@@ -16,7 +16,7 @@ jobs:
name: PHP Deprecation Detector
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2
with:

View File

@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:

View File

@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2

View File

@@ -32,7 +32,7 @@ jobs:
name: static-psalm-analysis
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
with:
persist-credentials: false

View File

@@ -15,7 +15,7 @@ jobs:
name: Check Shell
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Run Shellcheck
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # v2.0.0
with:

View File

@@ -10,7 +10,7 @@ jobs:
name: update talk
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Run talk-container-update
run: |
# Recording

View File

@@ -24,7 +24,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2

View File

@@ -8,4 +8,4 @@ jobs:
name: update copyright
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: update helm chart
run: |
set -x

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: update yaml files
run: |
sudo bash manual-install/update-yaml.sh

View File

@@ -10,7 +10,7 @@ jobs:
name: update watchtower
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Run watchtower-container-update
run: |
# Watchtower

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM haproxy:3.2.8-alpine
FROM haproxy:3.2.9-alpine
# hadolint ignore=DL3002
USER root

View File

@@ -6,7 +6,7 @@ FROM docker:29.0.2-cli AS docker
FROM caddy:2.10.2-alpine AS caddy
# From https://github.com/docker-library/php/blob/master/8.4/alpine3.22/fpm/Dockerfile
FROM php:8.4.14-fpm-alpine3.22
FROM php:8.4.15-fpm-alpine3.22
EXPOSE 80
EXPOSE 8080

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.27-fpm-alpine3.22
FROM php:8.3.28-fpm-alpine3.22
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G

View File

@@ -22,7 +22,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
// required for some non Amazon S3 implementations
'use_path_style' => strtolower($use_path) === 'true',
// required for older protocol versions
'legacy_auth' => strtolower($use_legacyauth) === 'true'
'legacy_auth' => strtolower($use_legacyauth) === 'true',
'use_nextcloud_bundle' => 1,
)
)
);

View File

@@ -13,11 +13,6 @@
"ip_binding": "",
"port_number": "443",
"protocol": "tcp"
},
{
"ip_binding": "",
"port_number": "443",
"protocol": "udp"
}
],
"environment": [
@@ -44,7 +39,7 @@
"aio_variables": [
"apache_ip_binding=@INTERNAL",
"apache_port=11000",
"turn_domain=turn.%NC_DOMAIN%",
"turn_domain=%NC_DOMAIN%",
"talk_port=443"
],
"nextcloud_exec_commands": [

View File

@@ -4,7 +4,7 @@ This container bundles caddy and auto-configures it for you. It also covers [vau
### Notes
- This container is incompatible with the [npmplus](https://github.com/nextcloud/all-in-one/tree/main/community-containers/npmplus) community container. So make sure that you do not enable both at the same time!
- Make sure that no other service is using port 443 on your host as otherwise the containers will fail to start. You can check this with `sudo netstat -tulpn | grep 443` before installing AIO.
- Starting with AIO v12, the Talk port that was usually exposed on port 3478 is now set to port 443 udp and tcp and reachable via `turn.your-nc-domain.com`. So instead of opening port 3478, you need to configure the mentioned subdomain by using a cname record. For the changes to become activated, you need to go to `https://your-nc-domain.com/settings/admin/talk` and delete all turn and stun servers. Then restart the containers and the new config should become active.
- Starting with AIO v12, the Talk port that was usually exposed on port 3478 is now set to port 443 udp and tcp and reachable via `your-nc-domain.com`. For the changes to become activated, you need to go to `https://your-nc-domain.com/settings/admin/talk` and delete all turn and stun servers. Then restart the containers and the new config should become active.
- Starting with AIO v12, you can also limit vaultwarden, stalwart and lldap to certain ip-addresses. You can do so by creating a `allowed-IPs-vaultwarden.txt`, `allowed-IPs-stalwart.txt`, or `allowed-IPs-lldap.txt` file in the `nextcloud-aio-caddy` directory of your admin user and adding the ip-addresses in these files.
- If you want to use this with [vaultwarden](https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden), make sure that you point `bw.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for vaultwarden.
- If you want to use this with [stalwart](https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart), make sure that you point `mail.your-nc-domain.com` to your server using an A, AAAA or CNAME record so that caddy can get a certificate automatically for stalwart.

26
php/composer.lock generated
View File

@@ -1148,22 +1148,22 @@
},
{
"name": "slim/slim",
"version": "4.15.0",
"version": "4.15.1",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "17eba5182975878a0ab9b27982cd2e2cfcb67ea2"
"reference": "887893516557506f254d950425ce7f5387a26970"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/17eba5182975878a0ab9b27982cd2e2cfcb67ea2",
"reference": "17eba5182975878a0ab9b27982cd2e2cfcb67ea2",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/887893516557506f254d950425ce7f5387a26970",
"reference": "887893516557506f254d950425ce7f5387a26970",
"shasum": ""
},
"require": {
"ext-json": "*",
"nikic/fast-route": "^1.3",
"php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0",
"php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"psr/container": "^1.0 || ^2.0",
"psr/http-factory": "^1.1",
"psr/http-message": "^1.1 || ^2.0",
@@ -1183,7 +1183,7 @@
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.1",
"phpstan/phpstan": "^1 || ^2",
"phpunit/phpunit": "^9.6",
"phpunit/phpunit": "^9.6 || ^10 || ^11 || ^12",
"slim/http": "^1.3",
"slim/psr7": "^1.6",
"squizlabs/php_codesniffer": "^3.10",
@@ -1260,7 +1260,7 @@
"type": "tidelift"
}
],
"time": "2025-08-20T18:16:16+00:00"
"time": "2025-11-21T12:23:44+00:00"
},
{
"name": "slim/twig-view",
@@ -3519,16 +3519,16 @@
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.10.1",
"version": "1.11.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "431c02da15e566adb0ad9c5030fa6f6204d9de9e"
"reference": "f626740b38009078de0dc8b2b9dc4e7f749c6eba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/431c02da15e566adb0ad9c5030fa6f6204d9de9e",
"reference": "431c02da15e566adb0ad9c5030fa6f6204d9de9e",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/f626740b38009078de0dc8b2b9dc4e7f749c6eba",
"reference": "f626740b38009078de0dc8b2b9dc4e7f749c6eba",
"shasum": ""
},
"require": {
@@ -3571,9 +3571,9 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.1"
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.11.1"
},
"time": "2025-11-18T07:51:16+00:00"
"time": "2025-11-21T11:31:57+00:00"
},
{
"name": "phpstan/phpdoc-parser",

View File

@@ -209,7 +209,7 @@ class ConfigurationManager
public function SetFulltextsearchEnabledState(int $value) : void {
// Elasticsearch does not work on kernels without seccomp anymore. See https://github.com/nextcloud/all-in-one/discussions/5768
if ($this->GetCollaboraSeccompDisabledState() === 'true') {
if ($this->isSeccompDisabled()) {
$value = 0;
}
@@ -757,7 +757,7 @@ class ConfigurationManager
public function GetCollaboraSeccompPolicy() : string {
$defaultString = '--o:security.seccomp=';
if ($this->GetCollaboraSeccompDisabledState() !== 'true') {
if (!$this->isSeccompDisabled()) {
return $defaultString . 'true';
}
return $defaultString . 'false';
@@ -770,6 +770,13 @@ class ConfigurationManager
return $this->GetEnvironmentalVariableOrConfig($envVariableName, $configName, $defaultValue);
}
public function isSeccompDisabled() : bool {
if ($this->GetCollaboraSeccompDisabledState() === 'true') {
return true;
}
return false;
}
/**
* @throws InvalidSettingConfigurationException
*/

View File

@@ -290,8 +290,8 @@ readonly class DockerActionManager {
}
} else if ($port === '%TALK_PORT%') {
$port = $this->configurationManager->GetTalkPort();
// Skip publishing talk port if it is set to 443
if ($port === '443') {
// Skip publishing talk tcp port if it is set to 443
if ($port === '443' && $protocol === 'tcp') {
continue;
}
}
@@ -415,9 +415,11 @@ readonly class DockerActionManager {
// Special things for the collabora container which should not be exposed in the containers.json
} elseif ($container->GetIdentifier() === 'nextcloud-aio-collabora') {
// Load reference seccomp profile for collabora
$seccompProfile = (string)file_get_contents(DataConst::GetCollaboraSeccompProfilePath());
$requestBody['HostConfig']['SecurityOpt'] = ["label:disable", "seccomp=$seccompProfile"];
if (!$this->configurationManager->isSeccompDisabled()) {
// Load reference seccomp profile for collabora
$seccompProfile = (string)file_get_contents(DataConst::GetCollaboraSeccompProfilePath());
$requestBody['HostConfig']['SecurityOpt'] = ["label:disable", "seccomp=$seccompProfile"];
}
// Additional Collabora options
if ($this->configurationManager->GetAdditionalCollaboraOptions() !== '') {
@@ -849,6 +851,7 @@ readonly class DockerActionManager {
[
'json' => [
'Name' => $network,
'CheckDuplicate' => true,
'Driver' => 'bridge',
'Internal' => false,
]

View File

@@ -17,7 +17,7 @@
<div class="container">
<main>
<h1>Nextcloud AIO v12.1.1</h1>
<h1>Nextcloud AIO v12.1.3</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>

View File

@@ -1093,7 +1093,7 @@ You can do so by running the `/daily-backup.sh` script that is stored in the mas
- `AUTOMATIC_UPDATES` if set to `1`, it will automatically stop the containers, update them and start them including the mastercontainer. If the mastercontainer gets updated, this script's execution will stop as soon as the mastercontainer gets stopped. You can then wait until it is started again and run the script with this flag again in order to update all containers correctly afterwards.
- `DAILY_BACKUP` if set to `1`, it will automatically stop the containers and create a backup. If you want to start them again afterwards, you may have a look at the `START_CONTAINERS` option.
- `STOP_CONTAINERS` if set to `1`, it will automatically stop the containers at the start of the script. Implied by `DAILY_BACKUP=1`.
- `START_CONTAINERS` if set to `1`, it will automatically start the containers at the end of the script, without updating them. Implied by `DAILY_BACKUP=1`.
- `START_CONTAINERS` if set to `1`, it will automatically start the containers at the end of the script, without updating them. Implied by `AUTOMATIC_UPDATES=1`.
- `CHECK_BACKUP` if set to `1`, it will start the integrity check of all borg backups made by AIO. Note that the backup check is non blocking so containers can be kept running while the check lasts. That means you can't pass `DAILY_BACKUP=1` at the same time. The output of the check can be found in the logs of the container `nextcloud-aio-borgbackup`.
One example to do a backup would be `sudo docker exec -it --env DAILY_BACKUP=1 nextcloud-aio-mastercontainer /daily-backup.sh`, which you can run via a cronjob or put it in a script.