Compare commits

...

250 commits

Author SHA1 Message Date
Simon L.
9c0334d3f0
Merge pull request #7538 from nextcloud/dependabot/github_actions/dot-github/workflows/actions/github-script-8.0.0
Some checks failed
Codespell / Check spelling (push) Has been cancelled
build(deps): bump actions/github-script from 6.4.1 to 8.0.0 in /.github/workflows
2026-02-02 14:54:09 +01:00
dependabot[bot]
e95f5cc590
build(deps): bump actions/github-script in /.github/workflows
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.1 to 8.0.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](d7906e4ad0...ed597411d8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 13:26:38 +00:00
Simon L.
b8f594b09a fix logic detail
Some checks failed
Codespell / Check spelling (push) Waiting to run
Validate community containers / Validate community containers (push) Has been cancelled
Docker Lint / docker-lint (push) Has been cancelled
Json Validator / Json Validator (push) Has been cancelled
Lint php / php-lint (push) Has been cancelled
PHP Deprecation Detector / PHP Deprecation Detector (push) Has been cancelled
Playwright Tests on push / test (push) Has been cancelled
Static analysis / static-psalm-analysis (push) Has been cancelled
Shellcheck / Check Shell (push) Has been cancelled
Twig Lint / twig-lint (push) Has been cancelled
Lint php / php-lint-summary (push) Has been cancelled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-02 11:22:43 +01:00
Simon L.
9c0c55dc7e
Merge pull request #7536 from nextcloud/enh/noid/fix-daily-backup
fix daily-backup.sh edge case
2026-02-02 11:07:13 +01:00
Simon L.
c84416df5d fix daily-backup.sh edge case
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-02 11:06:08 +01:00
Simon L.
cfff44954b increase version to 12.6.1
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-02 10:28:57 +01:00
Simon L.
733330fd1d
Merge pull request #7531 from nextcloud/docjyJ-patch-1
fix Nextcloud integration URL for local AI
2026-02-02 10:28:07 +01:00
Simon L.
06090a2677
Merge pull request #7534 from nextcloud/enh/7533/fix-daily-backup-script
daily-backup.sh: continue with script if `wasStartButtonClicked=true` was found
2026-02-02 10:27:38 +01:00
Simon L.
4eb45ebfdb
Merge pull request #7532 from nextcloud/wrap-setconfig-into-config-transaction
Wrap ConfigurationController#SetConfig into a "transaction"
2026-02-02 10:27:17 +01:00
Pablo Zmdl
82cbbe1829 Wrap ConfigurationController#SetConfig into a "transaction"
This avoids a lot of subsequent writes and reads from the file system, because
now only commitTransaction() actually writes the config file.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-02 10:17:57 +01:00
Simon L.
cba66dec0b daily-backup.sh: continue with script if wasStartButtonClicked=true was found
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-02 10:11:00 +01:00
Jean-Yves
88b2121eaa
hotfix: Update Nextcloud integration URL for local AI
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2026-02-01 11:37:51 +01:00
Simon L.
4ecb870885
Merge pull request #7522 from nextcloud/enh/noid/block-merging
Some checks failed
Codespell / Check spelling (push) Has been cancelled
add a workflow that blocks merging if a pre-release was published
2026-01-30 15:08:46 +01:00
Simon L.
dae8102088 rename name of workflow
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-30 15:00:48 +01:00
Simon L.
b1cea36dfa add a workflow that blocks merging if a pre-release was published
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-30 14:41:06 +01:00
Simon L.
a037be95c7 fix remaining rename of collabora to Nextcloud Office
Some checks failed
Codespell / Check spelling (push) Waiting to run
Docker Lint / docker-lint (push) Has been cancelled
Lint php / php-lint (push) Has been cancelled
PHP Deprecation Detector / PHP Deprecation Detector (push) Has been cancelled
Playwright Tests on push / test (push) Has been cancelled
Static analysis / static-psalm-analysis (push) Has been cancelled
Twig Lint / twig-lint (push) Has been cancelled
Lint php / php-lint-summary (push) Has been cancelled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-30 09:51:08 +01:00
Simon L.
3bde5259f2
Merge pull request #7520 from nextcloud/enh/noid/refactor-apache-additional-network
only allow to set `APACHE_ADDITIONAL_NETWORK` via environmental variable and do not restore it on backup restore
2026-01-30 09:27:48 +01:00
Simon L.
748b2cc73b only allow to set APACHE_ADDITIONAL_NETWORK via environmental variable and do not restore it on backup restore
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-30 09:20:00 +01:00
Simon L.
fcc4d8b185
Merge pull request #7519 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.5.4
build(deps): bump nextcloud-releases/whiteboard from v1.5.3 to v1.5.4 in /Containers/whiteboard
2026-01-30 07:47:03 +01:00
Simon L.
e78ed860b9
Merge pull request #7518 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.3.2-alpine
build(deps): bump haproxy from 3.3.1-alpine to 3.3.2-alpine in /Containers/docker-socket-proxy
2026-01-30 07:46:39 +01:00
dependabot[bot]
716d3b0f17
build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.5.3 to v1.5.4.

---
updated-dependencies:
- dependency-name: nextcloud-releases/whiteboard
  dependency-version: v1.5.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 04:08:51 +00:00
dependabot[bot]
b55260842d
build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.3.1-alpine to 3.3.2-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 04:07:42 +00:00
Simon L.
6b9682936b
Merge pull request #7516 from nextcloud/enh/noid/rename-collabora-to-nextcloud-office
Some checks failed
Codespell / Check spelling (push) Waiting to run
Docker Lint / docker-lint (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Playwright Tests on push / test (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
Twig Lint / twig-lint (push) Waiting to run
Validate community containers / Validate community containers (push) Has been cancelled
Json Validator / Json Validator (push) Has been cancelled
Shellcheck / Check Shell (push) Has been cancelled
aio-interface: rename Collabora everywhere to Nextcloud Office
2026-01-29 16:12:09 +01:00
Jean-Yves
12b065f9b6
Adjust local-ai community container to add Vulkan support (#5797)
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
Co-authored-by: Simon L. <szaimen@e.mail.de>
2026-01-29 16:11:04 +01:00
Simon L.
ec6850be63 aio-interface: rename Collabora everywhere to Nextcloud Office
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-29 15:04:23 +01:00
MrAn0nym
ffd8dac1b4
Fix: Additional Collabora options not working correctly (#7481)
Signed-off-by: MrAn0nym <63542658+MrAn0nym@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Pablo Zmdl <57864086+pabzm@users.noreply.github.com>
2026-01-29 14:29:15 +01:00
Simon L.
8ff8d7d11e
Merge pull request #7502 from nextcloud/szaimen-patch-1
nextcloud-entrypoint.sh: improve GPG key import method
2026-01-29 13:55:49 +01:00
Simon L.
739658a1c1
Merge pull request #7514 from nextcloud/dependabot/github_actions/dot-github/workflows/peter-evans/create-pull-request-8.1.0
build(deps): bump peter-evans/create-pull-request from 7.0.11 to 8.1.0 in /.github/workflows
2026-01-29 13:55:17 +01:00
Simon L.
a5efaafef2 update-yaml.sh: remove the NC_AIO_VERSION
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-29 13:54:31 +01:00
Simon L.
c64ecba63c Update GPG key import method in entrypoint.sh
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-29 13:44:14 +01:00
dependabot[bot]
ff3fb24fa7
build(deps): bump peter-evans/create-pull-request in /.github/workflows
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.11 to 8.1.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](22a9089034...c0f553fe54)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 12:10:04 +00:00
Simon L.
6b0f315cb6
Merge pull request #7512 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.23.3
Some checks are pending
Codespell / Check spelling (push) Waiting to run
Docker Lint / docker-lint (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Playwright Tests on push / test (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/watchtower
2026-01-29 10:50:41 +01:00
Simon L.
ce87fc855f
Merge pull request #7511 from nextcloud/dependabot/docker/Containers/talk/alpine-3.23.3
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/talk
2026-01-29 10:50:29 +01:00
Simon L.
b7b0ebf3c2
Merge pull request #7510 from nextcloud/dependabot/docker/Containers/notify-push/alpine-3.23.3
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/notify-push
2026-01-29 10:50:17 +01:00
Simon L.
af8a62070d
Merge pull request #7509 from nextcloud/dependabot/docker/Containers/imaginary/alpine-3.23.3
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/imaginary
2026-01-29 10:50:01 +01:00
Simon L.
450c90ab32
Merge pull request #7508 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.23.3
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/domaincheck
2026-01-29 10:49:49 +01:00
Simon L.
13f74cc147
Merge pull request #7507 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.8.2.1
build(deps): bump collabora/code from 25.04.8.1.1 to 25.04.8.2.1 in /Containers/collabora
2026-01-29 10:49:37 +01:00
Simon L.
b6bfeae10e
Merge pull request #7506 from nextcloud/dependabot/docker/Containers/clamav/alpine-3.23.3
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/clamav
2026-01-29 10:49:24 +01:00
Simon L.
5585d2e650
Merge pull request #7505 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.23.3
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/borgbackup
2026-01-29 10:49:10 +01:00
Simon L.
97c0738719
Merge pull request #7504 from nextcloud/dependabot/docker/Containers/alpine/alpine-3.23.3
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/alpine
2026-01-29 10:48:32 +01:00
Simon L.
4be368e606
Merge pull request #7476 from nextcloud/docjyJ-patch-1
Add Pull request Template
2026-01-29 09:58:37 +01:00
Simon L.
b47e894681 increase timeout for backup restore
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-29 09:54:34 +01:00
Simon L.
7de7ee1244
apply suggestion
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-29 09:47:21 +01:00
Simon L.
14740161b8
Merge pull request #7501 from nextcloud/lower-case-method-names-in-configuration-manager
Lower case method names in ConfigurationManager
2026-01-29 09:40:33 +01:00
dependabot[bot]
a72b79f63b
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/watchtower
Bumps alpine from 3.23.2 to 3.23.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:08:55 +00:00
dependabot[bot]
3ba704b233
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/talk
Bumps alpine from 3.23.2 to 3.23.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:08:41 +00:00
dependabot[bot]
d6f1bdd8d3
build(deps): bump alpine in /Containers/notify-push
Bumps alpine from 3.23.2 to 3.23.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:08:35 +00:00
dependabot[bot]
8e48e92ebc
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/imaginary
Bumps alpine from 3.23.2 to 3.23.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:07:58 +00:00
dependabot[bot]
abdcc9f551
build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.23.2 to 3.23.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:07:52 +00:00
dependabot[bot]
b3a4eda249
build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.8.1.1 to 25.04.8.2.1.

---
updated-dependencies:
- dependency-name: collabora/code
  dependency-version: 25.04.8.2.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:07:46 +00:00
dependabot[bot]
da70dafa3d
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/clamav
Bumps alpine from 3.23.2 to 3.23.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:07:45 +00:00
dependabot[bot]
120c9ba927
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/borgbackup
Bumps alpine from 3.23.2 to 3.23.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:07:42 +00:00
dependabot[bot]
caac0443b3
build(deps): bump alpine from 3.23.2 to 3.23.3 in /Containers/alpine
Bumps alpine from 3.23.2 to 3.23.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 04:07:36 +00:00
Pablo Zmdl
bf43a6dae6 Lower case method names in ConfigurationManager
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 16:51:36 +01:00
Simon L.
5752556e4f
Merge pull request #7437 from nextcloud/enh/noid/insert-version-to-nextcloud
Some checks are pending
Codespell / Check spelling (push) Waiting to run
Json Validator / Json Validator (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Playwright Tests on push / test (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
Shellcheck / Check Shell (push) Waiting to run
insert the AIO version into Nextcloud's system config
2026-01-28 15:40:59 +01:00
Simon L.
9871a3eb9a insert the AIO version into Nextcloud's system config
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-28 15:17:15 +01:00
Simon L.
e9108e3660
Merge pull request #7392 from nextcloud/configmanager-property-hooks
Use property hooks to replace classic getter and setter methods.
2026-01-28 15:10:34 +01:00
Simon L.
27020e608d
fix get-configurable-aio-variables.sh script
Signed-off-by: Simon L. <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-28 13:28:07 +01:00
Simon L.
d813314494
Merge pull request #7499 from nextcloud/aio-dependency-update
PHP dependency updates
2026-01-28 13:16:56 +01:00
szaimen
0ee76078ad php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-28 12:03:53 +00:00
Pablo Zmdl
5ba678c082 Non-functional addition to camelizing nextcloud_mount to nextcloudMount
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 12:08:07 +01:00
Pablo Zmdl
5b6e0f30a6 Fix assignment of INSTALL_LATEST_MAJOR from env replacement
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
d9d4e3680f Fix residue from change to use start/commitTransaction()
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
659b1ca383 Fix calling booleanize
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
ec66b359e0 Check arguments to camelize() for usefulness
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
078f3caf8a Move all properties to the top of the file
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
3cfe307a5c Make nextcloudKeepDisabledApps an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
5bdcfd67eb Make 'enableNvidiaGpu' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
5fc4951ba0 Make 'nextcloudEnableDriDevice' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
0cb79a387f Make 'disableBackupSection' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
08438aff42 Make 'apacheAdditionalNetwork' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
dc5dc0215c Make 'collaboraSeccompDisabled' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
22a26268e0 Helper to booleanize environment-or-config-values
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
c3477a7eb2 Make 'nextcloudAdditionalPhpExtensions' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
d50dc2db1d Make 'nextcloudAdditionalApks' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
4ad8fcf258 Make 'trustedCacertsDir' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
63245430ef Make 'dockerSocketPath' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
bfa2b64674 Make 'fulltextsearchJavaOptions' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
365e1e34e4 Make 'borgRetentionPolicy' an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
0ed83c5258 Move get-configurable-aio-variables.sh into php/ folder
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
8b8f60f76b Camelize property nextcloud_memory_limit => nextcloudMemoryLimit
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
bbf41cfdd3 Camelize property nextcloud_upload_limit => nextcloudUploadLimit
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
f5cf7903ad Camelize property nextcloud_datadir_mount => nextcloudDatadirMount
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
f35a0b4367 Camelize property nextcloud_mount => nextcloudMount
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
f7c5115c70 Camelize property talk_port => talkPort
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
567f072ee0 Camelize property apache_port => apachePort
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
00ce78d703 Camelize property turn_domain => turnDomain
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
c4aa148bff Camelize property aio_community_containers => aioCommunityContainers
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
b499001501 Camelize property collabora_additional_options => collaboraAdditionalOptions
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
5373471ed8 Camelize property collabora_dictionaries => collaboraDictionaries
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
efe8317446 Camelize property nextcloud_max_time => nextcloudMaxTime
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:57 +01:00
Pablo Zmdl
41c92b814f Camelize key names from aio_variables from container specs
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
f17db4fac1 Camelize property apache_ip_binding => apacheIpBinding
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
5cac2dcf12 Camelize property borg_restore_password => borgRestorePassword
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
284411c369 Camelize property borg_remote_repo => borgRemoteRepo
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
62856e78bb Camelize property borg_backup_host_location => borgBackupHostLocation
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
2425a07772 Camelize property install_latest_major => installLatestMajor
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
68f811b25f Camelize property AIO_URL => aioUrl
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
62a21dd34a Camelize property instance_restore_attempt => instanceRestoreAttempt
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
dd5d51cb2a Camelize property AIO_TOKEN => aioToken
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
27fd1e82ab Turn install_latest_major property into a string so we can save a version string or number
I chose a string instead of an integer so we have more freedom what to
actually save (maybe we want to include minor version digits at one point).

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
3bb2ce6e4c Type-cast get values to fix handling old config data
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
dac5cfd917 Don't write the default value to disk
This matches the previous behaviour and should not be changed silently.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
76d475f2b2 Replace setMultiple() by startTransaction() and commitTransaction()
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
6bf45fb507 A script to list AIO variables that are configurable through aio_variables in community containers
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
c65ccd2db0 Make aio-variables code more robust and psalm-compatible
Now the input gets checked for being useful. It's user-generated data in the
end, which might be "funny" in curious ways.

psalm complained about the possibly unset second array key in the
destructuring assignment of `$key` and `$value`, which won't happen due to the
check for a present equal sign earlier, but nonetheless this way the code is
more robust.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
77bec5898f Type for Closure argument
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
662840bc25 Make psalm accept the property-hooks for virtual attributes
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
fd308d4b80 Simplify some code a little bit
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
844831a899 Move handling ENV-var replacement into ConfigurationManger
It's the more appropriate place to have this code, and we had to touch
it anyways to make it assign the values to the attributes.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
9c9ad02f8a Set multiple attributes at once
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
c997332e47 Remove residue code
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
f1ffd0771c Privatize GetConfig() and WriteConfig()
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
367e847cc8 Make nextcloud_max_time an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
c1f8ac6989 Make nextcloud_memory_limit an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
3e19fa66d0 Make nextcloud_datadir_mount an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
4de73dd75b Make nextcloud_mount an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
903aed1e34 Make nextcloud_upload_limit an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
96c9c1a6f9 Make talk_port an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
dc28eb6737 Make apache_port an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
4e373cb2f8 Make apache_ip_binding an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
0a22384cd9 Make turn_domain an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
6c04cd055f Make aio_community_containers an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
228440f2a8 Make collabora_additional_options an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
ca35006a85 Make collabora_dictionaries an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
6e5237cd20 Make timezone an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
6033a4486c Make borg_restore_password an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
a361ab9d20 Make borg_remote_repo an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
b4d198f72b Make borg_backup_host_location an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
5b0b9ef826 Make domain an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
f737d2f598 Make isFulltextsearchEnabled an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
f16f5b233d Make isImaginaryEnabled an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
190d47810b Make isTalkRecordingEnabled an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
e009abdd54 Make isTalkEnabled an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:56 +01:00
Pablo Zmdl
cd1c2276e5 Make isCollaboraEnabled an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:51:26 +01:00
Pablo Zmdl
0c3d919618 Make isOnlyofficeEnabled an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:50:34 +01:00
Pablo Zmdl
f8a244bee2 Make isClamavEnabled an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:48:05 +01:00
Pablo Zmdl
bebae7069b Make instance_restore_attempt an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
f235af29e3 Make isDockerSocketProxyEnabled an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
6576d3c1e9 Make backupMode an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
881e77cca5 Make isWhiteboardEnabled an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
c968e9e310 Make restoreExcludePreviews an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
b8130958c5 Make selectedRestoreTime an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
1d11a4682b Make install_latest_major an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
06fdf31c87 Make AIO_URL an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
484ff79943 Make wasStartButtonClicked an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
4d8e959608 Make password an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
b2f992d955 Make AIO_TOKEN an attribute
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
a9b648e18f Adapt GetAndGenerateSecret() to get() and set()
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
21b14a4a5d Adapt GetEnvironmentalVariableOrConfig() to get() and set()
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Pablo Zmdl
0b6c0733ab Cache config, introduce get() and set() helpers to guide new way to set attributes
Use cached config, use set() for single attributes, setMultiple to wrap
multiple calls to set()

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-28 11:43:36 +01:00
Julius Knorr
3f4eecaa96
feat: Add office switcher with feature comparison (#7421)
Some checks failed
Codespell / Check spelling (push) Waiting to run
Docker Lint / docker-lint (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Playwright Tests on push / test (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
Twig Lint / twig-lint (push) Has been cancelled
Signed-off-by: Julius Knorr <jus@bitgrid.net>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Andrew Backhouse <andrew.backhouse@nextcloud.com>
Co-authored-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Andrew Backhouse <andrew.backhouse@nextcloud.com>
2026-01-28 09:53:53 +01:00
Simon L.
8939104d10
Merge pull request #7498 from nextcloud/dependabot/docker/Containers/talk/nats-2.12.4-scratch
build(deps): bump nats from 2.12.3-scratch to 2.12.4-scratch in /Containers/talk
2026-01-28 08:47:30 +01:00
dependabot[bot]
0213d8e548
build(deps): bump nats in /Containers/talk
Bumps nats from 2.12.3-scratch to 2.12.4-scratch.

---
updated-dependencies:
- dependency-name: nats
  dependency-version: 2.12.4-scratch
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 04:08:45 +00:00
Simon L.
ba899255c1
Merge pull request #7497 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-29.2.0-cli
Some checks are pending
Codespell / Check spelling (push) Waiting to run
Docker Lint / docker-lint (push) Waiting to run
build(deps): bump docker from 29.1.5-cli to 29.2.0-cli in /Containers/mastercontainer
2026-01-27 14:54:49 +01:00
dependabot[bot]
59e0776808
build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.1.5-cli to 29.2.0-cli.

---
updated-dependencies:
- dependency-name: docker
  dependency-version: 29.2.0-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-27 04:06:09 +00:00
Simon L.
9c6bb67542
Merge pull request #7492 from nextcloud/dependabot/github_actions/dot-github/workflows/actions/checkout-6.0.2
Some checks failed
Codespell / Check spelling (push) Waiting to run
Docker Lint / docker-lint (push) Waiting to run
Lint php / php-lint (push) Has been cancelled
PHP Deprecation Detector / PHP Deprecation Detector (push) Has been cancelled
Playwright Tests on push / test (push) Has been cancelled
Static analysis / static-psalm-analysis (push) Has been cancelled
Shellcheck / Check Shell (push) Has been cancelled
Twig Lint / twig-lint (push) Has been cancelled
Lint php / php-lint-summary (push) Has been cancelled
build(deps): bump actions/checkout from 6.0.1 to 6.0.2 in /.github/workflows
2026-01-26 14:13:08 +01:00
dependabot[bot]
3f85f10bfb
build(deps): bump actions/checkout in /.github/workflows
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6.0.1...de0fac2e4500dabe0009e67214ff5f5447ce83dd)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 13:08:44 +00:00
Simon L.
9cd519b285
Merge pull request #7491 from nextcloud/aio-dependency-update
PHP dependency updates
2026-01-26 13:50:29 +01:00
szaimen
3e6deb8802 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-26 12:04:00 +00:00
Simon L.
6babbf776a
Merge pull request #7473 from nextcloud/enh/noid/pin-all-actions
pin all actions via commit hash
2026-01-26 13:00:49 +01:00
Simon L.
27eae80466 pin all actions via commit hash
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-26 12:59:05 +01:00
Simon L.
ebe3d7ee83 increase to v12.6.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-26 11:55:19 +01:00
Simon L.
07c20f5daa
Merge pull request #7485 from nextcloud/enh/noid/more-strict-check
mastercontainer: make check for correct volume name more strict
2026-01-26 10:15:45 +01:00
Simon L.
0df6c0a645 mastercontainer: make check for correct volume name more strict
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-25 17:31:43 +01:00
Simon L.
845fa94afa
Merge pull request #7486 from nextcloud/aio-dependency-update
Some checks are pending
Codespell / Check spelling (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Playwright Tests on push / test (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
PHP dependency updates
2026-01-25 15:01:21 +01:00
szaimen
7e2e0d11da php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-25 12:03:33 +00:00
Simon L.
44f659ad69
Merge pull request #7482 from nextcloud/aio-dependency-update
Some checks are pending
Codespell / Check spelling (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Playwright Tests on push / test (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
PHP dependency updates
2026-01-24 14:07:57 +01:00
szaimen
d2940b0dc8 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-24 12:03:23 +00:00
Simon L.
74443aaacc
Merge pull request #7477 from nextcloud/docjyJ-patch-2
Some checks failed
Codespell / Check spelling (push) Has been cancelled
Validate community containers / Validate community containers (push) Has been cancelled
Json Validator / Json Validator (push) Has been cancelled
deprecate nocodb community container
2026-01-23 14:22:42 +01:00
Simon L.
33614b276b
Merge pull request #7475 from nextcloud/dev/ench/noid/conduct
Add Code of conduct
2026-01-23 14:18:45 +01:00
Simon L.
034c6edea9
Merge pull request #7479 from nextcloud/dependabot/github_actions/dot-github/workflows/actions/checkout-6.0.2
build(deps): bump actions/checkout from 6.0.1 to 6.0.2 in /.github/workflows
2026-01-23 14:17:38 +01:00
dependabot[bot]
0e868c4570
build(deps): bump actions/checkout in /.github/workflows
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v6.0.1...v6.0.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-23 12:08:36 +00:00
Jean-Yves
e1718faf0b
Update README with licensing and maintenance notes
Added caution and note about NocoDB licensing and maintenance status.

Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2026-01-22 21:24:35 +01:00
Jean-Yves
db07c79db1
novodb: add (deprecated) to its display name
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2026-01-22 21:20:36 +01:00
Jean-Yves
89be3d9e23
Add files via upload
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2026-01-22 21:12:39 +01:00
Jean-Yves
664ca0b26d
Add Code of conduct
See: https://github.com/nextcloud/server/blob/master/CODE_OF_CONDUCT.md

Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2026-01-22 21:08:08 +01:00
Simon L.
49c9669fe1
Merge pull request #7468 from nextcloud/enh/7466/insert-max-shutdown-time
Some checks failed
Codespell / Check spelling (push) Waiting to run
Lint php / php-lint (push) Has been cancelled
PHP Deprecation Detector / PHP Deprecation Detector (push) Has been cancelled
Playwright Tests on push / test (push) Has been cancelled
Static analysis / static-psalm-analysis (push) Has been cancelled
Lint php / php-lint-summary (push) Has been cancelled
`CreateContainer`: also insert the max shutdown time into the container itself
2026-01-22 17:53:06 +01:00
Simon L.
4d51f11282
Merge pull request #7471 from nextcloud/imaginary-container-update
Some checks failed
Codespell / Check spelling (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Playwright Tests on push / test (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
Docker Lint / docker-lint (push) Has been cancelled
Helm Chart Releaser / release (push) Has been cancelled
Shellcheck / Check Shell (push) Has been cancelled
Twig Lint / twig-lint (push) Has been cancelled
Imaginary update
2026-01-22 14:40:09 +01:00
szaimen
c47ace7718 imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-22 13:33:38 +00:00
Simon L.
dd60066644
Merge pull request #7470 from nextcloud/aio-helm-update
Helm Chart updates
2026-01-22 14:14:33 +01:00
szaimen
00688a52bd Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-22 13:12:02 +00:00
Simon L.
8fb3126ce7 CreateContainer: also insert the max shutdown time into the container itself
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-22 14:07:41 +01:00
Simon L.
a7c091a5b2 mastercontainer: also add wud.watch label
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-22 12:21:26 +01:00
Simon L.
dc09422030
Merge pull request #7467 from nextcloud/watchtower-container-update
watchtower container update
2026-01-22 12:16:36 +01:00
Simon L.
b9e35f01ba
Merge pull request #7464 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.5.3
build(deps): bump nextcloud-releases/whiteboard from v1.5.1 to v1.5.3 in /Containers/whiteboard
2026-01-22 12:16:16 +01:00
Simon L.
571e07996e
Merge pull request #7461 from nextcloud/dependabot/docker/Containers/watchtower/golang-1.25.6-alpine3.23
build(deps): bump golang from 1.25.5-alpine3.23 to 1.25.6-alpine3.23 in /Containers/watchtower
2026-01-22 12:16:04 +01:00
Simon L.
9b1d468e24
Merge pull request #7460 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.25.6-alpine3.23
build(deps): bump golang from 1.25.5-alpine3.23 to 1.25.6-alpine3.23 in /Containers/imaginary
2026-01-22 12:15:51 +01:00
Simon L.
2eaa288596
Merge pull request #7452 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.30-fpm-alpine3.23
build(deps): bump php from 8.3.29-fpm-alpine3.23 to 8.3.30-fpm-alpine3.23 in /Containers/nextcloud
2026-01-22 12:15:38 +01:00
Simon L.
be54fa8805
Merge pull request #7451 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-29.1.5-cli
build(deps): bump docker from 29.1.4-cli to 29.1.5-cli in /Containers/mastercontainer
2026-01-22 12:15:25 +01:00
Simon L.
f5a06034dd
Merge pull request #7435 from nextcloud/aio-dependency-update
PHP dependency updates
2026-01-22 12:15:12 +01:00
Simon L.
47dd8d25ca
Merge pull request #7431 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.4.17-fpm-alpine3.23
build(deps): bump php from 8.4.16-fpm-alpine3.23 to 8.4.17-fpm-alpine3.23 in /Containers/mastercontainer
2026-01-22 12:14:57 +01:00
Simon L.
9e3acb9f68
Merge pull request #7457 from nextcloud/enh/6878/pull-3-times
DockeractionManager: rewrite `PullImage` function to re-try 3 times before failing
2026-01-22 12:11:27 +01:00
Simon L.
3f581a11b3
Merge pull request #7455 from nextcloud/enh/7434/add-wud-label
add `wud.watch=false` to all containers
2026-01-22 12:11:18 +01:00
Simon L.
8124554d90
Merge pull request #7454 from nextcloud/enh/7447/recording-server-disabling
nextcloud-entrypoint: make recording server dependent on `REMOVE_DISABLED_APPS`
2026-01-22 12:11:10 +01:00
Simon L.
74138dd838
Merge pull request #7436 from nextcloud/enh/noid/move-version
move version to a dedicated file
2026-01-22 12:10:27 +01:00
Simon L.
52f8c97d45
Merge pull request #7406 from nextcloud/ench/noid/parm
refactor: change private properties to public in Container class
2026-01-22 12:10:15 +01:00
Simon L.
10a3b8213f
Merge pull request #7442 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2026-01-22 12:10:03 +01:00
dependabot[bot]
8eed705a90
build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.29-fpm-alpine3.23 to 8.3.30-fpm-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 04:08:35 +00:00
dependabot[bot]
f59b2776c7
build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.4.16-fpm-alpine3.23 to 8.4.17-fpm-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 04:08:30 +00:00
szaimen
708e542270 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-21 12:16:29 +00:00
szaimen
b12c36f675 watchtower-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-21 12:12:48 +00:00
szaimen
2c968917eb php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-21 12:03:53 +00:00
Simon L.
3b3eea7ef0 don't ask for a cute anmial picture
Some checks are pending
Codespell / Check spelling (push) Waiting to run
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-21 10:54:39 +01:00
dependabot[bot]
fcdd000731
build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.5.1 to v1.5.3.

---
updated-dependencies:
- dependency-name: nextcloud-releases/whiteboard
  dependency-version: v1.5.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 04:10:21 +00:00
Simon L.
88a45d1a80 add cooldown to dependabot
Some checks failed
Codespell / Check spelling (push) Waiting to run
Docker Lint / docker-lint (push) Has been cancelled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-20 13:20:09 +01:00
Simon L.
f117a441fe
Merge pull request #7462 from nextcloud/enh/noid/fix-mysql-config
postgres.config.php: fix `PDO::MYSQL_ATTR_SSL_CA`
2026-01-20 13:13:36 +01:00
Simon L.
b7d63253db postgres.config.php: fix PDO::MYSQL_ATTR_SSL_CA
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-20 11:50:04 +01:00
Simon L.
f58465f930 DockeractionManager: rewrite PullImage function to re-try 3 times before failing
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-20 10:48:17 +01:00
dependabot[bot]
dbabfe14f0
build(deps): bump golang in /Containers/watchtower
Bumps golang from 1.25.5-alpine3.23 to 1.25.6-alpine3.23.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.6-alpine3.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-20 04:09:56 +00:00
dependabot[bot]
c5b146f84c
build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.25.5-alpine3.23 to 1.25.6-alpine3.23.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.6-alpine3.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-20 04:08:44 +00:00
Simon L.
0e22f38d16 add wud.watch=false to all containers
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-19 17:10:22 +01:00
Simon L.
b88c740161
Merge pull request #7440 from nextcloud/update-npmplus-images
Some checks are pending
Codespell / Check spelling (push) Waiting to run
update NPMplus images in reverse proxy guide
2026-01-19 10:53:28 +01:00
Simon L.
c6f59f7188
Merge pull request #7444 from ph818/patch-1
local-instance.md: Clarifying DNS-challenge description.
2026-01-19 10:52:49 +01:00
Simon L.
3f5b2358df
Merge pull request #7445 from ph818/patch-2
readme.md: Clarifying the Instructions for DNS-challenge so following the links will make more sense (configuring the caddyfile of the external caddy reverse proxy).
2026-01-19 10:52:22 +01:00
Simon L.
9822a63c44 nextcloud-entrypoint: make recording server dependent on REMOVE_DISABLED_APPS
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-19 10:07:52 +01:00
dependabot[bot]
4a65c04e3d
build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.1.4-cli to 29.1.5-cli.

---
updated-dependencies:
- dependency-name: docker
  dependency-version: 29.1.5-cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 04:28:14 +00:00
ph818
a3e43c5cd9
Update readme.md
Clarifying the Instructions for DNS-challenge so following the links will make more sense (configuring the caddyfile of the external caddy reverse proxy).

Signed-off-by: ph818 <71797925+ph818@users.noreply.github.com>
2026-01-17 17:22:42 -05:00
ph818
d5c3e79b31
Update local-instance.md
Clarifying DNS-challenge description.

Signed-off-by: ph818 <71797925+ph818@users.noreply.github.com>
2026-01-17 17:17:28 -05:00
Zoey
792ba0dfb3
update NPMplus images in reverse proxy guide
Signed-off-by: Zoey <zoey@z0ey.de>
2026-01-16 22:54:58 +01:00
Simon L.
59ad7dc98b move version to a dedicated file
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-16 15:12:44 +01:00
Simon L.
9e362e1dc9 increase to 12.5.0
Some checks failed
Codespell / Check spelling (push) Has been cancelled
Docker Lint / docker-lint (push) Has been cancelled
Lint php / php-lint (push) Has been cancelled
PHP Deprecation Detector / PHP Deprecation Detector (push) Has been cancelled
Playwright Tests on push / test (push) Has been cancelled
Static analysis / static-psalm-analysis (push) Has been cancelled
Twig Lint / twig-lint (push) Has been cancelled
Lint php / php-lint-summary (push) Has been cancelled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-15 13:48:06 +01:00
Simon L.
f001fd71b4
Merge pull request #7427 from nextcloud/revert-7414-enh/7308/disable-seccomp-for-borg
Revert "DockerActionManager: disable seccomp policy for borgbackup container"
2026-01-15 13:46:24 +01:00
Simon L.
b5b6422328 Revert "DockerActionManager: disable seccomp policy for borgbackup container"
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-15 13:43:01 +01:00
Simon L.
764a3abb0a
Merge pull request #7425 from nextcloud/enh/noid/32.0.4
nextcloud: update to 32.0.4
2026-01-15 12:56:57 +01:00
Simon L.
069195bf23 nextcloud: update to 32.0.4
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-15 12:47:51 +01:00
Simon L.
20d49c10e1
Merge pull request #7416 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.5.1
Some checks failed
Codespell / Check spelling (push) Waiting to run
Docker Lint / docker-lint (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Playwright Tests on push / test (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
Helm Chart Releaser / release (push) Has been cancelled
Shellcheck / Check Shell (push) Has been cancelled
build(deps): bump nextcloud-releases/whiteboard from v1.5.0 to v1.5.1 in /Containers/whiteboard
2026-01-14 13:29:13 +01:00
Simon L.
7662c0fe09
Merge pull request #7415 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.19.10
build(deps): bump elasticsearch from 8.19.9 to 8.19.10 in /Containers/fulltextsearch
2026-01-14 13:28:59 +01:00
Simon L.
3f55a47b68
Merge pull request #7414 from nextcloud/enh/7308/disable-seccomp-for-borg
DockerActionManager: disable seccomp policy for borgbackup container
2026-01-14 13:28:46 +01:00
Simon L.
84a01d2fa7
Merge pull request #7408 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-29.1.4-cli
build(deps): bump docker from 29.1.3-cli to 29.1.4-cli in /Containers/mastercontainer
2026-01-14 13:28:31 +01:00
Simon L.
6aef1c32cf
Merge pull request #7397 from nextcloud/enh/noid/remove-custom-ldaps-logic
nextcloud-entrypoint: remove custom logic for ldap.conf again as it does not work
2026-01-14 13:28:15 +01:00
Simon L.
fd35f24d37
Merge pull request #7396 from nextcloud/aio-dependency-update
PHP dependency updates
2026-01-14 13:28:09 +01:00
szaimen
045e5edf84 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-14 12:03:59 +00:00
Simon L.
b8daa1c5ff
Merge pull request #7417 from nextcloud/aio-helm-update
Helm Chart updates
2026-01-14 12:56:09 +01:00
szaimen
9a6e2cbe49 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-14 11:54:57 +00:00
dependabot[bot]
eadf0dc5cd
build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.5.0 to v1.5.1.

---
updated-dependencies:
- dependency-name: nextcloud-releases/whiteboard
  dependency-version: v1.5.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-14 04:10:53 +00:00
dependabot[bot]
6fe3337a21
build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.19.9 to 8.19.10.

---
updated-dependencies:
- dependency-name: elasticsearch
  dependency-version: 8.19.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-14 04:09:32 +00:00
Simon L.
81f477211f fix detail
Some checks failed
Codespell / Check spelling (push) Waiting to run
Validate community containers / Validate community containers (push) Has been cancelled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-13 11:44:43 +01:00
Simon L.
c2f070b278 aio-cadddy: mention how to remove the container again
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-13 11:44:05 +01:00
Simon L.
95a320a3e4 DockerActionManager: disable seccomp policy for borgbackup container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-13 11:06:14 +01:00
Simon L.
58eafdecee
Merge pull request #7412 from nextcloud/dependabot/github_actions/dot-github/workflows/softprops/turnstyle-3.2.3
Some checks are pending
Codespell / Check spelling (push) Waiting to run
build(deps): bump softprops/turnstyle from 3.2.2 to 3.2.3 in /.github/workflows
2026-01-12 19:09:15 +01:00
dependabot[bot]
b1baefb959
build(deps): bump softprops/turnstyle in /.github/workflows
Bumps [softprops/turnstyle](https://github.com/softprops/turnstyle) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/softprops/turnstyle/releases)
- [Changelog](https://github.com/softprops/turnstyle/blob/master/CHANGELOG.md)
- [Commits](15f9da4059...e565d2d864)

---
updated-dependencies:
- dependency-name: softprops/turnstyle
  dependency-version: 3.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-12 16:03:10 +00:00
Simon L.
2fd6ec12f7
Merge pull request #7410 from nextcloud/enh/s3/allow-configure-num-buckets
Some checks failed
Codespell / Check spelling (push) Waiting to run
Docker Lint / docker-lint (push) Has been cancelled
s3.config.php: allow to configure num_buckets
2026-01-12 11:35:41 +01:00
Simon L.
b998fa8ebf s3.config.php: allow to configure num_buckets
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-12 10:58:58 +01:00
dependabot[bot]
a53e315e7f
build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.1.3-cli to 29.1.4-cli.

---
updated-dependencies:
- dependency-name: docker
  dependency-version: 29.1.4-cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-11 15:05:21 +00:00
Jean-Yves
cdd21ae1ff
refactor: change private properties to public in Container class and update related methods
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2026-01-10 15:07:08 +01:00
Simon L.
759cab0a6b
Merge pull request #7395 from nextcloud/enh/7394/run-playwright-on-push
Some checks failed
Codespell / Check spelling (push) Has been cancelled
run playwright tests also on push
2026-01-09 10:13:28 +01:00
Simon L.
71550aeecc run playwright tests also on push
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-09 10:11:02 +01:00
Simon L.
6200327a77 add two further commands to the bug-report template
Some checks are pending
Codespell / Check spelling (push) Waiting to run
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-08 16:15:51 +01:00
Simon L.
a83c4e2ed1 nextcloud-entrypoint: remove custom logic for ldap.conf again as it does not work
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-08 15:25:23 +01:00
117 changed files with 1666 additions and 1399 deletions

View file

@ -32,6 +32,8 @@ labels: 0. Needs triage
#### Output of `sudo docker logs nextcloud-aio-mastercontainer`
#### Other valuable info <!--- (like additional logs, screenshots & Co.) -->
#### Output of `sudo docker inspect nextcloud-aio-mastercontainer`
#### A picture of a cute animal <!--- (not mandatory but encouraged) -->
#### Output of `sudo docker ps -a`
#### Other valuable info <!--- (like additional logs, screenshots & Co.) -->

View file

@ -10,6 +10,8 @@ updates:
labels:
- 3. to review
- dependencies
cooldown:
default-days: 7
- package-ecosystem: composer
directory: "/php/"
schedule:

8
.github/pull_request_template.md vendored Normal file
View file

@ -0,0 +1,8 @@
<!--
- 🚨 SECURITY INFO
-
- Before sending a pull request that fixes a security issue please report it via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/). This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
-->
* Resolves: # <!-- related github issue -->
* [Sign-off message](https://github.com/src-d/guide/blob/master/developer-community/fix-DCO.md) is added to all commits

View file

@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- 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@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Run collabora-profile-update
run: |
rm -f php/cool-seccomp-profile.json
@ -18,7 +18,7 @@ jobs:
mv cool-seccomp-profile.json php/
- name: Create Pull Request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v7
with:
commit-message: collabora-seccomp-update automated change
signoff: true

View file

@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- 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@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
with:
php-version: 8.4
@ -44,7 +44,7 @@ jobs:
)"
sed -i "s|pecl install APCu.*\;|pecl install APCu-$apcu_version\;|" ./Containers/mastercontainer/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v7
with:
commit-message: php dependency updates
signoff: true

View file

@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install hadolint
run: |

View file

@ -0,0 +1,50 @@
name: Block if prerelease is present
on:
pull_request:
permissions:
contents: read
jobs:
check-latest-release:
runs-on: ubuntu-latest
steps:
- name: "Check latest published release isn't a prerelease"
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v6
with:
script: |
const tags = await github.rest.repos.listTags({
owner: context.repo.owner,
repo: context.repo.repo,
per_page: 1
});
if (!tags.data || tags.data.length === 0) {
core.info('No tags found for this repository; skipping prerelease check.');
return;
}
const latestTag = tags.data[0].name;
core.info(`Latest tag found: ${latestTag}`);
try {
const { data } = await github.rest.repos.getReleaseByTag({
owner: context.repo.owner,
repo: context.repo.repo,
tag: latestTag
});
if (data.prerelease) {
core.setFailed(`Release for tag ${latestTag} (${data.tag_name}) is a prerelease. Blocking merges to main as we need to wait for the prerelease to become stable.`);
} else {
core.info(`Release for tag ${latestTag} (${data.tag_name}) is not a prerelease.`);
}
} catch (err) {
if (err.status === 404) {
core.info(`No release found for tag ${latestTag}; skipping prerelease check.`);
} else {
throw err;
}
}

View file

@ -13,10 +13,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Turnstyle
uses: softprops/turnstyle@15f9da4059166900981058ba251e0b652511c68f # v2
uses: softprops/turnstyle@e565d2d86403c5d23533937e95980570545e5586 # v2
with:
continue-after-seconds: 180
env:

View file

@ -10,7 +10,7 @@ jobs:
name: update to latest imaginary commit on master branch
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Run imaginary-update
run: |
# Imaginary
@ -22,7 +22,7 @@ jobs:
sed -i "s|^ENV IMAGINARY_HASH.*$|ENV IMAGINARY_HASH=$imaginary_version|" ./Containers/imaginary/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v7
with:
commit-message: imaginary-update automated change
signoff: true

View file

@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- 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@v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0

View file

@ -36,7 +36,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View file

@ -24,7 +24,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.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@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Run nextcloud-update script
run: |
# Inspired by https://github.com/nextcloud/docker/blob/master/update.sh
@ -79,7 +79,7 @@ jobs:
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v7
with:
commit-message: nextcloud-update automated change
signoff: true

View file

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

123
.github/workflows/playwright-on-push.yml vendored Normal file
View file

@ -0,0 +1,123 @@
name: Playwright Tests on push
on:
pull_request:
paths:
- 'php/**'
push:
branches:
- main
paths:
- 'php/**'
concurrency:
group: playwright-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
BASE_URL: https://localhost:8080
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version: lts/*
- name: Install dependencies
run: cd php/tests && npm ci
- name: Install Playwright Browsers
run: cd php/tests && npx playwright install --with-deps chromium
- name: Set up php 8.4
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2.36.0
with:
extensions: apcu
php-version: 8.4
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Adjust some things and fix permissions
run: |
cd php
rm -r ./data
rm -r ./session
composer install --no-dev
composer clear-cache
sudo chmod 777 -R ./
- name: Start fresh development server
run: |
docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true
docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true
docker pull ghcr.io/nextcloud-releases/all-in-one:develop
docker run \
-d \
--init \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 8080:8080 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume ./php:/var/www/docker-aio/php \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
--env SKIP_DOMAIN_VALIDATION=true \
--env APACHE_PORT=11000 \
ghcr.io/nextcloud-releases/all-in-one:develop
echo Waiting for 10 seconds for the development container to start ...
sleep 10
- name: Run Playwright tests for initial setup
run: |
cd php/tests
export DEBUG=pw:api
if ! npx playwright test tests/initial-setup.spec.js; then
docker logs nextcloud-aio-mastercontainer
docker logs nextcloud-aio-borgbackup
exit 1
fi
- name: Start fresh development server
run: |
docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true
docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true
docker run \
-d \
--init \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 8080:8080 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume ./php:/var/www/docker-aio/php \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
--env SKIP_DOMAIN_VALIDATION=false \
--env APACHE_PORT=11000 \
ghcr.io/nextcloud-releases/all-in-one:develop
echo Waiting for 10 seconds for the development container to start ...
sleep 10
- name: Run Playwright tests for backup restore
run: |
cd php/tests
export DEBUG=pw:api
if ! npx playwright test tests/restore-instance.spec.js; then
docker logs nextcloud-aio-mastercontainer
docker logs nextcloud-aio-borgbackup
exit 1
fi
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: ${{ !cancelled() }}
with:
name: playwright-report
path: php/tests/playwright-report/
retention-days: 14
overwrite: true

View file

@ -13,9 +13,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@v6
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version: lts/*
@ -82,7 +82,7 @@ jobs:
exit 1
fi
- uses: actions/upload-artifact@v6
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: ${{ !cancelled() }}
with:
name: playwright-report

View file

@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up php
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
@ -30,7 +30,7 @@ jobs:
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v7
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: Update psalm baseline

View file

@ -32,7 +32,7 @@ jobs:
name: static-psalm-analysis
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View file

@ -15,7 +15,7 @@ jobs:
name: Check Shell
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- 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@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Run talk-container-update
run: |
# Recording
@ -45,7 +45,7 @@ jobs:
sed -i "s|^ARG JANUS_VERSION=.*$|ARG JANUS_VERSION=$janus_version|" ./Containers/talk/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v7
with:
commit-message: talk-update automated change
signoff: true

View file

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

View file

@ -8,4 +8,4 @@ jobs:
name: update copyright
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

View file

@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: update helm chart
run: |
set -x
@ -23,7 +23,7 @@ jobs:
sudo bash nextcloud-aio-helm-chart/update-helm.sh "$DOCKER_TAG"
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v7
with:
commit-message: Helm Chart updates
signoff: true

View file

@ -11,12 +11,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: update yaml files
run: |
sudo bash manual-install/update-yaml.sh
- name: Create Pull Request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v7
with:
commit-message: Yaml updates
signoff: true

View file

@ -10,7 +10,7 @@ jobs:
name: update watchtower
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Run watchtower-container-update
run: |
# Watchtower
@ -26,7 +26,7 @@ jobs:
sed -i "s|\$WATCHTOWER_COMMIT_HASH.*$|\$WATCHTOWER_COMMIT_HASH # $watchtower_version|" ./Containers/watchtower/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v7
with:
commit-message: watchtower-update automated change
signoff: true

13
CODE_OF_CONDUCT.md Normal file
View file

@ -0,0 +1,13 @@
<!--
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
In the Nextcloud community, participants from all over the world come together to create Free Software for a free internet. This is made possible by the support, hard work and enthusiasm of thousands of people, including those who create and use Nextcloud software.
Our code of conduct offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
The Code of Conduct is shared by all contributors and users who engage with the Nextcloud team and its community services. It presents a summary of the shared values and “common sense” thinking in our community.
You can find our full code of conduct on our website: https://nextcloud.com/code-of-conduct/
Please, keep our CoC in mind when you contribute! That way, everyone can be a part of our community in a productive, positive, creative and fun way.

View file

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.23.2
FROM alpine:3.23.3
RUN set -ex; \
apk upgrade --no-cache -a

View file

@ -88,4 +88,5 @@ CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.23.2
FROM alpine:3.23.3
RUN set -ex; \
\
@ -24,5 +24,6 @@ ENTRYPOINT ["/start.sh"]
USER root
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"
ENV BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6"

View file

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.23.2
FROM alpine:3.23.3
RUN set -ex; \
apk upgrade --no-cache -a; \
@ -33,5 +33,6 @@ VOLUME /var/lib/clamav
ENTRYPOINT ["/start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh

View file

@ -12,4 +12,5 @@ USER 1001
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/blob/master/docker/from-packages/Dockerfile
FROM collabora/code:25.04.8.1.1
FROM collabora/code:25.04.8.2.1
USER root
ARG DEBIAN_FRONTEND=noninteractive
@ -11,4 +11,5 @@ USER 1001
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM haproxy:3.3.1-alpine
FROM haproxy:3.3.2-alpine
# hadolint ignore=DL3002
USER root
@ -19,4 +19,5 @@ COPY --chmod=664 haproxy.cfg /haproxy.cfg
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.23.2
FROM alpine:3.23.3
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache bash lighttpd netcat-openbsd; \
@ -18,4 +18,5 @@ ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD nc -z 127.0.0.1 $APACHE_PORT || exit 1
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:8.19.9
FROM elasticsearch:8.19.10
USER root
@ -22,5 +22,6 @@ USER 1000:0
HEALTHCHECK --interval=10s --timeout=5s --start-period=1m --retries=5 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"
ENV ES_JAVA_OPTS="-Xms512M -Xmx512M"

View file

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.25.5-alpine3.23 AS go
FROM golang:1.25.6-alpine3.23 AS go
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
@ -14,7 +14,7 @@ RUN set -ex; \
build-base; \
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
FROM alpine:3.23.2
FROM alpine:3.23.3
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
@ -43,4 +43,5 @@ ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,12 +1,12 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:29.1.3-cli AS docker
FROM docker:29.2.0-cli AS docker
# Caddy is a requirement
FROM caddy:2.10.2-alpine AS caddy
# From https://github.com/docker-library/php/blob/master/8.4/alpine3.23/fpm/Dockerfile
FROM php:8.4.16-fpm-alpine3.23
FROM php:8.4.17-fpm-alpine3.23
EXPOSE 80
EXPOSE 8080
@ -127,6 +127,7 @@ RUN set -ex; \
# hadolint ignore=DL3048
LABEL org.label-schema.vendor="Nextcloud" \
wud.watch="false" \
com.docker.compose.project="nextcloud-aio"
# hadolint ignore=DL3002

View file

@ -4,7 +4,7 @@ echo "Daily backup script has started"
# Check if initial configuration has been done, otherwise this script should do nothing.
CONFIG_FILE=/mnt/docker-aio-config/data/configuration.json
if ! [ -f "$CONFIG_FILE" ] || ! grep -q "wasStartButtonClicked.*1" "$CONFIG_FILE"; then
if ! [ -f "$CONFIG_FILE" ] || (! grep -q "wasStartButtonClicked.*1" "$CONFIG_FILE" && ! grep -q "wasStartButtonClicked.*true" "$CONFIG_FILE"); then
echo "Initial configuration via AIO interface not done yet. Exiting..."
exit 0
fi

View file

@ -166,7 +166,7 @@ elif ! sudo -E -u www-data docker volume ls --format "{{.Name}}" | grep -q "^nex
print_red "It seems like you did not give the mastercontainer volume the correct name? (The 'nextcloud_aio_mastercontainer' volume was not found.)
Using a different name is not supported since the built-in backup solution will not work in that case!"
exit 1
elif ! sudo -E -u www-data docker inspect nextcloud-aio-mastercontainer | grep -q "nextcloud_aio_mastercontainer"; then
elif ! sudo -E -u www-data docker inspect nextcloud-aio-mastercontainer --format '{{.Mounts}}' | grep -q " nextcloud_aio_mastercontainer "; then
print_red "It seems like you did not attach the 'nextcloud_aio_mastercontainer' volume to the mastercontainer?
This is not supported since the built-in backup solution will not work in that case!"
exit 1

View file

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.29-fpm-alpine3.23
FROM php:8.3.30-fpm-alpine3.23
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G
@ -8,7 +8,7 @@ ENV SOURCE_LOCATION=/usr/src/nextcloud
ENV REDIS_DB_INDEX=0
# AIO settings start # Do not remove or change this line!
ENV NEXTCLOUD_VERSION=32.0.3
ENV NEXTCLOUD_VERSION=32.0.5
ENV AIO_TOKEN=123456
ENV AIO_URL=localhost
# AIO settings end # Do not remove or change this line!
@ -264,4 +264,5 @@ CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -10,7 +10,7 @@ if (getenv('NEXTCLOUD_TRUSTED_CERTIFICATES_POSTGRES')) {
if (getenv('NEXTCLOUD_TRUSTED_CERTIFICATES_MYSQL')) {
$CONFIG = array(
'dbdriveroptions' => array(
'PDO::MYSQL_ATTR_SSL_CA' => '/var/www/html/data/certificates/ca-bundle.crt',
PDO::MYSQL_ATTR_SSL_CA => '/var/www/html/data/certificates/ca-bundle.crt',
),
);
}

View file

@ -10,6 +10,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
'class' => '\OC\Files\ObjectStore\S3',
'arguments' => array(
'multibucket' => $multibucket === 'true',
'num_buckets' => (int)getenv('OBJECTSTORE_S3_NUM_BUCKETS') ?: 64,
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
'key' => getenv('OBJECTSTORE_S3_KEY') ?: '',
'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '',

View file

@ -65,14 +65,6 @@ if env | grep -q NEXTCLOUD_TRUSTED_CERTIFICATES_; then
done
# Custom logic for ldap conf
if ! grep -q "TLS_" /etc/openldap/ldap.conf; then
cat << EOL >> /etc/openldap/ldap.conf
TLS_CACERT $CERTIFICATE_BUNDLE
TLS_REQCERT try
EOL
fi
# Backwards compatibility with older instances
if [ -f "/var/www/html/config/postgres.config.php" ]; then
sed -i "s|/var/www/html/data/certificates/POSTGRES|/var/www/html/data/certificates/ca-bundle.crt|" /var/www/html/config/postgres.config.php
@ -190,8 +182,11 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/latest-${NEXT_MAJOR}.tar.bz2.asc"
GNUPGHOME="$(mktemp -d)"
export GNUPGHOME
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A
if ! gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; then
if ! gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 28806A878AE423A28372792ED75899B9A724937A; then
curl -sSL https://nextcloud.com/nextcloud.asc | gpg --import
fi
fi
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2
mkdir -p /usr/src/tmp
tar -xjf nextcloud.tar.bz2 -C /usr/src/tmp/
@ -902,7 +897,9 @@ if [ -d "/var/www/html/custom_apps/spreed" ]; then
RECORDING_SERVERS_STRING="{\"servers\":[{\"server\":\"http://$TALK_RECORDING_HOST:1234/\",\"verify\":true}],\"secret\":\"$RECORDING_SECRET\"}"
php /var/www/html/occ config:app:set spreed recording_servers --value="$RECORDING_SERVERS_STRING"
else
php /var/www/html/occ config:app:delete spreed recording_servers
if [ "$REMOVE_DISABLED_APPS" = yes ]; then
php /var/www/html/occ config:app:delete spreed recording_servers
fi
fi
fi

View file

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.23.2
FROM alpine:3.23.3
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
@ -23,4 +23,5 @@ ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -8,4 +8,5 @@ COPY --chmod=775 healthcheck.sh /healthcheck.sh
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -44,4 +44,5 @@ ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -21,4 +21,5 @@ ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -58,4 +58,5 @@ CMD ["python", "-m", "nextcloud.talk.recording", "--config", "/conf/recording.co
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:latest
FROM nats:2.12.3-scratch AS nats
FROM nats:2.12.4-scratch AS nats
FROM eturnal/eturnal:1.12.2-alpine AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.4 AS signaling
FROM alpine:3.23.2 AS janus
FROM alpine:3.23.3 AS janus
ARG JANUS_VERSION=v1.3.3
WORKDIR /src
@ -35,7 +35,7 @@ RUN set -ex; \
make configs; \
rename -v ".jcfg.sample" ".jcfg" /usr/local/etc/janus/*.jcfg.sample
FROM alpine:3.23.2
FROM alpine:3.23.3
ENV ETURNAL_ETC_DIR="/conf"
ENV SKIP_CERT_VERIFY=false
COPY --from=janus --chmod=777 --chown=1000:1000 /usr/local /usr/local
@ -107,4 +107,5 @@ CMD ["supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,15 +1,15 @@
# syntax=docker/dockerfile:latest
FROM golang:1.25.5-alpine3.23 AS go
FROM golang:1.25.6-alpine3.23 AS go
ENV WATCHTOWER_COMMIT_HASH=f6a7b29c312bec5f389a4fb52259919f0678800b
ENV WATCHTOWER_COMMIT_HASH=f522ce27e1fbe4618da54833025a95be62aa838a
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
build-base; \
go install github.com/nicholas-fedor/watchtower@$WATCHTOWER_COMMIT_HASH # v1.13.1
go install github.com/nicholas-fedor/watchtower@$WATCHTOWER_COMMIT_HASH # v1.14.0
FROM alpine:3.23.2
FROM alpine:3.23.3
RUN set -ex; \
apk upgrade --no-cache -a; \
@ -24,4 +24,5 @@ USER root
ENTRYPOINT ["/start.sh"]
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
FROM ghcr.io/nextcloud-releases/whiteboard:v1.5.0
FROM ghcr.io/nextcloud-releases/whiteboard:v1.5.4
USER root
RUN set -ex; \
@ -23,4 +23,5 @@ WORKDIR /tmp
ENTRYPOINT ["/start.sh"]
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.label-schema.vendor="Nextcloud"

View file

@ -1,5 +1,5 @@
## Caddy with geoblocking
This container bundles caddy and auto-configures it for you. It also covers [vaultwarden](https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden) by listening on `bw.$NC_DOMAIN`, if installed. It also covers [stalwart](https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart) by listening on `mail.$NC_DOMAIN`, if installed. It also covers [jellyfin](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin) by listening on `media.$NC_DOMAIN`, if installed. It also covers [lldap](https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap) by listening on `ldap.$NC_DOMAIN`, if installed. It also covers [nocodb](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb) by listening on `tables.$NC_DOMAIN`, if installed. It also covers [jellyseerr](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr) by listening on `requests.$NC_DOMAIN`, if installed. It also covers [nextcloud-exporter](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nextcloud-exporter) by listening on `metrics.$NC_DOMAIN`, if installed.
This container bundles caddy and auto-configures it for you. It also covers [vaultwarden](https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden) by listening on `bw.$NC_DOMAIN`, if installed. It also covers [stalwart](https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart) by listening on `mail.$NC_DOMAIN`, if installed. It also covers [jellyfin](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin) by listening on `media.$NC_DOMAIN`, if installed. It also covers [lldap](https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap) by listening on `ldap.$NC_DOMAIN`, if installed. It also covers [nocodb](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb) by listening on `tables.$NC_DOMAIN`, if installed. It also covers [jellyseerr](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr) by listening on `requests.$NC_DOMAIN`, if installed. It also covers [nextcloud-exporter](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nextcloud-exporter) by listening on `metrics.$NC_DOMAIN`, if installed. It also covers [LocalAI](https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai) by listening on `ai.$NC_DOMAIN`, if installed.
### 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!
@ -14,9 +14,11 @@ This container bundles caddy and auto-configures it for you. It also covers [vau
- If you want to use this with [nocodb](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb), make sure that you point `tables.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for nocodb.
- If you want to use this with [jellyseerr](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr), make sure that you point `requests.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for jellyseerr.
- If you want to use this with [nextcloud-exporter](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nextcloud-exporter), make sure that you point `metrics.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for nextcloud-exporter.
- If you want to use this with [local AI](https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai), make sure that you point `ai.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for local AI.
- After the container was started the first time, you should see a new `nextcloud-aio-caddy` folder and inside there an `allowed-countries.txt` file when you open the files app with the default `admin` user. In there you can adjust the allowed country codes for caddy by adding them to the first line, e.g. `IT FR` would allow access from italy and france. Private ip-ranges are always allowed. Additionally, in order to activate this config, you need to get an account at https://dev.maxmind.com/geoip/geolite2-free-geolocation-data and download the `GeoLite2-Country.mmdb` and upload it with this exact name into the `nextcloud-aio-caddy` folder. Afterwards restart all containers from the AIO interface and your new config should be active!
- You can add your own Caddy configurations in `/data/caddy-imports/` inside the Caddy container (`sudo docker exec -it nextcloud-aio-caddy bash`). These will be imported on container startup. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
- If you want to remove the container again and revert back to the default, you need to disable the container via the AIO-interface and follow https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#8-removing-the-reverse-proxy
### Repository
https://github.com/szaimen/aio-caddy

View file

@ -4,42 +4,59 @@
"container_name": "nextcloud-aio-local-ai",
"display_name": "Local AI",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai",
"image": "ghcr.io/szaimen/aio-local-ai",
"image_tag": "v2",
"internal_port": "8080",
"image": "ghcr.io/docjyj/aio-local-ai-vulkan",
"image_tag": "v1",
"internal_port": "10078",
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%",
"MODELS_PATH=/models"
"LOCALAI_API_KEY=%LOCALAI_API_KEY%",
"LOCALAI_ADDRESS=:10078",
"LOCALAI_CONFIG_DIR=/configuration",
"LOCALAI_MODEL_PATH=/models",
"LOCALAI_BACKEND_PATH=/backends"
],
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",
"port_number": "10078",
"protocol": "tcp"
}
],
"volumes": [
{
"source": "nextcloud_aio_localai_configuration",
"destination": "/configuration",
"writeable": true
},
{
"source": "nextcloud_aio_localai_models",
"destination": "/models",
"writeable": true
},
{
"source": "nextcloud_aio_localai_images",
"destination": "/tmp/generated/images/",
"source": "nextcloud_aio_localai_backends",
"destination": "/backends",
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/nextcloud",
"writeable": false
}
],
"enable_nvidia_gpu": false,
"secrets": [
"LOCALAI_API_KEY"
],
"ui_secret": "LOCALAI_API_KEY",
"devices": [
"/dev/dri"
],
"nextcloud_exec_commands": [
"mkdir '/mnt/ncdata/admin/files/nextcloud-aio-local-ai'",
"touch '/mnt/ncdata/admin/files/nextcloud-aio-local-ai/models.yaml'",
"echo 'Scanning nextcloud-aio-local-ai folder for admin user...'",
"php /var/www/html/occ files:scan --path='/admin/files/nextcloud-aio-local-ai'",
"php /var/www/html/occ app:install integration_openai",
"php /var/www/html/occ app:enable integration_openai",
"php /var/www/html/occ config:app:set integration_openai url --value http://nextcloud-aio-local-ai:8080",
"php /var/www/html/occ config:app:set integration_openai url --value http://nextcloud-aio-local-ai:10078",
"php /var/www/html/occ config:app:set integration_openai api_key --value %LOCALAI_API_KEY%",
"php /var/www/html/occ app:install assistant",
"php /var/www/html/occ app:enable assistant"
],
"backup_volumes": [
"nextcloud_aio_localai_configuration"
]
}
]

View file

@ -1,21 +1,16 @@
## Local AI
This container bundles Local AI and auto-configures it for you.
This container bundles Local AI and auto-configures it for you. It support hardware acceleration with Vulkan.
### Notes
- Make sure to have enough storage space available. This container alone needs ~7GB storage. Every model that you add to `models.yaml` will of course use additional space which adds up quite fast.
- After the container was started the first time, you should see a new `nextcloud-aio-local-ai` folder when you open the files app with the default `admin` user. In there you should see a `models.yaml` config file. You can now add models in there. Please refer [here](https://github.com/mudler/LocalAI/blob/master/gallery/index.yaml) where you can get further urls that you can put in there. Afterwards restart all containers from the AIO interface and the models should automatically get downloaded by the local-ai container and activated.
- Example for content of `models.yaml` (if you add all of them, it takes around 10GB additional space):
```yaml
# Stable Diffusion in NCNN with c++, supported txt2img and img2img
- url: github:mudler/LocalAI/blob/master/gallery/stablediffusion.yaml
name: Stable_diffusion
```
- To make it work, you first need to browse `https://your-nc-domain.com/settings/admin/ai` and enable or disable specific features for your models in the openAI settings. Afterwards using the Nextcloud Assistant should work.
Documentation is available on the container repository. This documentation is regularly updated and is intended to be as simple and detailed as possible. Thanks for all your feedback!
- See https://github.com/docjyJ/aio-local-ai-vulkan#getting-started for getting start with this container.
- See [this guide](https://github.com/nextcloud/all-in-one/discussions/5430) for how to improve AI task pickup speed
- Note that Nextcloud supports only one server for AI queries, so this container cannot be used at the same time as other AI containers.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/szaimen/aio-local-ai
https://github.com/docjyJ/aio-local-ai-vulkan
### Maintainer
https://github.com/szaimen
https://github.com/docjyJ

View file

@ -2,7 +2,7 @@
"aio_services_v1": [
{
"container_name": "nextcloud-aio-nocodb",
"display_name": "NocoDB",
"display_name": "NocoDB (deprecated)",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb",
"image": "nocodb/nocodb",
"image_tag": "latest",

View file

@ -1,3 +1,8 @@
> [!CAUTION]
> NocoDB is licensed under a non-free license.
>
> And is no longer maintained.
> [!NOTE]
> This container is there to compensate for the lack of functionality in Nextcloud Tables.
>

View file

@ -22,10 +22,11 @@ The normal way is the following:
**Hint:** You may have a look at [this video](https://youtu.be/zk-y2wVkY4c) for a more complete but possibly outdated example.
## 3. Use the ACME DNS-challenge
You can alternatively use the ACME DNS-challenge to get a valid certificate for Nextcloud. Here is described how to set it up: https://github.com/nextcloud/all-in-one#how-to-get-nextcloud-running-using-the-acme-dns-challenge
You can alternatively use the ACME DNS-challenge to get a valid certificate for Nextcloud. Here is described how to set it up using an external caddy reverse proxy: https://github.com/nextcloud/all-in-one#how-to-get-nextcloud-running-using-the-acme-dns-challenge
## 4. Use Cloudflare
If you do not have any control over the network, you may think about using Cloudflare Tunnel to get a valid certificate for your Nextcloud. However it will be opened to the public internet then. See https://github.com/nextcloud/all-in-one#how-to-run-nextcloud-behind-a-cloudflare-tunnel how to set this up.
## 5. Buy a certificate and use that
If none of the above ways work for you, you may simply buy a certificate from an issuer for your domain. You then download the certificate onto your server, configure AIO in [reverse proxy mode](./reverse-proxy.md) and use the certificate for your domain in your reverse proxy config.

View file

@ -47,6 +47,7 @@ sed -i '/AIO_URL/d' containers.yml
sed -i '/DOCKER_SOCKET_PROXY_ENABLED/d' containers.yml
sed -i '/ADDITIONAL_TRUSTED_PROXY/d' containers.yml
sed -i '/TURN_DOMAIN/d' containers.yml
sed -i '/NC_AIO_VERSION/d' containers.yml
TCP="$(grep -oP '[%A-Z0-9_]+/tcp' containers.yml | sort -u)"
mapfile -t TCP <<< "$TCP"

View file

@ -1,6 +1,6 @@
name: nextcloud-aio-helm-chart
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
version: 12.3.0
version: 12.5.0
apiVersion: v2
keywords:
- latest

View file

@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache
@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-apache
spec:
@ -61,7 +61,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: WHITEBOARD_HOST
value: nextcloud-aio-whiteboard
image: ghcr.io/nextcloud-releases/aio-apache:20251218_095503
image: ghcr.io/nextcloud-releases/aio-apache:20260122_105751
readinessProbe:
exec:
command:

View file

@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav
@ -18,7 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-clamav
spec:
@ -36,7 +36,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
image: ghcr.io/nextcloud-releases/aio-alpine:20260122_105751
command:
- mkdir
- "-p"
@ -59,7 +59,7 @@ spec:
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-clamav:20251218_095503
image: ghcr.io/nextcloud-releases/aio-clamav:20260122_105751
readinessProbe:
exec:
command:

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora
@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-collabora
spec:
@ -36,9 +36,9 @@ spec:
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
{{- if contains "--o:support_key=" (join " " (.Values.ADDITIONAL_COLLABORA_OPTIONS | default list)) }}
image: ghcr.io/nextcloud-releases/aio-collabora-online:20251218_095503
image: ghcr.io/nextcloud-releases/aio-collabora-online:20260122_105751
{{- else }}
image: ghcr.io/nextcloud-releases/aio-collabora:20251218_095503
image: ghcr.io/nextcloud-releases/aio-collabora:20260122_105751
{{- end }}
readinessProbe:
exec:

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora

View file

@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database
@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-database
spec:
@ -35,7 +35,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
image: ghcr.io/nextcloud-releases/aio-alpine:20260122_105751
command:
- mkdir
- "-p"
@ -64,7 +64,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-postgresql:20251218_095503
image: ghcr.io/nextcloud-releases/aio-postgresql:20260122_105751
readinessProbe:
exec:
command:

View file

@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch
@ -18,13 +18,13 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
image: ghcr.io/nextcloud-releases/aio-alpine:20260122_105751
command:
- chmod
- "777"
@ -54,7 +54,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20251218_095503
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20260122_105751
readinessProbe:
exec:
command:

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary
@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-imaginary
spec:
@ -38,7 +38,7 @@ spec:
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-imaginary:20251218_095503
image: ghcr.io/nextcloud-releases/aio-imaginary:20260122_105751
readinessProbe:
exec:
command:

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary

View file

@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud
@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-nextcloud
spec:
@ -38,7 +38,7 @@ spec:
# AIO settings start # Do not remove or change this line!
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
image: ghcr.io/nextcloud-releases/aio-alpine:20260122_105751
command:
- chmod
- "777"
@ -190,7 +190,7 @@ spec:
value: "{{ .Values.WHITEBOARD_ENABLED }}"
- name: WHITEBOARD_SECRET
value: "{{ .Values.WHITEBOARD_SECRET }}"
image: ghcr.io/nextcloud-releases/aio-nextcloud:20251218_095503
image: ghcr.io/nextcloud-releases/aio-nextcloud:20260122_105751
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
securityContext:
# The items below only work in container context

View file

@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud

View file

@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push
@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-notify-push
spec:
@ -57,7 +57,7 @@ spec:
value: "6379"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-notify-push:20251218_095503
image: ghcr.io/nextcloud-releases/aio-notify-push:20260122_105751
readinessProbe:
exec:
command:

View file

@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice
@ -18,13 +18,13 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
image: ghcr.io/nextcloud-releases/aio-alpine:20260122_105751
command:
- chmod
- "777"
@ -42,7 +42,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20251218_095503
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20260122_105751
readinessProbe:
exec:
command:

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice

View file

@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis
@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-redis
spec:
@ -39,7 +39,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-redis:20251218_095503
image: ghcr.io/nextcloud-releases/aio-redis:20260122_105751
readinessProbe:
exec:
command:

View file

@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk
@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-talk
spec:
@ -52,7 +52,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk:20251218_095503
image: ghcr.io/nextcloud-releases/aio-talk:20260122_105751
readinessProbe:
exec:
command:

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording
@ -18,7 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-talk-recording
spec:
@ -44,7 +44,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk-recording:20251218_095503
image: ghcr.io/nextcloud-releases/aio-talk-recording:20260122_105751
readinessProbe:
exec:
command:

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording

View file

@ -4,7 +4,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk-public
@ -27,7 +27,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-whiteboard
name: nextcloud-aio-whiteboard
@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-whiteboard
spec:
@ -50,7 +50,7 @@ spec:
value: redis
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-whiteboard:20251218_095503
image: ghcr.io/nextcloud-releases/aio-whiteboard:20260122_105751
readinessProbe:
exec:
command:

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.37.0 (fb0539e64)
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-whiteboard
name: nextcloud-aio-whiteboard

View file

@ -407,7 +407,7 @@ rm latest.yml
mv latest.yml.backup latest.yml
# Get version of AIO
AIO_VERSION="$(grep 'Nextcloud AIO ' ../php/templates/containers.twig | grep -oP '[0-9]+.[0-9]+.[0-9]+')"
AIO_VERSION="$(grep 'Nextcloud AIO ' ../php/templates/includes/aio-version.twig | grep -oP '[0-9]+.[0-9]+.[0-9]+')"
sed -i "s|^version:.*|version: $AIO_VERSION|" ../helm-chart/Chart.yaml
# Conversion of sample.conf

179
php/composer.lock generated
View file

@ -391,16 +391,16 @@
},
{
"name": "laravel/serializable-closure",
"version": "v2.0.7",
"version": "v2.0.8",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd"
"reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
"reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/7581a4407012f5f53365e11bafc520fd7f36bc9b",
"reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b",
"shasum": ""
},
"require": {
@ -448,7 +448,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2025-11-21T20:52:36+00:00"
"time": "2026-01-08T16:22:46+00:00"
},
{
"name": "nikic/fast-route",
@ -1644,16 +1644,16 @@
},
{
"name": "twig/twig",
"version": "v3.22.2",
"version": "v3.23.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "946ddeafa3c9f4ce279d1f34051af041db0e16f2"
"reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/946ddeafa3c9f4ce279d1f34051af041db0e16f2",
"reference": "946ddeafa3c9f4ce279d1f34051af041db0e16f2",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9",
"reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9",
"shasum": ""
},
"require": {
@ -1707,7 +1707,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.22.2"
"source": "https://github.com/twigphp/Twig/tree/v3.23.0"
},
"funding": [
{
@ -1719,7 +1719,7 @@
"type": "tidelift"
}
],
"time": "2025-12-14T11:28:47+00:00"
"time": "2026-01-23T21:00:41+00:00"
}
],
"packages-dev": [
@ -2755,22 +2755,22 @@
},
{
"name": "danog/advanced-json-rpc",
"version": "v3.2.2",
"version": "v3.2.3",
"source": {
"type": "git",
"url": "https://github.com/danog/php-advanced-json-rpc.git",
"reference": "aadb1c4068a88c3d0530cfe324b067920661efcb"
"reference": "ae703ea7b4811797a10590b6078de05b3b33dd91"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/danog/php-advanced-json-rpc/zipball/aadb1c4068a88c3d0530cfe324b067920661efcb",
"reference": "aadb1c4068a88c3d0530cfe324b067920661efcb",
"url": "https://api.github.com/repos/danog/php-advanced-json-rpc/zipball/ae703ea7b4811797a10590b6078de05b3b33dd91",
"reference": "ae703ea7b4811797a10590b6078de05b3b33dd91",
"shasum": ""
},
"require": {
"netresearch/jsonmapper": "^5",
"php": ">=8.1",
"phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
"phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0 || ^6"
},
"replace": {
"felixfbecker/php-advanced-json-rpc": "^3"
@ -2801,9 +2801,9 @@
"description": "A more advanced JSONRPC implementation",
"support": {
"issues": "https://github.com/danog/php-advanced-json-rpc/issues",
"source": "https://github.com/danog/php-advanced-json-rpc/tree/v3.2.2"
"source": "https://github.com/danog/php-advanced-json-rpc/tree/v3.2.3"
},
"time": "2025-02-14T10:55:15+00:00"
"time": "2026-01-12T21:07:10+00:00"
},
{
"name": "daverandom/libdns",
@ -3111,20 +3111,20 @@
},
{
"name": "league/uri",
"version": "7.7.0",
"version": "7.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri.git",
"reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807"
"reference": "4436c6ec8d458e4244448b069cc572d088230b76"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/uri/zipball/8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
"reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
"url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76",
"reference": "4436c6ec8d458e4244448b069cc572d088230b76",
"shasum": ""
},
"require": {
"league/uri-interfaces": "^7.7",
"league/uri-interfaces": "^7.8",
"php": "^8.1",
"psr/http-factory": "^1"
},
@ -3138,11 +3138,11 @@
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"ext-uri": "to use the PHP native URI class",
"jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
"league/uri-components": "Needed to easily manipulate URI objects components",
"league/uri-polyfill": "Needed to backport the PHP URI extension for older versions of PHP",
"jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain",
"league/uri-components": "to provide additional tools to manipulate URI objects components",
"league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP",
"php-64bit": "to improve IPV4 host parsing",
"rowbot/url": "to handle WHATWG URL",
"rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@ -3197,7 +3197,7 @@
"docs": "https://uri.thephpleague.com",
"forum": "https://thephpleague.slack.com",
"issues": "https://github.com/thephpleague/uri-src/issues",
"source": "https://github.com/thephpleague/uri/tree/7.7.0"
"source": "https://github.com/thephpleague/uri/tree/7.8.0"
},
"funding": [
{
@ -3205,20 +3205,20 @@
"type": "github"
}
],
"time": "2025-12-07T16:02:06+00:00"
"time": "2026-01-14T17:24:56+00:00"
},
{
"name": "league/uri-interfaces",
"version": "7.7.0",
"version": "7.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-interfaces.git",
"reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c"
"reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
"reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
"reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
"shasum": ""
},
"require": {
@ -3231,7 +3231,7 @@
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"php-64bit": "to improve IPV4 host parsing",
"rowbot/url": "to handle WHATWG URL",
"rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@ -3281,7 +3281,7 @@
"docs": "https://uri.thephpleague.com",
"forum": "https://thephpleague.slack.com",
"issues": "https://github.com/thephpleague/uri-src/issues",
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.7.0"
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.0"
},
"funding": [
{
@ -3289,7 +3289,7 @@
"type": "github"
}
],
"time": "2025-12-07T16:03:21+00:00"
"time": "2026-01-15T06:54:53+00:00"
},
{
"name": "netresearch/jsonmapper",
@ -3455,16 +3455,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "5.6.6",
"version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8"
"reference": "2f5cbed597cb261d1ea458f3da3a9ad32e670b1e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/5cee1d3dfc2d2aa6599834520911d246f656bcb8",
"reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/2f5cbed597cb261d1ea458f3da3a9ad32e670b1e",
"reference": "2f5cbed597cb261d1ea458f3da3a9ad32e670b1e",
"shasum": ""
},
"require": {
@ -3472,8 +3472,8 @@
"ext-filter": "*",
"php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.2",
"phpdocumentor/type-resolver": "^1.7",
"phpstan/phpdoc-parser": "^1.7|^2.0",
"phpdocumentor/type-resolver": "^2.0",
"phpstan/phpdoc-parser": "^2.0",
"webmozart/assert": "^1.9.1 || ^2"
},
"require-dev": {
@ -3483,7 +3483,8 @@
"phpstan/phpstan-mockery": "^1.1",
"phpstan/phpstan-webmozart-assert": "^1.2",
"phpunit/phpunit": "^9.5",
"psalm/phar": "^5.26"
"psalm/phar": "^5.26",
"shipmonk/dead-code-detector": "^0.5.1"
},
"type": "library",
"extra": {
@ -3513,44 +3514,44 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.6"
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/6.0.1"
},
"time": "2025-12-22T21:13:58+00:00"
"time": "2026-01-20T15:30:42+00:00"
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.12.0",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "92a98ada2b93d9b201a613cb5a33584dde25f195"
"reference": "327a05bbee54120d4786a0dc67aad30226ad4cf9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195",
"reference": "92a98ada2b93d9b201a613cb5a33584dde25f195",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/327a05bbee54120d4786a0dc67aad30226ad4cf9",
"reference": "327a05bbee54120d4786a0dc67aad30226ad4cf9",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
"php": "^7.3 || ^8.0",
"php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
"phpstan/phpdoc-parser": "^1.18|^2.0"
"phpstan/phpdoc-parser": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
"phpbench/phpbench": "^1.2",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1",
"phpstan/extension-installer": "^1.4",
"phpstan/phpstan": "^2.1",
"phpstan/phpstan-phpunit": "^2.0",
"phpunit/phpunit": "^9.5",
"rector/rector": "^0.13.9",
"vimeo/psalm": "^4.25"
"psalm/phar": "^4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-1.x": "1.x-dev"
"dev-1.x": "1.x-dev",
"dev-2.x": "2.x-dev"
}
},
"autoload": {
@ -3571,22 +3572,22 @@
"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.12.0"
"source": "https://github.com/phpDocumentor/TypeResolver/tree/2.0.0"
},
"time": "2025-11-21T15:09:14+00:00"
"time": "2026-01-06T21:53:42+00:00"
},
{
"name": "phpstan/phpdoc-parser",
"version": "2.3.0",
"version": "2.3.2",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495"
"reference": "a004701b11273a26cd7955a61d67a7f1e525a45a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495",
"reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a",
"reference": "a004701b11273a26cd7955a61d67a7f1e525a45a",
"shasum": ""
},
"require": {
@ -3618,9 +3619,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0"
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2"
},
"time": "2025-08-30T15:50:23+00:00"
"time": "2026-01-25T14:56:51+00:00"
},
{
"name": "revolt/event-loop",
@ -3889,16 +3890,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.31",
"version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "f9f8a889f54c264f9abac3fc0f7a371ffca51997"
"reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/f9f8a889f54c264f9abac3fc0f7a371ffca51997",
"reference": "f9f8a889f54c264f9abac3fc0f7a371ffca51997",
"url": "https://api.github.com/repos/symfony/console/zipball/0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3",
"reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3",
"shasum": ""
},
"require": {
@ -3963,7 +3964,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.31"
"source": "https://github.com/symfony/console/tree/v6.4.32"
},
"funding": [
{
@ -3983,7 +3984,7 @@
"type": "tidelift"
}
],
"time": "2025-12-22T08:30:34+00:00"
"time": "2026-01-13T08:45:59+00:00"
},
{
"name": "symfony/filesystem",
@ -4057,16 +4058,16 @@
},
{
"name": "symfony/finder",
"version": "v6.4.31",
"version": "v6.4.33",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "5547f2e1f0ca8e2e7abe490156b62da778cfbe2b"
"reference": "24965ca011dac87431729640feef8bcf7b5523e0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/5547f2e1f0ca8e2e7abe490156b62da778cfbe2b",
"reference": "5547f2e1f0ca8e2e7abe490156b62da778cfbe2b",
"url": "https://api.github.com/repos/symfony/finder/zipball/24965ca011dac87431729640feef8bcf7b5523e0",
"reference": "24965ca011dac87431729640feef8bcf7b5523e0",
"shasum": ""
},
"require": {
@ -4101,7 +4102,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/finder/tree/v6.4.31"
"source": "https://github.com/symfony/finder/tree/v6.4.33"
},
"funding": [
{
@ -4121,7 +4122,7 @@
"type": "tidelift"
}
],
"time": "2025-12-11T14:52:17+00:00"
"time": "2026-01-26T13:03:48+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
@ -4459,16 +4460,16 @@
},
{
"name": "symfony/string",
"version": "v7.4.0",
"version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003"
"reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003",
"reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003",
"url": "https://api.github.com/repos/symfony/string/zipball/1c4b10461bf2ec27537b5f36105337262f5f5d6f",
"reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f",
"shasum": ""
},
"require": {
@ -4526,7 +4527,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.4.0"
"source": "https://github.com/symfony/string/tree/v7.4.4"
},
"funding": [
{
@ -4546,7 +4547,7 @@
"type": "tidelift"
}
],
"time": "2025-11-27T13:27:24+00:00"
"time": "2026-01-12T10:54:30+00:00"
},
{
"name": "vimeo/psalm",
@ -4735,16 +4736,16 @@
},
{
"name": "webmozart/assert",
"version": "2.0.0",
"version": "2.1.2",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "1b34b004e35a164bc5bb6ebd33c844b2d8069a54"
"reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/1b34b004e35a164bc5bb6ebd33c844b2d8069a54",
"reference": "1b34b004e35a164bc5bb6ebd33c844b2d8069a54",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/ce6a2f100c404b2d32a1dd1270f9b59ad4f57649",
"reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649",
"shasum": ""
},
"require": {
@ -4791,9 +4792,9 @@
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/2.0.0"
"source": "https://github.com/webmozarts/assert/tree/2.1.2"
},
"time": "2025-12-16T21:36:00+00:00"
"time": "2026-01-13T14:02:24+00:00"
}
],
"aliases": [],

View file

@ -219,6 +219,7 @@
"SIGNALING_SECRET=%SIGNALING_SECRET%",
"ONLYOFFICE_SECRET=%ONLYOFFICE_SECRET%",
"AIO_URL=%AIO_URL%",
"NC_AIO_VERSION=v%AIO_VERSION%",
"NEXTCLOUD_MOUNT=%NEXTCLOUD_MOUNT%",
"CLAMAV_ENABLED=%CLAMAV_ENABLED%",
"CLAMAV_HOST=nextcloud-aio-clamav",

View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
awk '/^ public [^f][^u][^n]/ { sub(/\$/, "", $3); print $3 }' src/Data/ConfigurationManager.php | sort

View file

@ -20,5 +20,10 @@
</extraFiles>
<issueHandlers>
<ClassMustBeFinal errorLevel="suppress" />
<MissingConstructor>
<errorLevel type="suppress">
<file name="src/Data/ConfigurationManager.php" /> <!-- We're using property hooks with virtual properties in that file, which Psalm wrongly complains about. See <https://github.com/vimeo/psalm/issues/11435>. -->
</errorLevel>
</MissingConstructor>
</issueHandlers>
</psalm>

View file

@ -1,7 +1,9 @@
document.addEventListener("DOMContentLoaded", function () {
// Hide submit button initially
const optionsFormSubmit = document.getElementById("options-form-submit");
optionsFormSubmit.style.display = 'none';
const optionsFormSubmit = document.querySelectorAll(".options-form-submit");
optionsFormSubmit.forEach(element => {
element.style.display = 'none';
});
const communityFormSubmit = document.getElementById("community-form-submit");
communityFormSubmit.style.display = 'none';
@ -12,6 +14,14 @@ document.addEventListener("DOMContentLoaded", function () {
const optionsContainersCheckboxes = document.querySelectorAll("#options-form input[type='checkbox']");
const communityContainersCheckboxes = document.querySelectorAll("#community-form input[type='checkbox']");
// Office suite radio buttons
const collaboraRadio = document.getElementById('office-collabora');
const onlyofficeRadio = document.getElementById('office-onlyoffice');
const noneRadio = document.getElementById('office-none');
const collaboraHidden = document.getElementById('collabora');
const onlyofficeHidden = document.getElementById('onlyoffice');
let initialOfficeSelection = null;
optionsContainersCheckboxes.forEach(checkbox => {
initialStateOptionsContainers[checkbox.id] = checkbox.checked; // Use checked property to capture actual initial state
});
@ -20,6 +30,17 @@ document.addEventListener("DOMContentLoaded", function () {
initialStateCommunityContainers[checkbox.id] = checkbox.checked; // Use checked property to capture actual initial state
});
// Store initial office suite selection
if (collaboraRadio && onlyofficeRadio && noneRadio) {
if (collaboraRadio.checked) {
initialOfficeSelection = 'collabora';
} else if (onlyofficeRadio.checked) {
initialOfficeSelection = 'onlyoffice';
} else {
initialOfficeSelection = 'none';
}
}
// Function to compare current states to initial states
function checkForOptionContainerChanges() {
let hasChanges = false;
@ -30,8 +51,32 @@ document.addEventListener("DOMContentLoaded", function () {
}
});
// Check office suite changes and sync to hidden inputs
if (collaboraRadio && onlyofficeRadio && noneRadio && collaboraHidden && onlyofficeHidden) {
let currentOfficeSelection = null;
if (collaboraRadio.checked) {
currentOfficeSelection = 'collabora';
collaboraHidden.value = 'on';
onlyofficeHidden.value = '';
} else if (onlyofficeRadio.checked) {
currentOfficeSelection = 'onlyoffice';
collaboraHidden.value = '';
onlyofficeHidden.value = 'on';
} else {
currentOfficeSelection = 'none';
collaboraHidden.value = '';
onlyofficeHidden.value = '';
}
if (currentOfficeSelection !== initialOfficeSelection) {
hasChanges = true;
}
}
// Show or hide submit button based on changes
optionsFormSubmit.style.display = hasChanges ? 'block' : 'none';
optionsFormSubmit.forEach(element => {
element.style.display = hasChanges ? 'block' : 'none';
});
}
// Function to compare current states to initial states
@ -82,6 +127,13 @@ document.addEventListener("DOMContentLoaded", function () {
// Initialize talk-recording visibility on page load
handleTalkVisibility(); // Ensure talk-recording is correctly initialized
// Add event listeners for office suite radio buttons
if (collaboraRadio && onlyofficeRadio && noneRadio) {
collaboraRadio.addEventListener('change', checkForOptionContainerChanges);
onlyofficeRadio.addEventListener('change', checkForOptionContainerChanges);
noneRadio.addEventListener('change', checkForOptionContainerChanges);
}
// Initial call to check for changes
checkForOptionContainerChanges();
checkForCommunityContainerChanges();

View file

@ -1,5 +1,5 @@
document.addEventListener("DOMContentLoaded", function(event) {
// Collabora
let collabora = document.getElementById("collabora");
const collabora = document.getElementById("office-collabora");
collabora.disabled = true;
});

View file

@ -1,7 +1,5 @@
document.addEventListener("DOMContentLoaded", function(event) {
// OnlyOffice
let onlyoffice = document.getElementById("onlyoffice");
if (onlyoffice) {
onlyoffice.disabled = true;
}
const onlyoffice = document.getElementById("office-onlyoffice");
onlyoffice.disabled = true;
});

View file

@ -91,54 +91,54 @@ $app->get('/containers', function (Request $request, Response $response, array $
$skip_domain_validation = isset($params['skip_domain_validation']);
return $view->render($response, 'containers.twig', [
'domain' => $configurationManager->GetDomain(),
'apache_port' => $configurationManager->GetApachePort(),
'borg_backup_host_location' => $configurationManager->GetBorgBackupHostLocation(),
'borg_remote_repo' => $configurationManager->GetBorgRemoteRepo(),
'borg_public_key' => $configurationManager->GetBorgPublicKey(),
'nextcloud_password' => $configurationManager->GetAndGenerateSecret('NEXTCLOUD_PASSWORD'),
'domain' => $configurationManager->domain,
'apache_port' => $configurationManager->apachePort,
'borg_backup_host_location' => $configurationManager->borgBackupHostLocation,
'borg_remote_repo' => $configurationManager->borgRemoteRepo,
'borg_public_key' => $configurationManager->getBorgPublicKey(),
'nextcloud_password' => $configurationManager->getAndGenerateSecret('NEXTCLOUD_PASSWORD'),
'containers' => (new \AIO\ContainerDefinitionFetcher($container->get(\AIO\Data\ConfigurationManager::class), $container))->FetchDefinition(),
'borgbackup_password' => $configurationManager->GetAndGenerateSecret('BORGBACKUP_PASSWORD'),
'borgbackup_password' => $configurationManager->getAndGenerateSecret('BORGBACKUP_PASSWORD'),
'is_mastercontainer_update_available' => ( $bypass_mastercontainer_update ? false : $dockerActionManager->IsMastercontainerUpdateAvailable() ),
'has_backup_run_once' => $configurationManager->hasBackupRunOnce(),
'is_backup_container_running' => $dockerActionManager->isBackupContainerRunning(),
'backup_exit_code' => $dockerActionManager->GetBackupcontainerExitCode(),
'is_instance_restore_attempt' => $configurationManager->isInstanceRestoreAttempt(),
'borg_backup_mode' => $configurationManager->GetBackupMode(),
'was_start_button_clicked' => $configurationManager->wasStartButtonClicked(),
'is_instance_restore_attempt' => $configurationManager->instanceRestoreAttempt,
'borg_backup_mode' => $configurationManager->backupMode,
'was_start_button_clicked' => $configurationManager->wasStartButtonClicked,
'has_update_available' => $dockerActionManager->isAnyUpdateAvailable(),
'last_backup_time' => $configurationManager->GetLastBackupTime(),
'backup_times' => $configurationManager->GetBackupTimes(),
'last_backup_time' => $configurationManager->getLastBackupTime(),
'backup_times' => $configurationManager->getBackupTimes(),
'current_channel' => $dockerActionManager->GetCurrentChannel(),
'is_clamav_enabled' => $configurationManager->isClamavEnabled(),
'is_onlyoffice_enabled' => $configurationManager->isOnlyofficeEnabled(),
'is_collabora_enabled' => $configurationManager->isCollaboraEnabled(),
'is_talk_enabled' => $configurationManager->isTalkEnabled(),
'borg_restore_password' => $configurationManager->GetBorgRestorePassword(),
'daily_backup_time' => $configurationManager->GetDailyBackupTime(),
'is_clamav_enabled' => $configurationManager->isClamavEnabled,
'is_onlyoffice_enabled' => $configurationManager->isOnlyofficeEnabled,
'is_collabora_enabled' => $configurationManager->isCollaboraEnabled,
'is_talk_enabled' => $configurationManager->isTalkEnabled,
'borg_restore_password' => $configurationManager->borgRestorePassword,
'daily_backup_time' => $configurationManager->getDailyBackupTime(),
'is_daily_backup_running' => $configurationManager->isDailyBackupRunning(),
'timezone' => $configurationManager->GetTimezone(),
'timezone' => $configurationManager->timezone,
'skip_domain_validation' => $configurationManager->shouldDomainValidationBeSkipped($skip_domain_validation),
'talk_port' => $configurationManager->GetTalkPort(),
'collabora_dictionaries' => $configurationManager->GetCollaboraDictionaries(),
'collabora_additional_options' => $configurationManager->GetAdditionalCollaboraOptions(),
'talk_port' => $configurationManager->talkPort,
'collabora_dictionaries' => $configurationManager->collaboraDictionaries,
'collabora_additional_options' => $configurationManager->collaboraAdditionalOptions,
'automatic_updates' => $configurationManager->areAutomaticUpdatesEnabled(),
'is_backup_section_enabled' => $configurationManager->isBackupSectionEnabled(),
'is_imaginary_enabled' => $configurationManager->isImaginaryEnabled(),
'is_fulltextsearch_enabled' => $configurationManager->isFulltextsearchEnabled(),
'additional_backup_directories' => $configurationManager->GetAdditionalBackupDirectoriesString(),
'nextcloud_datadir' => $configurationManager->GetNextcloudDatadirMount(),
'nextcloud_mount' => $configurationManager->GetNextcloudMount(),
'nextcloud_upload_limit' => $configurationManager->GetNextcloudUploadLimit(),
'nextcloud_max_time' => $configurationManager->GetNextcloudMaxTime(),
'nextcloud_memory_limit' => $configurationManager->GetNextcloudMemoryLimit(),
'is_dri_device_enabled' => $configurationManager->isDriDeviceEnabled(),
'is_nvidia_gpu_enabled' => $configurationManager->isNvidiaGpuEnabled(),
'is_talk_recording_enabled' => $configurationManager->isTalkRecordingEnabled(),
'is_docker_socket_proxy_enabled' => $configurationManager->isDockerSocketProxyEnabled(),
'is_whiteboard_enabled' => $configurationManager->isWhiteboardEnabled(),
'is_backup_section_enabled' => !$configurationManager->disableBackupSection,
'is_imaginary_enabled' => $configurationManager->isImaginaryEnabled,
'is_fulltextsearch_enabled' => $configurationManager->isFulltextsearchEnabled,
'additional_backup_directories' => $configurationManager->getAdditionalBackupDirectoriesString(),
'nextcloud_datadir' => $configurationManager->nextcloudDatadirMount,
'nextcloud_mount' => $configurationManager->nextcloudMount,
'nextcloud_upload_limit' => $configurationManager->nextcloudUploadLimit,
'nextcloud_max_time' => $configurationManager->nextcloudMaxTime,
'nextcloud_memory_limit' => $configurationManager->nextcloudMemoryLimit,
'is_dri_device_enabled' => $configurationManager->nextcloudEnableDriDevice,
'is_nvidia_gpu_enabled' => $configurationManager->enableNvidiaGpu,
'is_talk_recording_enabled' => $configurationManager->isTalkRecordingEnabled,
'is_docker_socket_proxy_enabled' => $configurationManager->isDockerSocketProxyEnabled,
'is_whiteboard_enabled' => $configurationManager->isWhiteboardEnabled,
'community_containers' => $configurationManager->listAvailableCommunityContainers(),
'community_containers_enabled' => $configurationManager->GetEnabledCommunityContainers(),
'community_containers_enabled' => $configurationManager->aioCommunityContainers,
'bypass_container_update' => $bypass_container_update,
]);
})->setName('profile');

View file

@ -28,7 +28,7 @@
--border-radius-large: 12px;
--default-font-size: 13px;
--checkbox-size: 16px;
--max-width: 500px;
--max-width: 580px;
--container-top-margin: 20px;
--container-bottom-margin: 20px;
--container-padding: 2px;
@ -37,9 +37,9 @@
--main-padding: 50px;
}
/* Breakpoint calculation: 500px (max-width) + 100px (main-padding * 2) + 200px (additional space) = 800px
/* Breakpoint calculation: 580px (max-width) + 100px (main-padding * 2) + 200px (additional space) = 880px
Note: Unfortunately, it's not possible to calculate this dynamically using CSS variables in media queries */
@media only screen and (max-width: 800px) {
@media only screen and (max-width: 880px) {
:root {
--container-top-margin: 50px;
--container-bottom-margin: 0px;
@ -549,3 +549,160 @@ input[type="checkbox"]:disabled:not(:checked) + label {
#theme-toggle:not(:hover) #theme-icon {
opacity: 0.6; /* Slightly transparent */
}
/* Office Suite Feature Cards */
.office-suite-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 16px;
margin: 20px 0;
align-items: stretch;
}
.office-radio {
display: none;
}
.office-card {
position: relative;
border: 2px solid var(--color-border-maxcontrast);
border-radius: var(--border-radius-large);
padding: 20px;
cursor: pointer;
transition: all 0.3s ease;
background-color: var(--color-main-background);
display: flex;
flex-direction: column;
}
.office-card-disabled {
opacity: 50%;
pointer-events: none;
}
.office-card:hover {
border-color: var(--color-primary-element);
box-shadow: 0 4px 12px rgba(0, 130, 201, 0.15);
transform: translateY(-2px);
}
#office-collabora:checked + .office-card,
#office-onlyoffice:checked + .office-card {
border-color: var(--color-nextcloud-blue);
background: linear-gradient(135deg, rgba(0, 130, 201, 0.08) 0%, rgba(0, 130, 201, 0.02) 100%);
}
[data-theme="dark"] #office-collabora:checked + .office-card,
[data-theme="dark"] #office-onlyoffice:checked + .office-card {
background: linear-gradient(135deg, rgba(0, 145, 242, 0.15) 0%, rgba(0, 145, 242, 0.03) 100%);
}
.office-card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16px;
}
.office-card h4 {
margin: 0;
height: 24px;
font-size: 18px;
font-weight: 600;
color: var(--color-main-text);
}
.office-checkmark {
flex-shrink: 0;
display: none;
}
#office-collabora:checked + .office-card .office-checkmark,
#office-onlyoffice:checked + .office-card .office-checkmark {
display: block;
}
.office-features {
list-style: none;
padding: 0;
margin: 0;
}
.office-features li {
position: relative;
padding-left: 20px;
margin-bottom: 4px;
font-size: var(--default-font-size);
line-height: 1.5;
color: var(--color-main-text);
}
.office-features li::before {
content: '•';
position: absolute;
left: 6px;
color: var(--color-nextcloud-blue);
font-weight: bold;
}
.office-checkbox {
position: absolute;
opacity: 0;
pointer-events: none;
}
.office-learn-more {
display: inline-flex;
align-items: center;
margin-top: 12px;
color: var(--color-primary-element);
text-decoration: none;
font-size: var(--default-font-size);
font-weight: 500;
transition: color 0.2s ease;
}
.office-learn-more:hover {
color: var(--color-primary-element-hover);
}
.office-learn-more svg {
transition: transform 0.2s ease;
}
.office-learn-more:hover svg {
transform: translateX(3px);
}
.office-none-card {
text-align: center;
margin: 12px 0 20px 0;
}
.office-none-label {
display: inline-flex;
align-items: center;
font-size: 13px;
color: var(--color-primary-element);
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s ease;
padding: 8px 12px;
border-radius: var(--border-radius);
}
.office-none-label:hover {
opacity: 1;
background-color: var(--color-primary-element-light);
}
#office-none:checked + .office-none-label {
opacity: 1;
font-weight: 600;
}
/* Responsive adjustments for mobile */
@media only screen and (max-width: 800px) {
.office-suite-cards {
grid-template-columns: 1fr;
}
}

View file

@ -15,11 +15,11 @@ readonly class AuthManager {
}
public function CheckCredentials(string $password) : bool {
return hash_equals($this->configurationManager->GetPassword(), $password);
return hash_equals($this->configurationManager->password, $password);
}
public function CheckToken(string $token) : bool {
return hash_equals($this->configurationManager->GetToken(), $token);
return hash_equals($this->configurationManager->aioToken, $token);
}
public function SetAuthState(bool $isLoggedIn) : void {

View file

@ -5,121 +5,56 @@ namespace AIO\Container;
use AIO\Data\ConfigurationManager;
use AIO\Docker\DockerActionManager;
use AIO\ContainerDefinitionFetcher;
use JsonException;
readonly class Container {
public function __construct(
private string $identifier,
private string $displayName,
private string $containerName,
private string $restartPolicy,
private int $maxShutdownTime,
private ContainerPorts $ports,
private string $internalPorts,
private ContainerVolumes $volumes,
private ContainerEnvironmentVariables $containerEnvironmentVariables,
public string $identifier,
public string $displayName,
public string $containerName,
public string $restartPolicy,
public int $maxShutdownTime,
public ContainerPorts $ports,
public string $internalPorts,
public ContainerVolumes $volumes,
public ContainerEnvironmentVariables $containerEnvironmentVariables,
/** @var string[] */
private array $dependsOn,
public array $dependsOn,
private string $uiSecret,
/** @var string[] */
private array $devices,
private bool $enableNvidiaGpu,
public array $devices,
public bool $enableNvidiaGpu,
/** @var string[] */
private array $capAdd,
private int $shmSize,
private bool $apparmorUnconfined,
public array $capAdd,
public int $shmSize,
public bool $apparmorUnconfined,
/** @var string[] */
private array $backupVolumes,
private array $nextcloudExecCommands,
private bool $readOnlyRootFs,
private array $tmpfs,
private bool $init,
private string $imageTag,
private AioVariables $aioVariables,
private string $documentation,
public array $backupVolumes,
public array $nextcloudExecCommands,
public bool $readOnlyRootFs,
public array $tmpfs,
public bool $init,
public string $imageTag,
public AioVariables $aioVariables,
public string $documentation,
private DockerActionManager $dockerActionManager
) {
}
public function GetIdentifier() : string {
return $this->identifier;
}
public function GetDisplayName() : string {
return $this->displayName;
}
public function GetContainerName() : string {
return $this->containerName;
}
public function GetRestartPolicy() : string {
return $this->restartPolicy;
}
public function GetImageTag() : string {
return $this->imageTag;
}
public function GetReadOnlySetting() : bool {
return $this->readOnlyRootFs;
}
public function GetInit() : bool {
return $this->init;
}
public function GetShmSize() : int {
return $this->shmSize;
}
public function isApparmorUnconfined() : bool {
return $this->apparmorUnconfined;
}
public function GetMaxShutdownTime() : int {
return $this->maxShutdownTime;
}
public function GetUiSecret() : string {
return $this->dockerActionManager->GetAndGenerateSecretWrapper($this->uiSecret);
}
public function GetTmpfs() : array {
return $this->tmpfs;
}
public function GetDevices() : array {
return $this->devices;
}
public function isNvidiaGpuEnabled() : bool {
return $this->enableNvidiaGpu;
}
public function GetCapAdds() : array {
return $this->capAdd;
}
public function GetBackupVolumes() : array {
return $this->backupVolumes;
}
public function GetPorts() : ContainerPorts {
return $this->ports;
}
public function GetInternalPort() : string {
return $this->internalPorts;
}
public function GetVolumes() : ContainerVolumes {
return $this->volumes;
}
/**
* @throws JsonException
*/
public function GetRunningState() : ContainerState {
return $this->dockerActionManager->GetContainerRunningState($this);
}
/**
* @throws JsonException
*/
public function GetRestartingState() : ContainerState {
return $this->dockerActionManager->GetContainerRestartingState($this);
}
@ -131,27 +66,4 @@ readonly class Container {
public function GetStartingState() : ContainerState {
return $this->dockerActionManager->GetContainerStartingState($this);
}
/**
* @return string[]
*/
public function GetDependsOn() : array {
return $this->dependsOn;
}
public function GetNextcloudExecCommands() : array {
return $this->nextcloudExecCommands;
}
public function GetEnvironmentVariables() : ContainerEnvironmentVariables {
return $this->containerEnvironmentVariables;
}
public function GetAioVariables() : AioVariables {
return $this->aioVariables;
}
public function GetDocumentation() : string {
return $this->documentation;
}
}

Some files were not shown because too many files have changed in this diff Show more