Commit Graph

8505 Commits

Author SHA1 Message Date
Simon L. 60230cc636 ci(desec): add ToS-safe deSEC API version drift guard
desec-api-version-watch.yml is a scheduled workflow that watches the public
desec-stack "API Versions and Roadmap" table (no calls to the live deSEC API, so
it respects their ToS) and fails if it changes, prompting a review of the mock
and DesecManager against any new API version.

Co-Authored-By: szaimen <42591237+szaimen@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-18 13:19:16 +02:00
Simon L. 4c8012adcd test(desec): end-to-end Playwright coverage against a local mock
- desec-mock.mjs: a dependency-free Node mock of the deSEC API endpoints the code
  uses, with the real status-code semantics (202 on account creation, 403 until
  verified then 200 + token, 201/409 on domain creation) plus /__control hooks to
  verify and reset state.
- desec-register.spec.js / desec-existing.spec.js drive the real AIO UI through
  the register -> verify -> domain flow and the existing-account login flow;
  desec-helpers.js holds the shared login helper. Each scenario ends by setting a
  domain, so they run as separate CI steps with a re-seed in between.
- seed-desec-mock-config.php points desec_api_base / desec_update_url at the mock
  (config key only, no env override, so production is unaffected) and seeds a
  known master password, since seeding configuration.json makes AIO consider
  itself already installed and /setup no longer shows a generated password.
- Both Playwright workflows start the mock, mount ./community-containers so the
  caddy/dnsmasq definitions enabled by the flow are present, seed the config, and
  run the two deSEC specs with a re-seed between them.

Co-Authored-By: szaimen <42591237+szaimen@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-18 13:19:16 +02:00
Simon L. 0753c6c902 feat(desec): wire caddy/dnsmasq community containers into the flow
- caddy.json: pass DESEC_TOKEN to the caddy container so it can solve the DNS-01
  challenge for the registered dedyn.io domain.
- community-containers.twig: when the domain was registered via deSEC, explain
  that caddy and dnsmasq were enabled automatically and link the required dnsmasq
  router change, with a caution to disable dnsmasq on publicly reachable hosts.
- compose.yaml: mention the built-in deSEC free domain option alongside Tailscale
  in the reverse-proxy hint.

Co-Authored-By: szaimen <42591237+szaimen@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-18 13:19:16 +02:00
Simon L. 1868738f56 feat(desec): add register -> verify -> domain UI
- includes/desec-register.twig renders the multi-step deSEC flow: enter email
  (optionally an existing password), the awaiting-verification step, and the
  account-registered step, with friendly messaging for the ambiguous "email
  already registered" case (deSEC returns 202 either way to prevent enumeration).
- containers.twig includes the deSEC section under the domain-entry UI; index.php
  passes the deSEC config/state (email, password, registered/awaiting flags) to
  the view.
- Move the deSEC password reveal from an inline style to a CSS class (no inline
  CSS/JS in templates) and bump the style.css cache-buster to v13 in layout.twig
  and log.twig.

Co-Authored-By: szaimen <42591237+szaimen@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-18 13:19:16 +02:00
Simon L. f7987b26ac feat(desec): add deSEC account + domain registration backend
Add the server-side deSEC (dedyn.io) free dynamic-DNS flow so users without a
domain can obtain one from the AIO interface.

- DesecManager drives the full flow against the deSEC API, matching its real
  semantics: account creation returns HTTP 202 + email verification (no token),
  a token is obtained via /auth/login/ only after the email is verified, domain
  registration handles 201/409, and a wildcard CNAME rrset is created for new
  accounts. Existing accounts can be used by supplying a password.
- The "awaiting verification" step is derived from the stored credentials (email
  + generated password but no token and no domain yet), not a separate flag.
  register() returns false for that state so the controller can re-render the
  awaiting-verification UI instead of surfacing it as an error.
- DesecController exposes POST /api/desec/register; DependencyInjection wires the
  manager; account credentials (email, generated password, token) are stored in
  the AIO configuration and DESEC_TOKEN is exposed to the caddy container.
- The dynamic-DNS record is refreshed with the current public IP on container
  start (DockerController) and via the cron path (Cron/UpdateDesecIp, cron.sh).
