Compare commits

..

11 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] ee72a128a9 reuse: move helm chart and sample.conf SPDX headers to REUSE.toml; fix workflow license
Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 13:00:54 +00:00
copilot-swe-agent[bot] b1046f0269 reuse: fix PHP files to keep declare(strict_types=1) directly after <?php
Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 13:00:48 +00:00
copilot-swe-agent[bot] 4f43a212c3 reuse: fix Dockerfiles to keep # syntax= directive on line 1
Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 13:00:44 +00:00
copilot-swe-agent[bot] 0098c23e0d reuse: add AUTHORS.md with all contributors
Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 10:14:00 +00:00
copilot-swe-agent[bot] 06940f8e66 reuse: add SPDX headers to remaining root-level files
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 10:10:48 +00:00
copilot-swe-agent[bot] efb037f48b reuse: add SPDX headers to app, community-containers, helm chart, and docs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 10:10:44 +00:00
copilot-swe-agent[bot] a2f5895265 reuse: add SPDX headers to PHP source files, templates, and JS/CSS
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 10:10:37 +00:00
copilot-swe-agent[bot] ac02e17a20 reuse: add SPDX headers to container config files
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 10:10:31 +00:00
copilot-swe-agent[bot] 9c1a086642 reuse: add SPDX headers to Dockerfiles and container shell scripts
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 10:10:26 +00:00
copilot-swe-agent[bot] 000248d67a reuse: add REUSE.toml with annotations for binary, JSON, and vendor files
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 10:10:22 +00:00
copilot-swe-agent[bot] b0845e1f02 reuse: add LICENSES directory with AGPL-3.0-only, AGPL-3.0-or-later, and MIT license texts
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-11 10:05:32 +00:00
261 changed files with 3183 additions and 1213 deletions
+5
View File
@@ -1,3 +1,8 @@
<!--
SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
SPDX-License-Identifier: AGPL-3.0-only
-->
---
name: 🐛 Bug report - no questions and no support!
about: Help us improving by reporting a bug - this category is not for questions and also not for support! Please use one of the options below for questions and support
@@ -1,3 +1,8 @@
<!--
SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
SPDX-License-Identifier: AGPL-3.0-only
-->
---
name: 📖 Existing feature/documentation enhancement
about: Suggest an enhancement of an existing feature/documentation - for other types, please use the feature request option below
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
blank_issues_enabled: false
contact_links:
- name: 📘 Documentation on Nextcloud AIO
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
version: 2
updates:
- package-ecosystem: "github-actions"
+5
View File
@@ -1,3 +1,8 @@
<!--
SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
SPDX-License-Identifier: AGPL-3.0-only
-->
<!--
- 🚨 SECURITY INFO
-
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
changelog:
categories:
- title: 🏕 New features and other improvements
+1 -4
View File
@@ -10,16 +10,13 @@ on:
jobs:
release:
# Do not run this workflow on forked repositories, as they might not have the `gh-pages` branch created, or might
# want to use it for other purposes than publishing helm charts
if: github.repository == 'nextcloud/all-in-one'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Turnstyle
uses: softprops/turnstyle@e15e934b3f69ee283ba389ea05c8886baa656d93 # v2
uses: softprops/turnstyle@e565d2d86403c5d23533937e95980570545e5586 # v2
with:
continue-after-seconds: 180
env:
+1 -1
View File
@@ -30,7 +30,7 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
with:
node-version: lts/*
@@ -15,7 +15,7 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
with:
node-version: lts/*
+202
View File
@@ -0,0 +1,202 @@
<!--
SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
SPDX-License-Identifier: AGPL-3.0-only
-->
# Authors
All contributors to the Nextcloud All-in-One project. Thank you!
<!-- Generated from git log -->
- -Denux <timon.klinkert@gmail.com>
- 41it <137164547+41it@users.noreply.github.com>
- Adam Monsen <haircut@gmail.com>
- Adrian Gebhart <adrian@pestotoast.de>
- AiroPi (Pierre) <47398145+AiroPi@users.noreply.github.com>
- Alan Savage <asavageiv@users.noreply.github.com>
- Alexander Hörl <alexander.horl2@live.de>
- Alexander Müller <28591861+alexanderdd@users.noreply.github.com>
- Alexander Piskun <bigcat88@icloud.com>
- Alison McCue <gh@maladroit.me>
- Andrey Borysenko <andrey18106x@gmail.com>
- Andy George <andygeorge@users.noreply.github.com>
- Anth0rx <pascal@dengconsult.systems>
- Anton Podlozny <47890723+apodl1@users.noreply.github.com>
- Anupam Kumar <kyteinsky@gmail.com>
- Anvil5465 <119350594+Anvil5465@users.noreply.github.com>
- Apoorv Parle <19315187+apparle@users.noreply.github.com>
- Arman The Parman <77603167+ArmanTheParman@users.noreply.github.com>
- Aytsuqi <141279848+Aytsuqi@users.noreply.github.com>
- BP <busta.pipes@gmail.com>
- Basti Qdoba <sebastian.chudoba@googlemail.com>
- Bastian <48765834+Cloudboom@users.noreply.github.com>
- Bastian Derigs <155444921+derigs@users.noreply.github.com>
- Ben Iofel <1713819+benwaffle@users.noreply.github.com>
- Benjamin Brahmer <info@b-brahmer.de>
- Braiden Psiuk <mail@braiden.dev>
- Brian Philipp <66728496+BR14Nx@users.noreply.github.com>
- Brouware <63195347+Brouware@users.noreply.github.com>
- Caio Barros <cgbarros@users.noreply.github.com>
- Copilot <198982749+Copilot@users.noreply.github.com>
- Daniel Calviño Sánchez <danxuliu@gmail.com>
- Daniel Hartmann <60435198+hartmann-daniel@users.noreply.github.com>
- David <142408439+LinuxSpielKind@users.noreply.github.com>
- David Bradette <87823519+DavidBradette@users.noreply.github.com>
- David Hund <david.hund@gmail.com>
- David Mehren <git@herrmehren.de>
- Dennis R <dennis@elsysweyr.com>
- Duvio <can2004kaya@gmail.com>
- Emil Marklund <emil@btlcomputing.com>
- Erwan Hervé <62173453+Erwan-loot@users.noreply.github.com>
- FaySmash <30392780+FaySmash@users.noreply.github.com>
- Felix Schäfer <felix@thegcat.net>
- Felix Stupp <felix.stupp@banananet.work>
- Fernando Ribeiro <fribeiro@fribeiro.org>
- Florian Latifi <mail@florian-latifi.at>
- Florian Wallner <asdf@walura.eu>
- Francesco Saltori <francescosaltori@gmail.com>
- FreDTV <70434961+Fred-DTV@users.noreply.github.com>
- Frederik Berg <fberg@posteo.de>
- Gerald Krause <gerald.d.krause@t-online.de>
- Gonçalo Pereira <goncalo_pereira@outlook.pt>
- Hannes Franke <hannes.franke@tu-dortmund.de>
- HedgeShot <HedgeShot@users.noreply.github.com>
- Hoang Pham <hoangmaths96@gmail.com>
- Ikko Eltociear Ashimine <eltociear@gmail.com>
- ItsQuadrus <quadrus.yt@gmail.com>
- JL102 <jordanlees@mailbox.org>
- JMarcosHP (Jehu Marcos Herrera Puentes) <jehuherrerap@hotmail.com>
- Jean-Yves <7360784+docjyJ@users.noreply.github.com>
- Jimmy Everling <jimmy@jimmyk.se>
- Jo <jonassauge@gmail.com>
- Joas Schilling <coding@schilljs.com>
- Joe Hanson <joe@veri.dev>
- John Molakvoæ <skjnldsv@protonmail.com>
- Jos Poortvliet <jospoortvliet@gmail.com>
- Joseph <jturnism@gmail.com>
- Josh <josh.t.richards@gmail.com>
- Joshua Hesketh <josh@hesketh.net.au>
- Julius Härtl <jus@bitgrid.net>
- Kai Biebel <38378574+seclution@users.noreply.github.com>
- Kain <26943220+kaincenteno@users.noreply.github.com>
- Kasim <kasim@rafique.co.uk>
- Killiane Letellier <killiane.letellier@mailo.com>
- Klaus15 <le_kluus@web.de>
- Lance <Gero3977@gmail.com>
- Lorenzo Marroccoli <lollo0296@gmail.com>
- Lorenzo Moscati <lorenzo@moscati.page>
- Lukas Reschke <lukas@statuscode.ch>
- Luotio <juha@luotio.net>
- ManOki <ManOki@users.noreply.github.com>
- Marc <github@wuast24.de>
- Marco Ambrosini <marcoambrosini@proton.me>
- Marius Quabeck <marius.quabeck@nextcloud.com>
- Martin Ligabue <martinligabue@gmail.com>
- Marvin von Papen <79196690+MarvvanPal@users.noreply.github.com>
- Maximilian Jakob Maag <maximilian.maag@outlook.de>
- Michael Keck <git@cr0ydon.com>
- Miguel Guthridge <hdsq@outlook.com.au>
- Mihai Coman <mihai.cmn@gmail.com>
- MondoGao <mondogao@gmail.com>
- Morrow Shore <97566823+MorrowShore@users.noreply.github.com>
- MrAn0nym <63542658+MrAn0nym@users.noreply.github.com>
- Mustapha Zorgati <15628173+mustaphazorgati@users.noreply.github.com>
- Nextcloud Team <contact@nextcloud.com>
- Nextcloud bot <bot@nextcloud.com>
- Nikolas Rimikis <25266387+Leptopoda@users.noreply.github.com>
- Nils K <24257556+septatrix@users.noreply.github.com>
- Oleksandr Piskun <oleksandr2088@icloud.com>
- Oleksii Zolotarevskyi <15846984+roundoutandabout@users.noreply.github.com>
- Olicorne (thiswillbeyourgithub) <26625900+thiswillbeyourgithub@users.noreply.github.com>
- Pablo Zmdl <pablo@nextcloud.com>
- Paul <devnoname120@gmail.com>
- Perlover <perlover@perlover.com>
- Peter van Dijk <peter@7bits.nl>
- Phil Mocek <pmocek-github@mocek.org>
- Philipp Fruck <dev@p-fruck.de>
- Pi-Farm <43029891+pi-farm@users.noreply.github.com>
- PreciousChicken <hello@preciouschicken.com>
- Prokop Schield <76836484+prokopschield@users.noreply.github.com>
- Quentin Lemeasle <quentinlemcode@gmail.com>
- Rahammetoela Toekiman <fusekai@outlook.com>
- Richard Steinmetz <richard@steinmetz.cloud>
- Robert Riemann <robert.riemann@edps.europa.eu>
- Robert Zilke <robert@zilke.dev>
- Ruben D. <ruben@winterrific.net>
- S1m <git@sgougeon.fr>
- Samuel Plumppu <6125097+Greenheart@users.noreply.github.com>
- Sergio Casero Hernández <soy@sergiocasero.es>
- Seth Deegan <jayandseth@gmail.com>
- Shantanu Tushar <shaan7in@gmail.com>
- Simon L. (szaimen) <szaimen@e.mail.de>
- SomeMichael <43578183+SomeMichael@users.noreply.github.com>
- Surfict <allexandre@itis.swiss>
- Syed Mishar Newaz <misharex.sezan@gmail.com>
- TheManchineel <37479927+TheManchineel@users.noreply.github.com>
- Thijs van der Woude <31108288+thijsvanderwoude@users.noreply.github.com>
- Thomas Lavocat <tlavocat@redhat.com>
- Thor Galle <thorgalle@gmail.com>
- Thorsten Schaefer <github@npath.de>
- Tim Diels <tim@diels.me>
- Tomas <16553087+michnovka@users.noreply.github.com>
- Tony F <goldstar611@hotmail.com>
- Valeriy Sotnikov <sotnikov.link@mail.ru>
- Varun Patil <varunpatil@ucla.edu>
- Verhoeckx <64807887+Verhoeckx@users.noreply.github.com>
- William Wong <46506352+tar-xz@users.noreply.github.com>
- Yannik Buerkle <mail@yannik-buerkle.de>
- Zakmaf <100925791+Zakmaf@users.noreply.github.com>
- Zhao Guangyu <62810902+ZhaoGY-N@users.noreply.github.com>
- Zoey <zoey@z0ey.de>
- Zxhir <98621617+Imzxhir@users.noreply.github.com>
- alexenica <alexenica@live.com>
- autoantwort <Leander.schulten@rwth-aachen.de>
- bentongxyz <60358804+bentongxyz@users.noreply.github.com>
- blu3acid <michael.muschner@mailbox.org>
- craigkh <74493036+craigkh@users.noreply.github.com>
- dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- derStephan <derStephan@users.noreply.github.com>
- derhagen <2806328+derhagen@users.noreply.github.com>
- dienteperro <dienteperro1207@yahoo.com>
- ernolf <raphael.gradenwitz@googlemail.com>
- esmith443 <119460913+esmith443@users.noreply.github.com>
- foegra <foegra@yahoo.com>
- gggeek <giunta.gaetano@gmail.com>
- grossamos <email@amosgross.com>
- hunhejj <hunhejj@gmail.com>
- iraklis10 <1414477+iraklis10@users.noreply.github.com>
- jameskimmel <17176225+jameskimmel@users.noreply.github.com>
- jr_blue_551 <johnrowe551@gmail.com>
- kri164 <52274164+kri164@users.noreply.github.com>
- kurt-mcrae <83569406+kurt-mcrae@users.noreply.github.com>
- lll <2844835+flll@users.noreply.github.com>
- marekschneider <marek@kms.onl>
- martin.mueller <martin.mueller@model-engineers.com>
- masterwoot <company+github.com@maganti.se>
- matiasdelellis <mati86dl@gmail.com>
- ncguk <inglenook@duck.com>
- nextcloud-command <nextcloud-command@users.noreply.github.com>
- ninoppp <101364396+ninoppp@users.noreply.github.com>
- notEvil <not_evil@rappold1.at>
- pailloM <56462552+pailloM@users.noreply.github.com>
- ph00lt0 <15004290+ph00lt0@users.noreply.github.com>
- ph818 <71797925+ph818@users.noreply.github.com>
- pun kyard <59349105+punkyard@users.noreply.github.com>
- roelofz <11368363+roelofz@users.noreply.github.com>
- roib20 <66280613+roib20@users.noreply.github.com>
- rugk <rugk+git@posteo.de>
- sjjh <2787214+sjjh@users.noreply.github.com>
- spatterlight <81454789+spatterIight@users.noreply.github.com>
- stefano99 <falchi.stefi@gmail.com>
- steffenmalisi <steffenmalisi@users.noreply.github.com>
- sunjam <sunjam@users.noreply.github.com>
- ten0hira <85587841+ten0hira@users.noreply.github.com>
- thigg <thigg@users.noreply.github.com>
- tofuwabohu <66644064+tofuwabohu@users.noreply.github.com>
- turtleinarock <s.senn14@gmail.com>
- tyleraharrison <tyleraharrison@gmail.com>
- wky0211 <46506352+wky0211@users.noreply.github.com>
- xis <xis@schowek.net>
- zybster <zybster@gmail.com>
- Álvaro Brey <alvaro.brey@nextcloud.com>
+2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM alpine:3.23.4
RUN set -ex; \
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
{
auto_https disable_redirects
+3 -1
View File
@@ -1,5 +1,7 @@
# syntax=docker/dockerfile:latest
FROM caddy:2.11.3-alpine AS caddy
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM caddy:2.11.2-alpine AS caddy
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
FROM httpd:2.4.67-alpine3.23
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+38 -2
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
Listen 8000
<VirtualHost *:8000>
ServerName localhost
@@ -9,6 +12,34 @@ Listen 8000
ErrorLogFormat "[%t] [%l] [%E] [client: %{X-Forwarded-For}i] [%M] [%{User-Agent}i]"
LogLevel ${AIO_LOG_LEVEL}
# KeepAlive On: allow the same TCP connection to carry multiple HTTP requests.
# Without this each asset (JS, CSS, image) would require a full TCP handshake,
# which is especially expensive on TLS connections and noticeably slows down
# Nextcloud's login page and file manager that load dozens of resources at once.
KeepAlive On
# KeepAliveTimeout: close an idle keep-alive connection after 5 seconds.
# A short timeout frees Apache worker threads quickly so they are available
# for new requests; 5 s is long enough to cover the gap between requests
# that a browser issues while rendering a page (typically < 1 s), yet short
# enough to avoid holding threads open for idle or slow clients.
KeepAliveTimeout 5
# MaxKeepAliveRequests: allow at most 500 requests per persistent connection.
# 100 (the Apache default) is too low for Nextcloud: the desktop and mobile
# sync clients issue many small API calls (PROPFIND, GET, PUT, checksums …)
# per sync cycle and routinely exceed 100 requests on a single connection.
# Hitting the limit forces a new TCP/TLS handshake, adding latency and CPU
# overhead. 500 gives sync clients enough headroom while still periodically
# recycling threads to contain per-process memory growth.
MaxKeepAliveRequests 500
# sendfile(2) is disabled because it bypasses Apache's output-filter chain: with
# it enabled, mod_brotli is silently skipped for static files (JS, CSS, SVG),
# negating the compression configured below. MMAP is also
# disabled because files can be replaced by Nextcloud at any time and mmap'd
# pages could serve stale data.
EnableSendfile Off
EnableMMAP Off
# PHP match
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://${NEXTCLOUD_HOST}:9000"
@@ -17,12 +48,17 @@ Listen 8000
<Proxy "fcgi://${NEXTCLOUD_HOST}:9000" flushpackets=on>
</Proxy>
# Compress JS, CSS and SVG responses with Brotli.
# Compress JS, CSS and SVG responses with Brotli (quality 4 gives good
# compression with reasonable CPU cost; the default of 0 barely compresses).
# Other plain-text files are already compressed by Nextcloud itself.
# No deflate fallback is needed: every browser that Nextcloud supports
# (Chrome 49+, Firefox 44+, Safari 11+, Edge 15+ — all from 2016-2017)
# supports Brotli. Internet Explorer, the only browser that never gained
# Brotli support, was dropped by Nextcloud with NC15 (2019).
# Desktop and mobile sync clients never request JS/CSS/SVG assets.
<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/javascript application/javascript application/x-javascript text/css image/svg+xml
BrotliCompressionQuality 0
BrotliCompressionQuality 4
</IfModule>
# Nextcloud dir
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+25 -22
View File
@@ -1,22 +1,25 @@
[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
pidfile=/var/run/supervisord/supervisord.pid
childlogdir=/var/log/supervisord/
logfile_maxbytes=50MB
logfile_backups=10
loglevel=%(ENV_AIO_LOG_LEVEL)s
[program:apache]
# Stdout logging is disabled as otherwise the logs are spammed
stdout_logfile=%(ENV_SUPERVISORD_STDOUT)s
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=httpd -DFOREGROUND
[program:caddy]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/usr/bin/caddy run --config /tmp/Caddyfile
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
pidfile=/var/run/supervisord/supervisord.pid
childlogdir=/var/log/supervisord/
logfile_maxbytes=50MB
logfile_backups=10
loglevel=%(ENV_AIO_LOG_LEVEL)s
[program:apache]
# Stdout logging is disabled as otherwise the logs are spammed
stdout_logfile=%(ENV_SUPERVISORD_STDOUT)s
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=apachectl -DFOREGROUND
[program:caddy]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/usr/bin/caddy run --config /tmp/Caddyfile
+3 -2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM alpine:3.23.4
RUN set -ex; \
@@ -31,5 +33,4 @@ LABEL com.centurylinklabs.watchtower.enable="false" \
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.vendor="Nextcloud" \
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
ENV BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6" \
AIO_LOG_LEVEL="warn"
ENV BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6"
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# These patterns need to be kept in sync with rsync and find excludes in backupscript.sh,
# which use a different syntax (patterns appear in 3 places in total)
nextcloud_aio_volumes/nextcloud_aio_apache/caddy/
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM alpine:3.23.4
RUN set -ex; \
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
+2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# From https://gitlab.collabora.com/collabora-online/docker
# hadolint ignore=DL3007
FROM registry.gitlab.collabora.com/collabora-online/docker:latest
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# Unfortunately, no curl and no nc is installed in the container
# and packages can also not be added as the package list is broken.
+2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/blob/master/docker/from-packages/Dockerfile
FROM collabora/code:25.04.9.4.1
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# Unfortunately, no curl and no nc is installed in the container
# and packages can also not be added as the package list is broken.
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3 -1
View File
@@ -1,5 +1,7 @@
# syntax=docker/dockerfile:latest
FROM haproxy:3.3.10-alpine
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM haproxy:3.3.8-alpine
# hadolint ignore=DL3002
USER root
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# Inspiration: https://github.com/Tecnativa/docker-socket-proxy/blob/master/haproxy.cfg
global
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM alpine:3.23.4
RUN set -ex; \
apk upgrade --no-cache -a; \
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
server.document-root = "/var/www/domaincheck/"
server.port = env.APACHE_PORT
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+34 -32
View File
@@ -1,32 +1,34 @@
# syntax=docker/dockerfile:latest
# Probably from here https://github.com/elastic/dockerfiles/blob/9.3/elasticsearch/Dockerfile
FROM elasticsearch:9.4.1
USER root
# hadolint ignore=DL3041
RUN set -ex; \
\
microdnf update -y; \
microdnf install -y --setopt=tsflags=nodocs \
tzdata \
; \
microdnf clean all;
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
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.opencontainers.image.title="Full Text Search for Nextcloud AIO" \
org.opencontainers.image.description="Elasticsearch-based full-text search for Nextcloud All-in-One" \
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.vendor="Nextcloud" \
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
ENV ES_JAVA_OPTS="-Xms512M -Xmx512M"
ENTRYPOINT ["/start.sh"]
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# Probably from here https://github.com/elastic/dockerfiles/blob/9.3/elasticsearch/Dockerfile
FROM elasticsearch:9.4.0
USER root
# hadolint ignore=DL3041
RUN set -ex; \
\
microdnf update -y; \
microdnf install -y --setopt=tsflags=nodocs \
tzdata \
; \
microdnf clean all;
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
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.opencontainers.image.title="Full Text Search for Nextcloud AIO" \
org.opencontainers.image.description="Elasticsearch-based full-text search for Nextcloud All-in-One" \
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.vendor="Nextcloud" \
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
ENV ES_JAVA_OPTS="-Xms512M -Xmx512M"
ENTRYPOINT ["/start.sh"]
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+54 -52
View File
@@ -1,53 +1,55 @@
# syntax=docker/dockerfile:latest
FROM golang:1.26.3-alpine3.23 AS go
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM golang:1.26.2-alpine3.23 AS go
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
vips-dev \
vips-magick \
vips-heif \
vips-jxl \
vips-poppler \
build-base; \
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
FROM alpine:3.23.4
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
tzdata \
ca-certificates \
netcat-openbsd \
vips \
vips-magick \
vips-heif \
vips-jxl \
vips-poppler \
ttf-dejavu \
bash
COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
ENV PORT=9000 \
AIO_LOG_LEVEL=warn
USER 65534
# https://github.com/h2non/imaginary#memory-issues
ENV MALLOC_ARENA_MAX=2
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.opencontainers.image.title="Imaginary for Nextcloud AIO" \
org.opencontainers.image.description="High-performance image processing service for Nextcloud All-in-One" \
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.vendor="Nextcloud" \
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
vips-dev \
vips-magick \
vips-heif \
vips-jxl \
vips-poppler \
build-base; \
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
FROM alpine:3.23.4
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
tzdata \
ca-certificates \
netcat-openbsd \
vips \
vips-magick \
vips-heif \
vips-jxl \
vips-poppler \
ttf-dejavu \
bash
COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
ENV PORT=9000 \
AIO_LOG_LEVEL=warn
USER 65534
# https://github.com/h2non/imaginary#memory-issues
ENV MALLOC_ARENA_MAX=2
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.opencontainers.image.title="Imaginary for Nextcloud AIO" \
org.opencontainers.image.description="High-performance image processing service for Nextcloud All-in-One" \
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.vendor="Nextcloud" \
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+6 -4
View File
@@ -1,17 +1,19 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# Docker CLI is a requirement
FROM docker:29.5.1-cli AS docker
FROM docker:29.4.1-cli AS docker
ARG CADDY_REMOTE_HOST_HASH=e80a9931765a8dbcbb47db415863387f0df0e1b3
ARG CADDY_REMOTE_HOST_HASH=b21775afa730ffb52a24ddff310c8a6d1fd37276
# Caddy is a requirement
FROM caddy:2.11.3-builder-alpine AS caddy
FROM caddy:2.11.2-builder-alpine AS caddy
RUN set -ex; \
xcaddy build --with github.com/muety/caddy-remote-host@"$CADDY_REMOTE_HOST_HASH"; \
/usr/bin/caddy list-modules
# From https://github.com/docker-library/php/blob/master/8.5/alpine3.23/fpm/Dockerfile
FROM php:8.5.6-fpm-alpine3.23
FROM php:8.5.5-fpm-alpine3.23
EXPOSE 80
EXPOSE 8080
+5
View File
@@ -1,3 +1,8 @@
<!--
SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
SPDX-License-Identifier: AGPL-3.0-only
-->
# Nextcloud All-in-One `mastercontainer`
This folder contains the OCI/Docker container definition, along with associated resources and
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
{
admin off
# auto_https will create redirects for https://{host}:8443 instead of https://{host}
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
header {
# CSP limits which features can be used. By default we allow nothing and only allow required options. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy
# default-src 'none'; Allow nothing by default
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
{
admin off
# auto_https will be handled manually in acme.Caddyfile
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
deduplicate_sessions() {
echo "Deleting duplicate sessions"
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# Function to show text in green
print_green() {
+4 -1
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
@@ -54,7 +57,7 @@ stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/session-deduplicator.sh
user=www-data
user=root
[program:domain-validator]
# Logging is disabled as otherwise all attempts will be logged which spams the logs
+3 -1
View File
@@ -1,5 +1,7 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.31-fpm-alpine3.23
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM php:8.3.30-fpm-alpine3.23
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G
+5
View File
@@ -1,3 +1,8 @@
<!--
SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
SPDX-License-Identifier: AGPL-3.0-only
-->
# Nextcloud All-in-One ``nextcloud`` Container
This folder contains the OCI/Docker container definition, along with associated resources and configuration files, for building the `nextcloud` container as part of the [Nextcloud All-in-One](https://github.com/nextcloud/all-in-one) project. This container hosts PHP and the Nextcloud Server application.
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
$CONFIG = array (
'one-click-instance' => true,
'one-click-instance.user-limit' => 100,
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
$CONFIG = array (
'memcache.local' => '\OC\Memcache\APCu',
);
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
$CONFIG = array (
'apps_paths' => array (
0 => array (
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
// Check if NEXTCLOUD_TRUSTED_CERTIFICATES_ are configured
if (str_contains(implode(' ', array_keys(getenv())), 'NEXTCLOUD_TRUSTED_CERTIFICATES_')) {
$CONFIG['default_certificates_bundle_path'] = '/var/www/html/data/certificates/ca-bundle.crt';
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
if (getenv('NEXTCLOUD_TRUSTED_CERTIFICATES_POSTGRES')) {
$CONFIG = array(
'pgsql_ssl' => array(
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
if (getenv('HTTP_PROXY')) {
$CONFIG['proxy'] = getenv('HTTP_PROXY');
}
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
if (getenv('REDIS_MODE') !== 'rediscluster') {
$CONFIG = array(
'memcache.distributed' => '\OC\Memcache\Redis',
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
$overwriteHost = getenv('OVERWRITEHOST');
if ($overwriteHost) {
$CONFIG['overwritehost'] = $overwriteHost;
+50 -47
View File
@@ -1,47 +1,50 @@
<?php
if (getenv('OBJECTSTORE_S3_BUCKET')) {
$use_ssl = getenv('OBJECTSTORE_S3_SSL');
$use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE');
$use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH');
$autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE');
$multibucket = getenv('OBJECTSTORE_S3_MULTIBUCKET');
$CONFIG = array(
'objectstore' => array(
'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') ?: '',
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
'autocreate' => strtolower($autocreate) !== 'false',
'use_ssl' => strtolower($use_ssl) !== 'false',
// required for some non Amazon S3 implementations
'use_path_style' => strtolower($use_path) === 'true',
// required for older protocol versions
'legacy_auth' => strtolower($use_legacyauth) === 'true',
'use_nextcloud_bundle' => 1,
)
)
);
$sse_c_key = getenv('OBJECTSTORE_S3_SSE_C_KEY');
if ($sse_c_key) {
$CONFIG['objectstore']['arguments']['sse_c_key'] = $sse_c_key;
}
$requestChecksumValidation = getenv('OBJECTSTORE_S3_REQUEST_CHECKSUM_VALIDATION');
if ($requestChecksumValidation) {
$CONFIG['objectstore']['arguments']['request_checksum_calculation'] = $requestChecksumValidation;
}
$responseChecksumValidation = getenv('OBJECTSTORE_S3_RESPONSE_CHECKSUM_VALIDATION');
if ($responseChecksumValidation) {
$CONFIG['objectstore']['arguments']['response_checksum_validation'] = $responseChecksumValidation;
}
}
<?php
// SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
if (getenv('OBJECTSTORE_S3_BUCKET')) {
$use_ssl = getenv('OBJECTSTORE_S3_SSL');
$use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE');
$use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH');
$autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE');
$multibucket = getenv('OBJECTSTORE_S3_MULTIBUCKET');
$CONFIG = array(
'objectstore' => array(
'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') ?: '',
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
'autocreate' => strtolower($autocreate) !== 'false',
'use_ssl' => strtolower($use_ssl) !== 'false',
// required for some non Amazon S3 implementations
'use_path_style' => strtolower($use_path) === 'true',
// required for older protocol versions
'legacy_auth' => strtolower($use_legacyauth) === 'true',
'use_nextcloud_bundle' => 1,
)
)
);
$sse_c_key = getenv('OBJECTSTORE_S3_SSE_C_KEY');
if ($sse_c_key) {
$CONFIG['objectstore']['arguments']['sse_c_key'] = $sse_c_key;
}
$requestChecksumValidation = getenv('OBJECTSTORE_S3_REQUEST_CHECKSUM_VALIDATION');
if ($requestChecksumValidation) {
$CONFIG['objectstore']['arguments']['request_checksum_calculation'] = $requestChecksumValidation;
}
$responseChecksumValidation = getenv('OBJECTSTORE_S3_RESPONSE_CHECKSUM_VALIDATION');
if ($responseChecksumValidation) {
$CONFIG['objectstore']['arguments']['response_checksum_validation'] = $responseChecksumValidation;
}
}
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
$CONFIG = array (
'serverid' => crc32(gethostname()) % 512,
);
@@ -1,4 +1,7 @@
<?php
// SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN')) {
$CONFIG = array (
'mail_smtpmode' => 'smtp',
+34 -31
View File
@@ -1,31 +1,34 @@
<?php
if (getenv('OBJECTSTORE_SWIFT_URL')) {
$autocreate = getenv('OBJECTSTORE_SWIFT_AUTOCREATE');
$CONFIG = array(
'objectstore' => [
'class' => 'OC\\Files\\ObjectStore\\Swift',
'arguments' => [
'autocreate' => $autocreate == true && strtolower($autocreate) !== 'false',
'user' => [
'name' => getenv('OBJECTSTORE_SWIFT_USER_NAME'),
'password' => getenv('OBJECTSTORE_SWIFT_USER_PASSWORD'),
'domain' => [
'name' => (getenv('OBJECTSTORE_SWIFT_USER_DOMAIN')) ?: 'Default',
],
],
'scope' => [
'project' => [
'name' => getenv('OBJECTSTORE_SWIFT_PROJECT_NAME'),
'domain' => [
'name' => (getenv('OBJECTSTORE_SWIFT_PROJECT_DOMAIN')) ?: 'Default',
],
],
],
'serviceName' => (getenv('OBJECTSTORE_SWIFT_SERVICE_NAME')) ?: 'swift',
'region' => getenv('OBJECTSTORE_SWIFT_REGION'),
'url' => getenv('OBJECTSTORE_SWIFT_URL'),
'bucket' => getenv('OBJECTSTORE_SWIFT_CONTAINER_NAME'),
]
]
);
}
<?php
// SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
// SPDX-License-Identifier: AGPL-3.0-only
if (getenv('OBJECTSTORE_SWIFT_URL')) {
$autocreate = getenv('OBJECTSTORE_SWIFT_AUTOCREATE');
$CONFIG = array(
'objectstore' => [
'class' => 'OC\\Files\\ObjectStore\\Swift',
'arguments' => [
'autocreate' => $autocreate == true && strtolower($autocreate) !== 'false',
'user' => [
'name' => getenv('OBJECTSTORE_SWIFT_USER_NAME'),
'password' => getenv('OBJECTSTORE_SWIFT_USER_PASSWORD'),
'domain' => [
'name' => (getenv('OBJECTSTORE_SWIFT_USER_DOMAIN')) ?: 'Default',
],
],
'scope' => [
'project' => [
'name' => getenv('OBJECTSTORE_SWIFT_PROJECT_NAME'),
'domain' => [
'name' => (getenv('OBJECTSTORE_SWIFT_PROJECT_DOMAIN')) ?: 'Default',
],
],
],
'serviceName' => (getenv('OBJECTSTORE_SWIFT_SERVICE_NAME')) ?: 'swift',
'region' => getenv('OBJECTSTORE_SWIFT_REGION'),
'url' => getenv('OBJECTSTORE_SWIFT_URL'),
'bucket' => getenv('OBJECTSTORE_SWIFT_CONTAINER_NAME'),
]
]
);
}
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# version_greater A B returns whether A > B
version_greater() {
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# From https://github.com/nextcloud/docker/blob/master/.examples/dockerfiles/full/fpm/supervisord.conf
[supervisord]
nodaemon=true
+2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM alpine:3.23.4
COPY --chmod=775 start.sh /start.sh
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+5 -8
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
@@ -28,7 +31,7 @@ elif [ "$CPU_ARCH" != "x86_64" ]; then
fi
# Add warning
if ! [ -f /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ] && ! [ -f /var/www/html/apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
if ! [ -f /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
echo "The notify_push binary was not found."
echo "Most likely is DNS resolution not working correctly."
echo "You can try to fix this by configuring a DNS server globally in dockers daemon.json."
@@ -44,13 +47,7 @@ fi
echo "notify-push was started"
if [ -f /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
PUSH_PATH="/var/www/html/custom_apps/notify_push/bin/$CPU_ARCH/notify_push"
else
PUSH_PATH="/var/www/html/apps/notify_push/bin/$CPU_ARCH/notify_push"
fi
# Run it
exec "$PUSH_PATH" \
exec /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push \
--port 7867 \
/var/www/html/config/config.php
+2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
FROM onlyoffice/documentserver:9.3.1.2
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3 -1
View File
@@ -1,6 +1,8 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# From https://github.com/docker-library/postgres/blob/master/18/alpine3.23/Dockerfile
FROM postgres:18.4-alpine
FROM postgres:18.3-alpine
ENV PGDATA=/var/lib/postgresql/data
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# From https://github.com/redis/docker-library-redis/blob/release/8.2/alpine/Dockerfile
FROM redis:8.6.3-alpine
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+5 -6
View File
@@ -1,11 +1,13 @@
# syntax=docker/dockerfile:latest
FROM python:3.14.5-alpine3.23
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM python:3.14.3-alpine3.23
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
ENV RECORDING_VERSION=v0.2.1
ENV ALLOW_ALL=false \
ENV RECORDING_VERSION=v0.2.1 \
ALLOW_ALL=false \
HPB_PROTOCOL=https \
NC_PROTOCOL=https \
SKIP_VERIFY=false \
@@ -35,9 +37,6 @@ RUN set -ex; \
build-base \
linux-headers \
geckodriver; \
if [ "$(apk --print-arch)" = "x86_64" ]; then \
apk add --no-cache intel-media-driver; \
fi; \
useradd -d /tmp --system recording -u 122; \
# Give root a random password
echo "root:$(openssl rand -base64 12)" | chpasswd; \
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+2
View File
@@ -1,4 +1,6 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM nats:2.14.0-scratch AS nats
FROM eturnal/eturnal:1.12.2-alpine AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.1.1 AS signaling
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
[http]
# IP and port to listen on for HTTP requests.
# Comment line to disable the listener.
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3
View File
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
+3 -3
View File
@@ -1,5 +1,7 @@
# syntax=docker/dockerfile:latest
FROM golang:1.26.3-alpine3.23 AS go
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
FROM golang:1.26.2-alpine3.23 AS go
ENV WATCHTOWER_COMMIT_HASH=652c89577076f6bc6f2af4465217589641216ee3
@@ -22,8 +24,6 @@ COPY --chmod=775 start.sh /start.sh
# hadolint ignore=DL3002
USER root
ENV AIO_LOG_LEVEL="warn"
ENTRYPOINT ["/start.sh"]
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
+3
View File
@@ -1,4 +1,7 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
+3 -1
View File
@@ -1,6 +1,8 @@
# syntax=docker/dockerfile:latest
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
# SPDX-License-Identifier: AGPL-3.0-only
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
FROM ghcr.io/nextcloud-releases/whiteboard:v1.5.8
FROM ghcr.io/nextcloud-releases/whiteboard:v1.5.7
USER root
RUN set -ex; \

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