mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-06-10 08:37:02 +00:00
Compare commits
203 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 52f8dc9043 | |||
| e96f5b43fa | |||
| 6cbf5eeefb | |||
| 5393ffbb81 | |||
| 3cee8b2dda | |||
| 6375921282 | |||
| 792549c904 | |||
| 50eea8421b | |||
| 9ea710ba0e | |||
| 4940ece62a | |||
| eed6c74e0c | |||
| ee7d639a0e | |||
| 7fc2a134b7 | |||
| bd1d52b220 | |||
| d8e42d2fd8 | |||
| 8b6ff83c19 | |||
| 82f2e9dca1 | |||
| 414ef03706 | |||
| f668767765 | |||
| 2b8de735dc | |||
| 21250f8ea8 | |||
| dc69f69e74 | |||
| f28b2a7c1e | |||
| 1b1a15edba | |||
| 1f94bc8af0 | |||
| 335db2aac2 | |||
| f5f19a488f | |||
| a78622e69a | |||
| 01e3f8247d | |||
| 1937bf9690 | |||
| 517543babd | |||
| 751cc9e16f | |||
| a9f722b453 | |||
| cbeb056e08 | |||
| da5490b662 | |||
| 99307a0ebe | |||
| f73bfa6283 | |||
| 34aec1c790 | |||
| e17415591a | |||
| 28c8faf997 | |||
| 54b9817061 | |||
| 4f9725c5d4 | |||
| 71b2ae78c4 | |||
| 66adab1ac0 | |||
| 3ceb97c173 | |||
| 4f4420c713 | |||
| dd0e4269a1 | |||
| 32a0b97ce3 | |||
| a0e7a80ac9 | |||
| 62295caa39 | |||
| a529bac3b4 | |||
| 660f7cec08 | |||
| bf4c721fe0 | |||
| b7317a4db6 | |||
| 052c0e6ff3 | |||
| 0722cf95be | |||
| b6ddc024fe | |||
| acbfffd361 | |||
| b1ca6f4997 | |||
| b4057096ac | |||
| 62396eee0d | |||
| e31a493785 | |||
| fb3ff3acbf | |||
| 1a4093220f | |||
| a5cc10295d | |||
| e9716690de | |||
| 5d10dcb284 | |||
| 1a7d50463a | |||
| cfd8f7f47d | |||
| 6cef8a1bfc | |||
| 69afd5c857 | |||
| 7a499f3d0a | |||
| e52f3944ee | |||
| 2f7b98ddff | |||
| a50f28424d | |||
| 26c74fd556 | |||
| d2d59eb207 | |||
| 21649225d0 | |||
| 9cfaad674c | |||
| 0b0f848377 | |||
| 79b24149dc | |||
| 24c88f3fd2 | |||
| 2082fb6bbc | |||
| f976c55726 | |||
| 1514c05435 | |||
| 55c08cab00 | |||
| 2b1ec334e8 | |||
| 99704807d0 | |||
| dabb7d0224 | |||
| 1a2d168a7f | |||
| abaea7b4c2 | |||
| a1c818bc38 | |||
| f178b49cc1 | |||
| 1d546bbb59 | |||
| 5a474d92d9 | |||
| 795baf903b | |||
| b4c0266461 | |||
| 3a988938b2 | |||
| 7c0df4f701 | |||
| 1d27e165e6 | |||
| 22d2db35b1 | |||
| a75d1c48bf | |||
| 74b98b369e | |||
| 74dee77fac | |||
| 70100ba5ef | |||
| de72608519 | |||
| 02c9a7475b | |||
| c2e48d3524 | |||
| b615acf413 | |||
| 379b3d9e5a | |||
| abbe6a85cf | |||
| 20835baa0c | |||
| a32568cc9c | |||
| c6748dc450 | |||
| 4c73a123ca | |||
| b0c4f97ba2 | |||
| 6288665170 | |||
| 3517ba3039 | |||
| a3d84cce7b | |||
| 535a0ffbd2 | |||
| 1d947355ab | |||
| fdfd479db7 | |||
| d4da301c9a | |||
| 4c0b28f70d | |||
| 34429865fe | |||
| 1b696a1242 | |||
| aa115110d5 | |||
| 01365c817f | |||
| 774bd38f79 | |||
| 82fc4635a2 | |||
| e8b9e25cf8 | |||
| d6a06f9e79 | |||
| 8e19b7165d | |||
| 7ae8f729fb | |||
| e6c340779f | |||
| e9a2076a9c | |||
| a571faa4a5 | |||
| cdda9ea637 | |||
| dca9c6b2e2 | |||
| af7c1d02fd | |||
| 1a70a9e9fd | |||
| 0837266f86 | |||
| ea9eca44c2 | |||
| 3fc84ee784 | |||
| bf445e699f | |||
| a03df48865 | |||
| cbea0730d3 | |||
| 6c33a96980 | |||
| 6a07493f4d | |||
| e510e14550 | |||
| 1c5169c9e4 | |||
| b0c00866d4 | |||
| ba48b8134f | |||
| 0a553459ab | |||
| f42e669704 | |||
| 483d562b20 | |||
| 5a77d4e842 | |||
| c5b853e50b | |||
| 2a757d3d66 | |||
| 19b94f40d5 | |||
| 33f40632dd | |||
| ff7443b566 | |||
| fedb0a65df | |||
| 574a408d10 | |||
| 79dd1286e9 | |||
| 96002b185d | |||
| 3828b1ae3d | |||
| cdad9614cd | |||
| c55ae87002 | |||
| 3021f256ce | |||
| 124a6d295b | |||
| 0c6c1caa90 | |||
| 889096ab2b | |||
| cf2fb5f58d | |||
| 76c03d11f0 | |||
| 1bc3896314 | |||
| d86ff57d2f | |||
| a93e9ff0c6 | |||
| b25b0e1075 | |||
| e4d92bdea6 | |||
| d9332ef966 | |||
| 9d53188df3 | |||
| acb18004de | |||
| 70a0a4a361 | |||
| aa7ff451b8 | |||
| 5eb6850d92 | |||
| 78b4bea957 | |||
| 0af08104f5 | |||
| df14efa1ef | |||
| f5d35f0197 | |||
| 901cd8ccef | |||
| 9ed2b32d3e | |||
| 5c1d85b27d | |||
| 55a4ffab63 | |||
| 846bc06bc5 | |||
| 441a2a28e3 | |||
| df9971b249 | |||
| 5bb2778fb7 | |||
| 3b3c8ba25c | |||
| 0be797a531 | |||
| 490a1811c8 | |||
| 035e270245 | |||
| 0dd6ab3f2c |
@@ -0,0 +1,20 @@
|
|||||||
|
# https://editorconfig.org
|
||||||
|
|
||||||
|
# Tip: to find files violating the rules set out here, run `docker run --rm --volume=$PWD:/check mstruebing/editorconfig-checker`
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = space
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.yaml]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
|
||||||
|
[*.yml]
|
||||||
|
indent_size = 2
|
||||||
@@ -1,8 +1,3 @@
|
|||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
-->
|
|
||||||
|
|
||||||
---
|
---
|
||||||
name: 🐛 Bug report - no questions and no support!
|
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
|
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,8 +1,3 @@
|
|||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
-->
|
|
||||||
|
|
||||||
---
|
---
|
||||||
name: 📖 Existing feature/documentation enhancement
|
name: 📖 Existing feature/documentation enhancement
|
||||||
about: Suggest an enhancement of an existing feature/documentation - for other types, please use the feature request option below
|
about: Suggest an enhancement of an existing feature/documentation - for other types, please use the feature request option below
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
contact_links:
|
contact_links:
|
||||||
- name: 📘 Documentation on Nextcloud AIO
|
- name: 📘 Documentation on Nextcloud AIO
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
version: 2
|
version: 2
|
||||||
updates:
|
updates:
|
||||||
- package-ecosystem: "github-actions"
|
- package-ecosystem: "github-actions"
|
||||||
@@ -34,6 +31,7 @@ updates:
|
|||||||
- "/Containers/collabora"
|
- "/Containers/collabora"
|
||||||
- "/Containers/docker-socket-proxy"
|
- "/Containers/docker-socket-proxy"
|
||||||
- "/Containers/domaincheck"
|
- "/Containers/domaincheck"
|
||||||
|
- "/Containers/eurooffice"
|
||||||
- "/Containers/fulltextsearch"
|
- "/Containers/fulltextsearch"
|
||||||
- "/Containers/imaginary"
|
- "/Containers/imaginary"
|
||||||
- "/Containers/mastercontainer"
|
- "/Containers/mastercontainer"
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
- 🚨 SECURITY INFO
|
- 🚨 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.
|
- 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.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<!-- Please check the below checkmarks if applicable -->
|
||||||
|
|
||||||
|
- [ ] The PR was tested and verified that it works locally
|
||||||
|
- [ ] The PR was completely or partially created with AI
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
changelog:
|
changelog:
|
||||||
categories:
|
categories:
|
||||||
- title: 🏕 New features and other improvements
|
- title: 🏕 New features and other improvements
|
||||||
|
|||||||
@@ -10,13 +10,16 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
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
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
|
||||||
- name: Turnstyle
|
- name: Turnstyle
|
||||||
uses: softprops/turnstyle@e565d2d86403c5d23533937e95980570545e5586 # v2
|
uses: softprops/turnstyle@e15e934b3f69ee283ba389ea05c8886baa656d93 # v2
|
||||||
with:
|
with:
|
||||||
continue-after-seconds: 180
|
continue-after-seconds: 180
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ jobs:
|
|||||||
action:
|
action:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: dessant/lock-threads@7266a7ce5c1df01b1c6db85bf8cd86c737dadbe7 # v5
|
- uses: dessant/lock-threads@89ae32b08ed1a541efecbab17912962a5e38981c # v5
|
||||||
with:
|
with:
|
||||||
issue-inactive-days: '14'
|
issue-inactive-days: '14'
|
||||||
process-only: 'issues'
|
process-only: 'issues'
|
||||||
|
|||||||
@@ -30,9 +30,9 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
|
||||||
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
|
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: 24.15.0
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: cd php/tests && npm ci
|
run: cd php/tests && npm ci
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
|
||||||
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
|
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: 24.15.0
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: cd php/tests && npm ci
|
run: cd php/tests && npm ci
|
||||||
|
|||||||
-202
@@ -1,202 +0,0 @@
|
|||||||
<!--
|
|
||||||
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>
|
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
FROM alpine:3.23.4
|
FROM alpine:3.23.4
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
{
|
{
|
||||||
auto_https disable_redirects
|
auto_https disable_redirects
|
||||||
|
|
||||||
@@ -50,7 +47,14 @@ http://{$APACHE_HOST}.nextcloud-aio:23973, # For Collabora callback and WOPI req
|
|||||||
uri strip_prefix /onlyoffice
|
uri strip_prefix /onlyoffice
|
||||||
reverse_proxy {$ONLYOFFICE_HOST}:80 {
|
reverse_proxy {$ONLYOFFICE_HOST}:80 {
|
||||||
header_up X-Forwarded-Host {http.request.hostport}/onlyoffice
|
header_up X-Forwarded-Host {http.request.hostport}/onlyoffice
|
||||||
header_up X-Forwarded-Proto https
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# EuroOffice
|
||||||
|
route /eurooffice/* {
|
||||||
|
uri strip_prefix /eurooffice
|
||||||
|
reverse_proxy {$EUROOFFICE_HOST}:80 {
|
||||||
|
header_up X-Forwarded-Host {http.request.hostport}/eurooffice
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,7 +85,7 @@ http://{$APACHE_HOST}.nextcloud-aio:23973, # For Collabora callback and WOPI req
|
|||||||
# TLS options
|
# TLS options
|
||||||
tls {
|
tls {
|
||||||
issuer acme {
|
issuer acme {
|
||||||
profile shortlived
|
profile tlsserver
|
||||||
# Disable HTTP challenge because that would require port 80, which we don't get (it's exposed to the mastercontainer).
|
# Disable HTTP challenge because that would require port 80, which we don't get (it's exposed to the mastercontainer).
|
||||||
# This container by default only exposes port 443 if not configured otherwise via APACHE_PORT.
|
# This container by default only exposes port 443 if not configured otherwise via APACHE_PORT.
|
||||||
disable_http_challenge
|
disable_http_challenge
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
FROM caddy:2.11.4-alpine AS caddy
|
||||||
# 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 https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
|
||||||
FROM httpd:2.4.67-alpine3.23
|
FROM httpd:2.4.67-alpine3.23
|
||||||
@@ -105,6 +103,7 @@ CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
|
|||||||
HEALTHCHECK CMD /healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Apache and Caddy for Nextcloud AIO" \
|
org.opencontainers.image.title="Apache and Caddy for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="Apache HTTP server with Caddy for Nextcloud All-in-One" \
|
org.opencontainers.image.description="Apache HTTP server with Caddy for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
Listen 8000
|
Listen 8000
|
||||||
<VirtualHost *:8000>
|
<VirtualHost *:8000>
|
||||||
ServerName localhost
|
ServerName localhost
|
||||||
@@ -12,34 +9,6 @@ Listen 8000
|
|||||||
ErrorLogFormat "[%t] [%l] [%E] [client: %{X-Forwarded-For}i] [%M] [%{User-Agent}i]"
|
ErrorLogFormat "[%t] [%l] [%E] [client: %{X-Forwarded-For}i] [%M] [%{User-Agent}i]"
|
||||||
LogLevel ${AIO_LOG_LEVEL}
|
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
|
# PHP match
|
||||||
<FilesMatch "\.php$">
|
<FilesMatch "\.php$">
|
||||||
SetHandler "proxy:fcgi://${NEXTCLOUD_HOST}:9000"
|
SetHandler "proxy:fcgi://${NEXTCLOUD_HOST}:9000"
|
||||||
@@ -48,17 +17,12 @@ Listen 8000
|
|||||||
<Proxy "fcgi://${NEXTCLOUD_HOST}:9000" flushpackets=on>
|
<Proxy "fcgi://${NEXTCLOUD_HOST}:9000" flushpackets=on>
|
||||||
</Proxy>
|
</Proxy>
|
||||||
|
|
||||||
# Compress JS, CSS and SVG responses with Brotli (quality 4 gives good
|
# Compress JS, CSS and SVG responses with Brotli.
|
||||||
# compression with reasonable CPU cost; the default of 0 barely compresses).
|
|
||||||
# Other plain-text files are already compressed by Nextcloud itself.
|
# 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.
|
# Desktop and mobile sync clients never request JS/CSS/SVG assets.
|
||||||
<IfModule mod_brotli.c>
|
<IfModule mod_brotli.c>
|
||||||
AddOutputFilterByType BROTLI_COMPRESS text/javascript application/javascript application/x-javascript text/css image/svg+xml
|
AddOutputFilterByType BROTLI_COMPRESS text/javascript application/javascript application/x-javascript text/css image/svg+xml
|
||||||
BrotliCompressionQuality 4
|
BrotliCompressionQuality 0
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
# Nextcloud dir
|
# Nextcloud dir
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,25 +1,22 @@
|
|||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
[supervisord]
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
nodaemon=true
|
||||||
|
logfile=/var/log/supervisord/supervisord.log
|
||||||
[supervisord]
|
pidfile=/var/run/supervisord/supervisord.pid
|
||||||
nodaemon=true
|
childlogdir=/var/log/supervisord/
|
||||||
logfile=/var/log/supervisord/supervisord.log
|
logfile_maxbytes=50MB
|
||||||
pidfile=/var/run/supervisord/supervisord.pid
|
logfile_backups=10
|
||||||
childlogdir=/var/log/supervisord/
|
loglevel=%(ENV_AIO_LOG_LEVEL)s
|
||||||
logfile_maxbytes=50MB
|
|
||||||
logfile_backups=10
|
[program:apache]
|
||||||
loglevel=%(ENV_AIO_LOG_LEVEL)s
|
# Stdout logging is disabled as otherwise the logs are spammed
|
||||||
|
stdout_logfile=%(ENV_SUPERVISORD_STDOUT)s
|
||||||
[program:apache]
|
stderr_logfile=/dev/stderr
|
||||||
# Stdout logging is disabled as otherwise the logs are spammed
|
stderr_logfile_maxbytes=0
|
||||||
stdout_logfile=%(ENV_SUPERVISORD_STDOUT)s
|
command=httpd -DFOREGROUND
|
||||||
stderr_logfile=/dev/stderr
|
|
||||||
stderr_logfile_maxbytes=0
|
[program:caddy]
|
||||||
command=apachectl -DFOREGROUND
|
stdout_logfile=/dev/stdout
|
||||||
|
stdout_logfile_maxbytes=0
|
||||||
[program:caddy]
|
stderr_logfile=/dev/stderr
|
||||||
stdout_logfile=/dev/stdout
|
stderr_logfile_maxbytes=0
|
||||||
stdout_logfile_maxbytes=0
|
command=/usr/bin/caddy run --config /tmp/Caddyfile
|
||||||
stderr_logfile=/dev/stderr
|
|
||||||
stderr_logfile_maxbytes=0
|
|
||||||
command=/usr/bin/caddy run --config /tmp/Caddyfile
|
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
FROM alpine:3.23.4
|
FROM alpine:3.23.4
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
@@ -27,10 +25,12 @@ USER root
|
|||||||
|
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Borgbackup for Nextcloud AIO" \
|
org.opencontainers.image.title="Borgbackup for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="BorgBackup-based backup service for Nextcloud All-in-One" \
|
org.opencontainers.image.description="BorgBackup-based backup service for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/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.source="https://github.com/nextcloud/all-in-one" \
|
||||||
org.opencontainers.image.vendor="Nextcloud" \
|
org.opencontainers.image.vendor="Nextcloud" \
|
||||||
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
|
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"
|
ENV BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6" \
|
||||||
|
AIO_LOG_LEVEL="warn"
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# 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,
|
# 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)
|
# which use a different syntax (patterns appear in 3 places in total)
|
||||||
nextcloud_aio_volumes/nextcloud_aio_apache/caddy/
|
nextcloud_aio_volumes/nextcloud_aio_apache/caddy/
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
FROM alpine:3.23.4
|
FROM alpine:3.23.4
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
@@ -45,6 +43,7 @@ ENTRYPOINT ["/start.sh"]
|
|||||||
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
|
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="ClamAV for Nextcloud AIO" \
|
org.opencontainers.image.title="ClamAV for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="ClamAV antivirus scanner for Nextcloud All-in-One" \
|
org.opencontainers.image.description="ClamAV antivirus scanner for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
[supervisord]
|
[supervisord]
|
||||||
nodaemon=true
|
nodaemon=true
|
||||||
logfile=/var/log/supervisord/supervisord.log
|
logfile=/var/log/supervisord/supervisord.log
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# 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
|
# From https://gitlab.collabora.com/collabora-online/docker
|
||||||
# hadolint ignore=DL3007
|
# hadolint ignore=DL3007
|
||||||
FROM registry.gitlab.collabora.com/collabora-online/docker:latest
|
FROM registry.gitlab.collabora.com/collabora-online/docker:latest
|
||||||
@@ -15,6 +13,7 @@ USER 1001
|
|||||||
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
|
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Collabora Online for Nextcloud AIO" \
|
org.opencontainers.image.title="Collabora Online for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="Collabora Online document editor from upstream for Nextcloud All-in-One" \
|
org.opencontainers.image.description="Collabora Online document editor from upstream for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/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
|
# Unfortunately, no curl and no nc is installed in the container
|
||||||
# and packages can also not be added as the package list is broken.
|
# and packages can also not be added as the package list is broken.
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# 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 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
|
FROM collabora/code:26.04.1.3.1
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
@@ -15,6 +13,7 @@ USER 1001
|
|||||||
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
|
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Collabora for Nextcloud AIO" \
|
org.opencontainers.image.title="Collabora for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="Collabora CODE document editor for Nextcloud All-in-One" \
|
org.opencontainers.image.description="Collabora CODE document editor for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/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
|
# Unfortunately, no curl and no nc is installed in the container
|
||||||
# and packages can also not be added as the package list is broken.
|
# and packages can also not be added as the package list is broken.
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
FROM haproxy:3.4.0-alpine
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
FROM haproxy:3.3.8-alpine
|
|
||||||
|
|
||||||
# hadolint ignore=DL3002
|
# hadolint ignore=DL3002
|
||||||
USER root
|
USER root
|
||||||
@@ -22,6 +20,7 @@ ENTRYPOINT ["/start.sh"]
|
|||||||
HEALTHCHECK CMD /healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Docker Socket Proxy for Nextcloud AIO" \
|
org.opencontainers.image.title="Docker Socket Proxy for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="HAProxy-based Docker socket proxy for Nextcloud All-in-One" \
|
org.opencontainers.image.description="HAProxy-based Docker socket proxy for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# 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
|
# Inspiration: https://github.com/Tecnativa/docker-socket-proxy/blob/master/haproxy.cfg
|
||||||
|
|
||||||
global
|
global
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
FROM alpine:3.23.4
|
FROM alpine:3.23.4
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk upgrade --no-cache -a; \
|
apk upgrade --no-cache -a; \
|
||||||
@@ -21,6 +19,7 @@ ENTRYPOINT ["/start.sh"]
|
|||||||
HEALTHCHECK CMD nc -z 127.0.0.1 $APACHE_PORT || exit 1
|
HEALTHCHECK CMD nc -z 127.0.0.1 $APACHE_PORT || exit 1
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Domain Check for Nextcloud AIO" \
|
org.opencontainers.image.title="Domain Check for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="Domain validation service for Nextcloud All-in-One setup" \
|
org.opencontainers.image.description="Domain validation service for Nextcloud All-in-One setup" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
server.document-root = "/var/www/domaincheck/"
|
server.document-root = "/var/www/domaincheck/"
|
||||||
|
|
||||||
server.port = env.APACHE_PORT
|
server.port = env.APACHE_PORT
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# syntax=docker/dockerfile:latest
|
||||||
|
FROM ghcr.io/euro-office/documentserver:v9.3.1-beta.1
|
||||||
|
|
||||||
|
# USER root is probably used
|
||||||
|
|
||||||
|
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" \
|
||||||
|
dockhand.update="false" \
|
||||||
|
org.opencontainers.image.title="EuroOffice for Nextcloud AIO" \
|
||||||
|
org.opencontainers.image.description="EuroOffice Document Server 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"
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
|
|
||||||
|
nc -z 127.0.0.1 80 || exit 1
|
||||||
@@ -1,34 +1,33 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
# Probably from here https://github.com/elastic/dockerfiles/blob/9.3/elasticsearch/Dockerfile
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
FROM elasticsearch:9.4.2
|
||||||
# Probably from here https://github.com/elastic/dockerfiles/blob/9.3/elasticsearch/Dockerfile
|
|
||||||
FROM elasticsearch:9.4.0
|
USER root
|
||||||
|
|
||||||
USER root
|
# hadolint ignore=DL3041
|
||||||
|
RUN set -ex; \
|
||||||
# hadolint ignore=DL3041
|
\
|
||||||
RUN set -ex; \
|
microdnf update -y; \
|
||||||
\
|
microdnf install -y --setopt=tsflags=nodocs \
|
||||||
microdnf update -y; \
|
tzdata \
|
||||||
microdnf install -y --setopt=tsflags=nodocs \
|
; \
|
||||||
tzdata \
|
microdnf clean all;
|
||||||
; \
|
|
||||||
microdnf clean all;
|
COPY --chmod=775 start.sh /start.sh
|
||||||
|
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||||
COPY --chmod=775 start.sh /start.sh
|
|
||||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
USER 1000:0
|
||||||
|
|
||||||
USER 1000:0
|
HEALTHCHECK --interval=10s --timeout=5s --start-period=1m --retries=5 CMD /healthcheck.sh
|
||||||
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
HEALTHCHECK --interval=10s --timeout=5s --start-period=1m --retries=5 CMD /healthcheck.sh
|
wud.watch="false" \
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
dockhand.update="false" \
|
||||||
wud.watch="false" \
|
org.opencontainers.image.title="Full Text Search for Nextcloud AIO" \
|
||||||
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.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.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.source="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.vendor="Nextcloud" \
|
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
|
||||||
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
|
ENV ES_JAVA_OPTS="-Xms512M -Xmx512M"
|
||||||
ENV ES_JAVA_OPTS="-Xms512M -Xmx512M"
|
|
||||||
|
ENTRYPOINT ["/start.sh"]
|
||||||
ENTRYPOINT ["/start.sh"]
|
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
|
|
||||||
curl -fs "http://127.0.0.1:9200/_cluster/health?filter_path=status" | grep -qE '"status":"(green|yellow)"' || exit 1
|
curl -fs -u "elastic:$ELASTIC_PASSWORD" "http://127.0.0.1:9200/_cluster/health?filter_path=status" | grep -qE '"status":"(green|yellow)"' || exit 1
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,55 +1,54 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
FROM golang:1.26.4-alpine3.23 AS go
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
FROM golang:1.26.2-alpine3.23 AS go
|
|
||||||
|
|
||||||
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
|
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk upgrade --no-cache -a; \
|
apk upgrade --no-cache -a; \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
vips-dev \
|
vips-dev \
|
||||||
vips-magick \
|
vips-magick \
|
||||||
vips-heif \
|
vips-heif \
|
||||||
vips-jxl \
|
vips-jxl \
|
||||||
vips-poppler \
|
vips-poppler \
|
||||||
build-base; \
|
build-base; \
|
||||||
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
|
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
|
||||||
|
|
||||||
FROM alpine:3.23.4
|
FROM alpine:3.23.4
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk upgrade --no-cache -a; \
|
apk upgrade --no-cache -a; \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
tzdata \
|
tzdata \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
netcat-openbsd \
|
netcat-openbsd \
|
||||||
vips \
|
vips \
|
||||||
vips-magick \
|
vips-magick \
|
||||||
vips-heif \
|
vips-heif \
|
||||||
vips-jxl \
|
vips-jxl \
|
||||||
vips-poppler \
|
vips-poppler \
|
||||||
ttf-dejavu \
|
ttf-dejavu \
|
||||||
bash
|
bash
|
||||||
|
|
||||||
COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
|
COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
|
||||||
COPY --chmod=775 start.sh /start.sh
|
COPY --chmod=775 start.sh /start.sh
|
||||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||||
|
|
||||||
ENV PORT=9000 \
|
ENV PORT=9000 \
|
||||||
AIO_LOG_LEVEL=warn
|
AIO_LOG_LEVEL=warn
|
||||||
|
|
||||||
USER 65534
|
USER 65534
|
||||||
|
|
||||||
# https://github.com/h2non/imaginary#memory-issues
|
# https://github.com/h2non/imaginary#memory-issues
|
||||||
ENV MALLOC_ARENA_MAX=2
|
ENV MALLOC_ARENA_MAX=2
|
||||||
ENTRYPOINT ["/start.sh"]
|
ENTRYPOINT ["/start.sh"]
|
||||||
|
|
||||||
HEALTHCHECK CMD /healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
org.opencontainers.image.title="Imaginary for Nextcloud AIO" \
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.description="High-performance image processing service for Nextcloud All-in-One" \
|
org.opencontainers.image.title="Imaginary for Nextcloud AIO" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.description="High-performance image processing service for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
org.opencontainers.image.vendor="Nextcloud" \
|
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
|
||||||
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
|
org.opencontainers.image.vendor="Nextcloud" \
|
||||||
|
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,19 +1,17 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
# Docker CLI is a requirement
|
# Docker CLI is a requirement
|
||||||
FROM docker:29.4.1-cli AS docker
|
FROM docker:29.5.2-cli AS docker
|
||||||
|
|
||||||
ARG CADDY_REMOTE_HOST_HASH=b21775afa730ffb52a24ddff310c8a6d1fd37276
|
ARG CADDY_REMOTE_HOST_HASH=e80a9931765a8dbcbb47db415863387f0df0e1b3
|
||||||
|
|
||||||
# Caddy is a requirement
|
# Caddy is a requirement
|
||||||
FROM caddy:2.11.2-builder-alpine AS caddy
|
FROM caddy:2.11.4-builder-alpine AS caddy
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
xcaddy build --with github.com/muety/caddy-remote-host@"$CADDY_REMOTE_HOST_HASH"; \
|
xcaddy build --with github.com/muety/caddy-remote-host@"$CADDY_REMOTE_HOST_HASH"; \
|
||||||
/usr/bin/caddy list-modules
|
/usr/bin/caddy list-modules
|
||||||
|
|
||||||
# From https://github.com/docker-library/php/blob/master/8.5/alpine3.23/fpm/Dockerfile
|
# From https://github.com/docker-library/php/blob/master/8.5/alpine3.23/fpm/Dockerfile
|
||||||
FROM php:8.5.5-fpm-alpine3.23
|
FROM php:8.5.6-fpm-alpine3.23
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
@@ -109,6 +107,7 @@ LABEL org.opencontainers.image.title="Nextcloud All-in-One Mastercontainer" \
|
|||||||
org.opencontainers.image.vendor="Nextcloud" \
|
org.opencontainers.image.vendor="Nextcloud" \
|
||||||
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md" \
|
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
com.docker.compose.project="nextcloud-aio"
|
com.docker.compose.project="nextcloud-aio"
|
||||||
|
|
||||||
# hadolint ignore=DL3002
|
# hadolint ignore=DL3002
|
||||||
|
|||||||
@@ -1,8 +1,3 @@
|
|||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
-->
|
|
||||||
|
|
||||||
# Nextcloud All-in-One `mastercontainer`
|
# Nextcloud All-in-One `mastercontainer`
|
||||||
|
|
||||||
This folder contains the OCI/Docker container definition, along with associated resources and
|
This folder contains the OCI/Docker container definition, along with associated resources and
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
{
|
|
||||||
{
|
{
|
||||||
admin off
|
admin off
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
header {
|
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
|
# 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
|
# default-src 'none'; Allow nothing by default
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
{
|
|
||||||
{
|
{
|
||||||
admin off
|
admin off
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
deduplicate_sessions() {
|
deduplicate_sessions() {
|
||||||
echo "Deleting duplicate sessions"
|
echo "Deleting duplicate sessions"
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
# Function to show text in green
|
# Function to show text in green
|
||||||
print_green() {
|
print_green() {
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
[supervisord]
|
[supervisord]
|
||||||
nodaemon=true
|
nodaemon=true
|
||||||
logfile=/var/log/supervisord/supervisord.log
|
logfile=/var/log/supervisord/supervisord.log
|
||||||
@@ -57,7 +54,7 @@ stdout_logfile_maxbytes=0
|
|||||||
stderr_logfile=/dev/stderr
|
stderr_logfile=/dev/stderr
|
||||||
stderr_logfile_maxbytes=0
|
stderr_logfile_maxbytes=0
|
||||||
command=/session-deduplicator.sh
|
command=/session-deduplicator.sh
|
||||||
user=root
|
user=www-data
|
||||||
|
|
||||||
[program:domain-validator]
|
[program:domain-validator]
|
||||||
# Logging is disabled as otherwise all attempts will be logged which spams the logs
|
# Logging is disabled as otherwise all attempts will be logged which spams the logs
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
FROM php:8.3.31-fpm-alpine3.23
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
FROM php:8.3.30-fpm-alpine3.23
|
|
||||||
|
|
||||||
ENV PHP_MEMORY_LIMIT=512M
|
ENV PHP_MEMORY_LIMIT=512M
|
||||||
ENV PHP_UPLOAD_LIMIT=16G
|
ENV PHP_UPLOAD_LIMIT=16G
|
||||||
@@ -10,7 +8,7 @@ ENV SOURCE_LOCATION=/usr/src/nextcloud
|
|||||||
ENV REDIS_DB_INDEX=0
|
ENV REDIS_DB_INDEX=0
|
||||||
|
|
||||||
# AIO settings start # Do not remove or change this line!
|
# AIO settings start # Do not remove or change this line!
|
||||||
ENV NEXTCLOUD_VERSION=33.0.3
|
ENV NEXTCLOUD_VERSION=33.0.5
|
||||||
ENV AIO_TOKEN=123456
|
ENV AIO_TOKEN=123456
|
||||||
ENV AIO_URL=localhost
|
ENV AIO_URL=localhost
|
||||||
# AIO settings end # Do not remove or change this line!
|
# AIO settings end # Do not remove or change this line!
|
||||||
@@ -288,6 +286,7 @@ CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
|
|||||||
HEALTHCHECK CMD /healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Nextcloud for Nextcloud AIO" \
|
org.opencontainers.image.title="Nextcloud for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="Nextcloud server with all required PHP extensions for Nextcloud All-in-One" \
|
org.opencontainers.image.description="Nextcloud server with all required PHP extensions for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,8 +1,3 @@
|
|||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
-->
|
|
||||||
|
|
||||||
# Nextcloud All-in-One ``nextcloud`` Container
|
# 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.
|
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,8 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
$CONFIG = array (
|
$CONFIG = array (
|
||||||
'one-click-instance' => true,
|
'one-click-instance' => true,
|
||||||
'one-click-instance.user-limit' => 100,
|
'one-click-instance.user-limit' => 100,
|
||||||
|
'update_channel' => 'stable',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
$CONFIG = array (
|
$CONFIG = array (
|
||||||
'memcache.local' => '\OC\Memcache\APCu',
|
'memcache.local' => '\OC\Memcache\APCu',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
$CONFIG = array (
|
$CONFIG = array (
|
||||||
'apps_paths' => array (
|
'apps_paths' => array (
|
||||||
0 => array (
|
0 => array (
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
// Check if NEXTCLOUD_TRUSTED_CERTIFICATES_ are configured
|
// Check if NEXTCLOUD_TRUSTED_CERTIFICATES_ are configured
|
||||||
if (str_contains(implode(' ', array_keys(getenv())), 'NEXTCLOUD_TRUSTED_CERTIFICATES_')) {
|
if (str_contains(implode(' ', array_keys(getenv())), 'NEXTCLOUD_TRUSTED_CERTIFICATES_')) {
|
||||||
$CONFIG['default_certificates_bundle_path'] = '/var/www/html/data/certificates/ca-bundle.crt';
|
$CONFIG['default_certificates_bundle_path'] = '/var/www/html/data/certificates/ca-bundle.crt';
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2025 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
if (getenv('NEXTCLOUD_TRUSTED_CERTIFICATES_POSTGRES')) {
|
if (getenv('NEXTCLOUD_TRUSTED_CERTIFICATES_POSTGRES')) {
|
||||||
$CONFIG = array(
|
$CONFIG = array(
|
||||||
'pgsql_ssl' => array(
|
'pgsql_ssl' => array(
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
if (getenv('HTTP_PROXY')) {
|
if (getenv('HTTP_PROXY')) {
|
||||||
$CONFIG['proxy'] = getenv('HTTP_PROXY');
|
$CONFIG['proxy'] = getenv('HTTP_PROXY');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
if (getenv('REDIS_MODE') !== 'rediscluster') {
|
if (getenv('REDIS_MODE') !== 'rediscluster') {
|
||||||
$CONFIG = array(
|
$CONFIG = array(
|
||||||
'memcache.distributed' => '\OC\Memcache\Redis',
|
'memcache.distributed' => '\OC\Memcache\Redis',
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
$overwriteHost = getenv('OVERWRITEHOST');
|
$overwriteHost = getenv('OVERWRITEHOST');
|
||||||
if ($overwriteHost) {
|
if ($overwriteHost) {
|
||||||
$CONFIG['overwritehost'] = $overwriteHost;
|
$CONFIG['overwritehost'] = $overwriteHost;
|
||||||
|
|||||||
@@ -1,50 +1,47 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
$use_ssl = getenv('OBJECTSTORE_S3_SSL');
|
||||||
|
$use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE');
|
||||||
if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
$use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH');
|
||||||
$use_ssl = getenv('OBJECTSTORE_S3_SSL');
|
$autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE');
|
||||||
$use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE');
|
$multibucket = getenv('OBJECTSTORE_S3_MULTIBUCKET');
|
||||||
$use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH');
|
$CONFIG = array(
|
||||||
$autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE');
|
'objectstore' => array(
|
||||||
$multibucket = getenv('OBJECTSTORE_S3_MULTIBUCKET');
|
'class' => '\OC\Files\ObjectStore\S3',
|
||||||
$CONFIG = array(
|
'arguments' => array(
|
||||||
'objectstore' => array(
|
'multibucket' => $multibucket === 'true',
|
||||||
'class' => '\OC\Files\ObjectStore\S3',
|
'num_buckets' => (int)getenv('OBJECTSTORE_S3_NUM_BUCKETS') ?: 64,
|
||||||
'arguments' => array(
|
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
|
||||||
'multibucket' => $multibucket === 'true',
|
'key' => getenv('OBJECTSTORE_S3_KEY') ?: '',
|
||||||
'num_buckets' => (int)getenv('OBJECTSTORE_S3_NUM_BUCKETS') ?: 64,
|
'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '',
|
||||||
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
|
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
|
||||||
'key' => getenv('OBJECTSTORE_S3_KEY') ?: '',
|
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
|
||||||
'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '',
|
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
||||||
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
|
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
||||||
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
|
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
||||||
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
|
'autocreate' => strtolower($autocreate) !== 'false',
|
||||||
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
|
'use_ssl' => strtolower($use_ssl) !== 'false',
|
||||||
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
|
// required for some non Amazon S3 implementations
|
||||||
'autocreate' => strtolower($autocreate) !== 'false',
|
'use_path_style' => strtolower($use_path) === 'true',
|
||||||
'use_ssl' => strtolower($use_ssl) !== 'false',
|
// required for older protocol versions
|
||||||
// required for some non Amazon S3 implementations
|
'legacy_auth' => strtolower($use_legacyauth) === 'true',
|
||||||
'use_path_style' => strtolower($use_path) === 'true',
|
'use_nextcloud_bundle' => 1,
|
||||||
// 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;
|
||||||
$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;
|
||||||
$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;
|
||||||
$responseChecksumValidation = getenv('OBJECTSTORE_S3_RESPONSE_CHECKSUM_VALIDATION');
|
}
|
||||||
if ($responseChecksumValidation) {
|
}
|
||||||
$CONFIG['objectstore']['arguments']['response_checksum_validation'] = $responseChecksumValidation;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2026 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
$CONFIG = array (
|
$CONFIG = array (
|
||||||
'serverid' => crc32(gethostname()) % 512,
|
'serverid' => hexdec(hash('xxh32', gethostname())) & 0x1FF,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<?php
|
<?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')) {
|
if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN')) {
|
||||||
$CONFIG = array (
|
$CONFIG = array (
|
||||||
'mail_smtpmode' => 'smtp',
|
'mail_smtpmode' => 'smtp',
|
||||||
|
|||||||
@@ -1,34 +1,31 @@
|
|||||||
<?php
|
<?php
|
||||||
// SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
if (getenv('OBJECTSTORE_SWIFT_URL')) {
|
||||||
// SPDX-License-Identifier: AGPL-3.0-only
|
$autocreate = getenv('OBJECTSTORE_SWIFT_AUTOCREATE');
|
||||||
|
$CONFIG = array(
|
||||||
if (getenv('OBJECTSTORE_SWIFT_URL')) {
|
'objectstore' => [
|
||||||
$autocreate = getenv('OBJECTSTORE_SWIFT_AUTOCREATE');
|
'class' => 'OC\\Files\\ObjectStore\\Swift',
|
||||||
$CONFIG = array(
|
'arguments' => [
|
||||||
'objectstore' => [
|
'autocreate' => $autocreate == true && strtolower($autocreate) !== 'false',
|
||||||
'class' => 'OC\\Files\\ObjectStore\\Swift',
|
'user' => [
|
||||||
'arguments' => [
|
'name' => getenv('OBJECTSTORE_SWIFT_USER_NAME'),
|
||||||
'autocreate' => $autocreate == true && strtolower($autocreate) !== 'false',
|
'password' => getenv('OBJECTSTORE_SWIFT_USER_PASSWORD'),
|
||||||
'user' => [
|
'domain' => [
|
||||||
'name' => getenv('OBJECTSTORE_SWIFT_USER_NAME'),
|
'name' => (getenv('OBJECTSTORE_SWIFT_USER_DOMAIN')) ?: 'Default',
|
||||||
'password' => getenv('OBJECTSTORE_SWIFT_USER_PASSWORD'),
|
],
|
||||||
'domain' => [
|
],
|
||||||
'name' => (getenv('OBJECTSTORE_SWIFT_USER_DOMAIN')) ?: 'Default',
|
'scope' => [
|
||||||
],
|
'project' => [
|
||||||
],
|
'name' => getenv('OBJECTSTORE_SWIFT_PROJECT_NAME'),
|
||||||
'scope' => [
|
'domain' => [
|
||||||
'project' => [
|
'name' => (getenv('OBJECTSTORE_SWIFT_PROJECT_DOMAIN')) ?: 'Default',
|
||||||
'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'),
|
||||||
'serviceName' => (getenv('OBJECTSTORE_SWIFT_SERVICE_NAME')) ?: 'swift',
|
'bucket' => getenv('OBJECTSTORE_SWIFT_CONTAINER_NAME'),
|
||||||
'region' => getenv('OBJECTSTORE_SWIFT_REGION'),
|
]
|
||||||
'url' => getenv('OBJECTSTORE_SWIFT_URL'),
|
]
|
||||||
'bucket' => getenv('OBJECTSTORE_SWIFT_CONTAINER_NAME'),
|
);
|
||||||
]
|
}
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/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 A B returns whether A > B
|
||||||
version_greater() {
|
version_greater() {
|
||||||
@@ -422,41 +419,12 @@ EOF
|
|||||||
|
|
||||||
# AIO update to latest start # Do not remove or change this line!
|
# AIO update to latest start # Do not remove or change this line!
|
||||||
if [ "$INSTALL_LATEST_MAJOR" = yes ]; then
|
if [ "$INSTALL_LATEST_MAJOR" = yes ]; then
|
||||||
php /var/www/html/occ config:system:set updatedirectory --value="/nc-updater"
|
if ! bash /upgrade-latest-major.sh; then
|
||||||
INSTALLED_AT="$(php /var/www/html/occ config:app:get core installedat)"
|
echo "Upgrade to latest major version failed! Check the output above for details."
|
||||||
if [ -n "${INSTALLED_AT}" ]; then
|
|
||||||
# Set the installdat to 00 which will allow to skip staging and install the next major directly
|
|
||||||
# shellcheck disable=SC2001
|
|
||||||
INSTALLED_AT="$(echo "${INSTALLED_AT}" | sed "s|[0-9][0-9]$|00|")"
|
|
||||||
php /var/www/html/occ config:app:set core installedat --value="${INSTALLED_AT}"
|
|
||||||
fi
|
|
||||||
php /var/www/html/updater/updater.phar --no-interaction --no-backup
|
|
||||||
if ! php /var/www/html/occ -V || php /var/www/html/occ status | grep maintenance | grep -q 'true'; then
|
|
||||||
echo "Installation of Nextcloud failed!"
|
|
||||||
touch "$NEXTCLOUD_DATA_DIR/install.failed"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
|
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
|
||||||
INSTALLED_MAJOR="${installed_version%%.*}"
|
|
||||||
IMAGE_MAJOR="${image_version%%.*}"
|
|
||||||
# If a valid upgrade path, trigger the Nextcloud built-in Updater
|
|
||||||
if ! [ "$INSTALLED_MAJOR" -gt "$IMAGE_MAJOR" ]; then
|
|
||||||
php /var/www/html/updater/updater.phar --no-interaction --no-backup
|
|
||||||
if ! php /var/www/html/occ -V || php /var/www/html/occ status | grep maintenance | grep -q 'true'; then
|
|
||||||
echo "Installation of Nextcloud failed!"
|
|
||||||
# TODO: Add a hint here about what to do / where to look / updater.log?
|
|
||||||
touch "$NEXTCLOUD_DATA_DIR/install.failed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
# shellcheck disable=SC2016
|
|
||||||
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
|
|
||||||
fi
|
|
||||||
php /var/www/html/occ config:system:set updatechecker --type=bool --value=true
|
|
||||||
php /var/www/html/occ app:enable nextcloud-aio --force
|
|
||||||
php /var/www/html/occ db:add-missing-columns
|
|
||||||
php /var/www/html/occ db:add-missing-primary-keys
|
|
||||||
yes | php /var/www/html/occ db:convert-filecache-bigint
|
|
||||||
fi
|
fi
|
||||||
# AIO update to latest end # Do not remove or change this line!
|
# AIO update to latest end # Do not remove or change this line!
|
||||||
|
|
||||||
@@ -899,6 +867,58 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# EuroOffice
|
||||||
|
if [ "$EUROOFFICE_ENABLED" = 'yes' ]; then
|
||||||
|
# Determine EuroOffice port based on host pattern
|
||||||
|
if echo "$EUROOFFICE_HOST" | grep -q "nextcloud-.*-eurooffice"; then
|
||||||
|
EUROOFFICE_PORT=80
|
||||||
|
else
|
||||||
|
EUROOFFICE_PORT=443
|
||||||
|
fi
|
||||||
|
|
||||||
|
count=0
|
||||||
|
while ! nc -z "$EUROOFFICE_HOST" "$EUROOFFICE_PORT" && [ "$count" -lt 90 ]; do
|
||||||
|
echo "Waiting for EuroOffice to become available..."
|
||||||
|
count=$((count+5))
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
|
if [ "$count" -ge 90 ]; then
|
||||||
|
bash /notify.sh "EuroOffice did not start in time!" "Skipping initialization and disabling eurooffice app."
|
||||||
|
php /var/www/html/occ app:disable eurooffice
|
||||||
|
else
|
||||||
|
# Install or enable EuroOffice app as needed
|
||||||
|
if ! [ -d "/var/www/html/custom_apps/eurooffice" ]; then
|
||||||
|
php /var/www/html/occ app:install eurooffice
|
||||||
|
elif [ "$(php /var/www/html/occ config:app:get eurooffice enabled)" != "yes" ]; then
|
||||||
|
php /var/www/html/occ app:enable eurooffice
|
||||||
|
elif [ "$SKIP_UPDATE" != 1 ]; then
|
||||||
|
php /var/www/html/occ app:update eurooffice
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set EuroOffice configuration
|
||||||
|
php /var/www/html/occ config:system:set eurooffice editors_check_interval --value="0" --type=integer
|
||||||
|
php /var/www/html/occ config:system:set eurooffice jwt_secret --value="$EUROOFFICE_SECRET"
|
||||||
|
php /var/www/html/occ config:app:set eurooffice jwt_secret --value="$EUROOFFICE_SECRET"
|
||||||
|
php /var/www/html/occ config:system:set eurooffice jwt_header --value="AuthorizationJwt"
|
||||||
|
|
||||||
|
# Adjust the EuroOffice host if using internal pattern
|
||||||
|
if echo "$EUROOFFICE_HOST" | grep -q "nextcloud-.*-eurooffice"; then
|
||||||
|
EUROOFFICE_HOST="$NC_DOMAIN/eurooffice"
|
||||||
|
export EUROOFFICE_HOST
|
||||||
|
fi
|
||||||
|
|
||||||
|
php /var/www/html/occ config:app:set eurooffice DocumentServerUrl --value="https://$EUROOFFICE_HOST"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Remove EuroOffice app if disabled and removal is requested
|
||||||
|
if [ "$REMOVE_DISABLED_APPS" = yes ] && \
|
||||||
|
[ -d "/var/www/html/custom_apps/eurooffice" ] && \
|
||||||
|
[ -n "$EUROOFFICE_SECRET" ] && \
|
||||||
|
[ "$(php /var/www/html/occ config:system:get eurooffice jwt_secret)" = "$EUROOFFICE_SECRET" ]; then
|
||||||
|
php /var/www/html/occ app:remove eurooffice
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Talk
|
# Talk
|
||||||
if [ "$TALK_ENABLED" = 'yes' ]; then
|
if [ "$TALK_ENABLED" = 'yes' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# 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
|
# From https://github.com/nextcloud/docker/blob/master/.examples/dockerfiles/full/fpm/supervisord.conf
|
||||||
[supervisord]
|
[supervisord]
|
||||||
nodaemon=true
|
nodaemon=true
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
PHP_CLI="php"
|
||||||
|
if [[ "$EUID" = 0 ]]; then
|
||||||
|
PHP_CLI="sudo -u www-data -E $PHP_CLI"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
image_version="$($PHP_CLI -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
|
||||||
|
export IMAGE_MAJOR="${image_version%%.*}"
|
||||||
|
|
||||||
|
$PHP_CLI /var/www/html/occ config:system:set updatedirectory --value="/nc-updater"
|
||||||
|
INSTALLED_AT="$($PHP_CLI /var/www/html/occ config:app:get core installedat)"
|
||||||
|
if [ -n "${INSTALLED_AT}" ]; then
|
||||||
|
# Set the installedat to 00 which will allow to skip staging and install the next major directly
|
||||||
|
# shellcheck disable=SC2001
|
||||||
|
INSTALLED_AT="$(echo "${INSTALLED_AT}" | sed "s|[0-9][0-9]$|00|")"
|
||||||
|
$PHP_CLI /var/www/html/occ config:app:set core installedat --value="${INSTALLED_AT}"
|
||||||
|
fi
|
||||||
|
$PHP_CLI /var/www/html/updater/updater.phar --no-interaction --no-backup
|
||||||
|
if ! $PHP_CLI /var/www/html/occ -V || $PHP_CLI /var/www/html/occ status | grep maintenance | grep -q 'true'; then
|
||||||
|
echo "Installation of Nextcloud failed!"
|
||||||
|
touch "$NEXTCLOUD_DATA_DIR/install.failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
installed_version="$($PHP_CLI -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
|
||||||
|
export INSTALLED_MAJOR="${installed_version%%.*}"
|
||||||
|
# If a valid upgrade path, trigger the Nextcloud built-in Updater
|
||||||
|
if ! $PHP_CLI -r "version_compare(getenv('INSTALLED_MAJOR'), getenv('IMAGE_MAJOR'), '>') || exit(1);"; then
|
||||||
|
$PHP_CLI /var/www/html/updater/updater.phar --no-interaction --no-backup
|
||||||
|
if ! $PHP_CLI /var/www/html/occ -V || $PHP_CLI /var/www/html/occ status | grep maintenance | grep -q 'true'; then
|
||||||
|
echo "Installation of Nextcloud failed!"
|
||||||
|
# TODO: Add a hint here about what to do / where to look / updater.log?
|
||||||
|
touch "$NEXTCLOUD_DATA_DIR/install.failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
$PHP_CLI /var/www/html/occ config:system:set updatechecker --type=bool --value=true
|
||||||
|
$PHP_CLI /var/www/html/occ app:enable nextcloud-aio --force
|
||||||
|
$PHP_CLI /var/www/html/occ db:add-missing-columns
|
||||||
|
$PHP_CLI /var/www/html/occ db:add-missing-primary-keys
|
||||||
|
yes | $PHP_CLI /var/www/html/occ db:convert-filecache-bigint
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
FROM alpine:3.23.4
|
FROM alpine:3.23.4
|
||||||
|
|
||||||
COPY --chmod=775 start.sh /start.sh
|
COPY --chmod=775 start.sh /start.sh
|
||||||
@@ -25,6 +23,7 @@ ENTRYPOINT ["/start.sh"]
|
|||||||
HEALTHCHECK CMD /healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Notify Push for Nextcloud AIO" \
|
org.opencontainers.image.title="Notify Push for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="Nextcloud notify_push high-performance backend for Nextcloud All-in-One" \
|
org.opencontainers.image.description="Nextcloud notify_push high-performance backend for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
@@ -31,7 +28,7 @@ elif [ "$CPU_ARCH" != "x86_64" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Add warning
|
# Add warning
|
||||||
if ! [ -f /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
|
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
|
||||||
echo "The notify_push binary was not found."
|
echo "The notify_push binary was not found."
|
||||||
echo "Most likely is DNS resolution not working correctly."
|
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."
|
echo "You can try to fix this by configuring a DNS server globally in dockers daemon.json."
|
||||||
@@ -45,9 +42,24 @@ if ! [ -f /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; t
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Logic for ipv6 disabled servers
|
||||||
|
BIND="::"
|
||||||
|
if grep -q "1" /sys/module/ipv6/parameters/disable \
|
||||||
|
|| grep -q "1" /proc/sys/net/ipv6/conf/all/disable_ipv6 \
|
||||||
|
|| grep -q "1" /proc/sys/net/ipv6/conf/default/disable_ipv6; then
|
||||||
|
BIND="0.0.0.0"
|
||||||
|
fi
|
||||||
|
export BIND
|
||||||
|
|
||||||
echo "notify-push was started"
|
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
|
# Run it
|
||||||
exec /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push \
|
exec "$PUSH_PATH" \
|
||||||
--port 7867 \
|
--port 7867 \
|
||||||
/var/www/html/config/config.php
|
/var/www/html/config/config.php
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# 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 https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
|
||||||
FROM onlyoffice/documentserver:9.3.1.2
|
FROM onlyoffice/documentserver:9.3.1.2
|
||||||
|
|
||||||
@@ -11,6 +9,7 @@ COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
|||||||
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
|
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="OnlyOffice for Nextcloud AIO" \
|
org.opencontainers.image.title="OnlyOffice for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="OnlyOffice Document Server for Nextcloud All-in-One" \
|
org.opencontainers.image.description="OnlyOffice Document Server for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# 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 https://github.com/docker-library/postgres/blob/master/18/alpine3.23/Dockerfile
|
||||||
FROM postgres:18.3-alpine
|
FROM postgres:18.4-alpine
|
||||||
|
|
||||||
ENV PGDATA=/var/lib/postgresql/data
|
ENV PGDATA=/var/lib/postgresql/data
|
||||||
|
|
||||||
@@ -51,6 +49,7 @@ ENTRYPOINT ["/start.sh"]
|
|||||||
HEALTHCHECK CMD /healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="PostgreSQL for Nextcloud AIO" \
|
org.opencontainers.image.title="PostgreSQL for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="PostgreSQL database for Nextcloud All-in-One" \
|
org.opencontainers.image.description="PostgreSQL database for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# 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 https://github.com/redis/docker-library-redis/blob/release/8.2/alpine/Dockerfile
|
||||||
FROM redis:8.6.3-alpine
|
FROM redis:8.6.3-alpine
|
||||||
|
|
||||||
@@ -25,6 +23,7 @@ ENTRYPOINT ["/start.sh"]
|
|||||||
HEALTHCHECK CMD /healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Redis for Nextcloud AIO" \
|
org.opencontainers.image.title="Redis for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="Redis cache server for Nextcloud All-in-One" \
|
org.opencontainers.image.description="Redis cache server for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
FROM python:3.14.5-alpine3.23
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
FROM python:3.14.3-alpine3.23
|
|
||||||
|
|
||||||
COPY --chmod=775 start.sh /start.sh
|
COPY --chmod=775 start.sh /start.sh
|
||||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||||
|
|
||||||
ENV RECORDING_VERSION=v0.2.1 \
|
ENV RECORDING_VERSION=v0.2.1
|
||||||
ALLOW_ALL=false \
|
ENV ALLOW_ALL=false \
|
||||||
HPB_PROTOCOL=https \
|
HPB_PROTOCOL=https \
|
||||||
NC_PROTOCOL=https \
|
NC_PROTOCOL=https \
|
||||||
SKIP_VERIFY=false \
|
SKIP_VERIFY=false \
|
||||||
@@ -37,6 +35,9 @@ RUN set -ex; \
|
|||||||
build-base \
|
build-base \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
geckodriver; \
|
geckodriver; \
|
||||||
|
if [ "$(apk --print-arch)" = "x86_64" ]; then \
|
||||||
|
apk add --no-cache intel-media-driver; \
|
||||||
|
fi; \
|
||||||
useradd -d /tmp --system recording -u 122; \
|
useradd -d /tmp --system recording -u 122; \
|
||||||
# Give root a random password
|
# Give root a random password
|
||||||
echo "root:$(openssl rand -base64 12)" | chpasswd; \
|
echo "root:$(openssl rand -base64 12)" | chpasswd; \
|
||||||
@@ -66,6 +67,7 @@ CMD ["python", "-m", "nextcloud.talk.recording", "--config", "/conf/recording.co
|
|||||||
HEALTHCHECK CMD /healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Talk Recording for Nextcloud AIO" \
|
org.opencontainers.image.title="Talk Recording for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="Nextcloud Talk recording service for Nextcloud All-in-One" \
|
org.opencontainers.image.description="Nextcloud Talk recording service for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH <https://nextcloud.com>
|
FROM nats:2.14.2-scratch AS nats
|
||||||
# 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 eturnal/eturnal:1.12.2-alpine AS eturnal
|
||||||
FROM strukturag/nextcloud-spreed-signaling:2.1.1 AS signaling
|
FROM strukturag/nextcloud-spreed-signaling:2.1.1 AS signaling
|
||||||
FROM alpine:3.23.4 AS janus
|
FROM alpine:3.23.4 AS janus
|
||||||
@@ -114,6 +112,7 @@ CMD ["supervisord", "-c", "/supervisord.conf"]
|
|||||||
HEALTHCHECK CMD /healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
org.opencontainers.image.title="Talk for Nextcloud AIO" \
|
org.opencontainers.image.title="Talk for Nextcloud AIO" \
|
||||||
org.opencontainers.image.description="Nextcloud Talk with NATS, Janus, eturnal, and signaling server for Nextcloud All-in-One" \
|
org.opencontainers.image.description="Nextcloud Talk with NATS, Janus, eturnal, and signaling server for Nextcloud All-in-One" \
|
||||||
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
|
|
||||||
nc -z 127.0.0.1 8081 || exit 1
|
nc -z 127.0.0.1 8081 || nc -z ::1 8081 || exit 1
|
||||||
nc -z 127.0.0.1 8188 || exit 1
|
nc -z 127.0.0.1 8188 || exit 1
|
||||||
nc -z 127.0.0.1 4222 || exit 1
|
nc -z 127.0.0.1 4222 || exit 1
|
||||||
nc -z 127.0.0.1 "$TALK_PORT" || exit 1
|
nc -z 127.0.0.1 "$TALK_PORT" || nc -z ::1 "$TALK_PORT" || exit 1
|
||||||
eturnalctl status || exit 1
|
eturnalctl status || exit 1
|
||||||
# Verify that the signaling server is actually serving requests, not just
|
# Verify that the signaling server is actually serving requests, not just
|
||||||
# listening on the TCP port (which nc -z above only tests for open port).
|
# listening on the TCP port (which nc -z above only tests for open port).
|
||||||
wget -q -O /dev/null http://127.0.0.1:8081/api/v1/stats || exit 1
|
# SC2102: [::1] is an IPv6 address literal in a URL, not a character-range glob.
|
||||||
|
# shellcheck disable=SC2102
|
||||||
|
wget -q -O /dev/null http://127.0.0.1:8081/api/v1/stats || wget -q -O /dev/null http://[::1]:8081/api/v1/stats || exit 1
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH <https://nextcloud.com>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
[http]
|
[http]
|
||||||
# IP and port to listen on for HTTP requests.
|
# IP and port to listen on for HTTP requests.
|
||||||
# Comment line to disable the listener.
|
# Comment line to disable the listener.
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user