- Fix an undefined-variable bug in the desecToken/desecPassword config setters
  that prevented credentials from being persisted.

Co-Authored-By: szaimen <42591237+szaimen@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-18 13:19:16 +02:00
Simon L. 03bc7ebded add dnsmasq community container (#8355) 2026-06-17 17:04:59 +02:00
Simon L. 7f4fa35d83 add dnsmasq community container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-17 16:53:03 +02:00
Simon L. 8d83379dda Imaginary update (#8354) 2026-06-17 15:30:12 +02:00
szaimen 193deab48c imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-17 13:29:44 +00:00
Simon L. 0baf4b4f79 aio-interface: show better instructions what should be done if you did not see a password (#8349) 2026-06-17 14:32:54 +02:00
Simon L. 20d2e847b2 build(deps): bump guzzlehttp/guzzle from 7.11.2 to 7.12.0 in /php (#8352) 2026-06-17 14:15:58 +02:00
dependabot[bot] 453f0542ad build(deps): bump guzzlehttp/guzzle from 7.11.2 to 7.12.0 in /php
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.11.2 to 7.12.0.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.12/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.11.2...7.12.0)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-version: 7.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 12:03:04 +00:00
Simon L. 29d014489d add Contributing and agents.md files to the repo (#8295)
* add AI-Policy and Contributing and agents.md files to the repo

Signed-off-by: Simon L. <szaimen@e.mail.de>

* Apply suggestions from code review

Co-authored-by: Pablo Zmdl <57864086+pabzm@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>

* remove the ai-policy file

Signed-off-by: Simon L. <szaimen@e.mail.de>

* Apply suggestion from @szaimen

Signed-off-by: Simon L. <szaimen@e.mail.de>

* Apply suggestion from @szaimen

Signed-off-by: Simon L. <szaimen@e.mail.de>

---------

Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Pablo Zmdl <57864086+pabzm@users.noreply.github.com>
2026-06-17 13:42:23 +02:00
Simon L. 8584e1a5a4 remove the registry.gitlab.collabora.com/collabora-online/docker:latest image (#8350) 2026-06-17 13:17:24 +02:00
Simon L. 787fa22a81 remove the registry.gitlab.collabora.com/collabora-online/docker:latest image
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-17 12:18:16 +02:00
Simon L. dc24f16fdd aio-interface: show better instructions what should be done if you did not see a password
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-17 11:52:50 +02:00
Simon L. 660a128708 update remaining docker images to alpine 3.24 (#8348) 2026-06-17 11:47:43 +02:00
Simon L. 2ebbf41566 update remaining docker images to alpine 3.24
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-17 11:31:04 +02:00
Simon L. 77c8664ef7 build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/clamav (#8338) 2026-06-17 11:29:30 +02:00
Simon L. 0be2b59e02 build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/watchtower (#8344) 2026-06-17 11:29:17 +02:00
Simon L. cc5c036843 build(deps): bump python from 3.14.5-alpine3.23 to 3.14.6-alpine3.23 in /Containers/talk-recording (#8343) 2026-06-17 11:29:08 +02:00
Simon L. b450f4b810 build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/talk (#8342) 2026-06-17 11:28:57 +02:00
Simon L. d13dd3bbfd build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/notify-push (#8341) 2026-06-17 11:28:47 +02:00
Simon L. 08a1e1f280 build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/imaginary (#8340) 2026-06-17 11:28:12 +02:00
Simon L. d32fbe6417 build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/domaincheck (#8339) 2026-06-17 11:28:04 +02:00
Simon L. ee0e985941 build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/borgbackup (#8337) 2026-06-17 11:27:56 +02:00
Simon L. dbfb9e981f build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/alpine (#8336) 2026-06-17 11:27:09 +02:00
Simon L. 489fe418d8 apache: set default for AIO_LOG_LEVEL (#8347) 2026-06-17 11:26:28 +02:00
Simon L. 12dbef85cb apache: set default for AIO_LOG_LEVEL
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-17 11:24:46 +02:00
Simon L. 653e518fab add joplin to the community containers overview
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-17 11:17:35 +02:00
dependabot[bot] ff07bd3b5c build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/watchtower
Bumps alpine from 3.23.4 to 3.24.1.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 04:08:43 +00:00
dependabot[bot] 34bca93480 build(deps): bump python in /Containers/talk-recording
Bumps python from 3.14.5-alpine3.23 to 3.14.6-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 04:08:39 +00:00
dependabot[bot] b0737277a1 build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/talk
Bumps alpine from 3.23.4 to 3.24.1.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 04:08:36 +00:00
dependabot[bot] 4dd354dd43 build(deps): bump alpine in /Containers/notify-push
Bumps alpine from 3.23.4 to 3.24.1.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 04:08:24 +00:00
dependabot[bot] 2ff86376da build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/imaginary
Bumps alpine from 3.23.4 to 3.24.1.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 04:07:40 +00:00
dependabot[bot] 8a19b91830 build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.23.4 to 3.24.1.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 04:07:35 +00:00
dependabot[bot] c4d09f5756 build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/clamav
Bumps alpine from 3.23.4 to 3.24.1.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 04:07:31 +00:00
dependabot[bot] ac03df3eeb build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/borgbackup
Bumps alpine from 3.23.4 to 3.24.1.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 04:07:28 +00:00
dependabot[bot] 64529186af build(deps): bump alpine from 3.23.4 to 3.24.1 in /Containers/alpine
Bumps alpine from 3.23.4 to 3.24.1.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-17 04:07:25 +00:00
Copilot fc4bb548a4 aio-interface: fix nginx reverse proxy read timeout blocks AIO from starting consecutive containers (#8016)
* Fix: prevent nginx proxy read timeout from blocking AIO container startup

When AIO runs behind an nginx reverse proxy and a user clicks Start,
image pulls produce no streaming output for minutes at a time. nginx's
proxy_read_timeout fires, drops the upstream connection, and PHP then
aborts on the next write attempt (ignore_user_abort defaults to false),
leaving all containers after the first one never started.

Two fixes:
1. startStreamingResponse(): add ignore_user_abort(true) so PHP never
   terminates if the connection is already gone.
2. PullImage(): stream the Docker NDJSON pull response and write a
   "Pulling image" heartbeat at most once every 5 s, keeping the nginx
   connection alive.  Also surfaces Docker-level stream errors that the
   old buffered call silently ignored, guards against malformed
   newline-free responses with a 1 MB buffer limit, and unifies the
   duplicate catch-block retry logic.

Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/4fd13605-63fb-4693-8a95-89ccec31f7d3

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>

* As heartbeat send a dot regularly

Rather than repeating the message, send a "magic" dot, which gets
appended to the previous line.

Previously the heartbeats weren't sent regulary because reading the data
into a buffer caused a lag.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>

* Remove left-over constants

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>

* Reduce timeout to stay within nginx's default timeout of 5s

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>

* Fix duplicated library namespace inclusion

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>

* Deal with preg_replace possibly returning null

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>

* update the version tag

Signed-off-by: Simon L. <szaimen@e.mail.de>

---------

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
Co-authored-by: Pablo Zmdl <pablo@nextcloud.com>
Co-authored-by: Simon L. <szaimen@e.mail.de>
2026-06-16 17:49:18 +02:00
Simon L. d20eb5edda PHP dependency updates (#8332) 2026-06-16 17:37:12 +02:00
lonode 11e6f55212 [Community Containers] Adding joplin-server (#7983)
* added joplin-server

Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* update to container sidecar

added depends

Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* Use latest

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* Typo

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* Freeze postgres

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* Add secret for Joplin DB

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* Freeze PGDATA location

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* Fix port publishing

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* fix typo

Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* fix typo : swap user/db

Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* Update community-containers/joplin-server/joplin-server.json

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* Update community-containers/joplin-server/joplin-server.json

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* Update caddy docs to mention subdomain

Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>

* some adjustments to the readme

Signed-off-by: Simon L. <szaimen@e.mail.de>

---------

Signed-off-by: lonode <32384862+lonode@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Simon L. <szaimen@e.mail.de>
2026-06-16 15:57:53 +02:00
Nicolas Binette bb7d32a2f2 Add AzuraCast community container (#8176)
* Add AzuraCast community container

Signed-off-by: Nicolas Binette <biguenique@nuee.cc>

* Update Caddy readme to mention AzuraCast

Signed-off-by: Nicolas Binette <biguenique@nuee.cc>

* azuracast: consolidate storage/* volumes into single storage volume

Replace seven granular mounts under /var/azuracast/storage with a single
nextcloud_aio_azuracast_storage volume, matching AzuraCast's official
docker-compose layout. Remove nextcloud_aio_azuracast_uploads from
backup_volumes (media files are captured via stations and AzuraCast's
own backup archives in /var/azuracast/backups).

Signed-off-by: Nicolas Binette <biguenique@nuee.cc>

* azuracast: change HTTP/HTTPS ports to 10080/10443, expose on host

Use ports recommended by AzuraCast docs for reverse proxy deployments.
Expose port 10080 (HTTP) with %APACHE_IP_BINDING% following the vaultwarden
pattern, and port 10443 (HTTPS) on all interfaces for direct access.
Update readme accordingly.

Signed-off-by: Nicolas Binette <biguenique@nuee.cc>

* azuracast: replace shared volume with %NEXTCLOUD_MOUNT%, document filesystem sharing

Replace the named volume nextcloud_aio_azuracast_shared with the AIO-native
%NEXTCLOUD_MOUNT% mechanism. The volume is silently skipped if NEXTCLOUD_MOUNT
is not configured in AIO.

Update readme.md:
- Document NEXTCLOUD_MOUNT as the advanced file sharing approach, with setup
  instructions and a comparison to the SFTP approach
- Clarify default access behavior: files (mode 644) are world-readable by both
  processes; some AzuraCast directories (mode 700) require intervention
- Document POSIX ACL commands for unlocking read-only or bidirectional access
  on specific paths, with a note that they must be re-run after structural
  changes by AzuraCast
- Minor wording and formatting improvements throughout

Tested on a live AzuraCast instance: rename and bidirectional move confirmed
working after ACL application; containers start correctly without UMASK override.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Nicolas Binette <biguenique@nuee.cc>

* Update community-containers/azuracast/azuracast.json

Do not expose internal HTTP port 10080 on host.

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Nicolas Binette <biguenique@nuee.cc>

* azuracast: add to community containers overview diagram

Add AzuraCast entry to the Media group of the mermaid overview
diagram in community-containers/readme.md, as requested by szaimen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Nicolas Binette <biguenique@nuee.cc>

* fix the json

Signed-off-by: Simon L. <szaimen@e.mail.de>

* Apply suggestion from @szaimen

Signed-off-by: Simon L. <szaimen@e.mail.de>

* Apply suggestion from @szaimen

Signed-off-by: Simon L. <szaimen@e.mail.de>

---------

Signed-off-by: Nicolas Binette <biguenique@nuee.cc>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Simon L. <szaimen@e.mail.de>
2026-06-16 15:47:15 +02:00
szaimen 894f68ea6c php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-16 13:39:24 +00:00
Simon L. ac2df1b4ad build(deps): bump guzzlehttp/guzzle from 7.11.1 to 7.11.2 in /php (#8330) 2026-06-16 14:30:16 +02:00
Simon L. 7dfdd80740 build(deps): bump guzzlehttp/psr7 from 2.11.0 to 2.11.1 in /php (#8331) 2026-06-16 14:26:35 +02:00
dependabot[bot] cc7f1642a3 build(deps): bump guzzlehttp/psr7 from 2.11.0 to 2.11.1 in /php
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 2.11.0 to 2.11.1.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/2.11/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/2.11.0...2.11.1)

---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
  dependency-version: 2.11.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 12:09:30 +00:00
dependabot[bot] 69c8f1b9bb build(deps): bump guzzlehttp/guzzle from 7.11.1 to 7.11.2 in /php
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.11.1 to 7.11.2.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.11/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.11.1...7.11.2)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-version: 7.11.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 12:09:24 +00:00
Simon L. 7e6571cfcc DockerActionManager: Fix fetching logs initially on podman (#8326) 2026-06-16 10:29:05 +02:00
Pablo Zmdl 403ff688f8 Fix fetching logs on podman initially
Podman doesn't like an empty `since` URL parameter.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-06-16 08:42:04 +02:00