Compare commits

...

145 Commits

Author SHA1 Message Date
Simon L
59421d51d2 increase to 7.6.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-02 13:53:58 +01:00
Simon L
c85bacc940 change php-max-children calculation
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-01 18:05:11 +01:00
Simon L
2221cc7f52 Merge pull request #3659 from Aytsuqi/main 2023-11-01 16:27:56 +01:00
Simon L
d121d97683 Merge pull request #3657 from nextcloud/dependabot/github_actions/helm/chart-testing-action-2.6.0 2023-11-01 16:26:52 +01:00
Aytsuqi
7060cba6c9 rewording reverse-proxy.md
following up on further discussion with szaimen and Zoey2936 on PR#3656 

Signed-off-by: Aytsuqi <141279848+Aytsuqi@users.noreply.github.com>
2023-11-01 16:12:39 +01:00
dependabot[bot]
e4c685c0e7 Bump helm/chart-testing-action from 2.5.0 to 2.6.0
Bumps [helm/chart-testing-action](https://github.com/helm/chart-testing-action) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/helm/chart-testing-action/releases)
- [Commits](https://github.com/helm/chart-testing-action/compare/v2.5.0...v2.6.0)

---
updated-dependencies:
- dependency-name: helm/chart-testing-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 12:31:35 +00:00
Simon L
a1bd8b0f07 Merge pull request #3656 from Aytsuqi/main
Update reverse-proxy.md typo
2023-11-01 13:19:17 +01:00
Aytsuqi
6133e82c14 Update reverse-proxy.md typo
Just a very little typo that confused me while I was reading documentation yesterday. I assume this was what the title wanted to convey?

Signed-off-by: Aytsuqi <141279848+Aytsuqi@users.noreply.github.com>
2023-11-01 12:08:29 +01:00
Simon L
e6b6ec4cfd update screenshot for npm conf
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-01 10:49:17 +01:00
xis
fe00d1dac8 Nextcloud-DLNA community container (#3614) 2023-10-31 18:25:34 +01:00
Simon L
38fb544090 Merge pull request #3653 from nextcloud/dependabot/github_actions/helm/chart-testing-action-2.5.0
Bump helm/chart-testing-action from 2.4.0 to 2.5.0
2023-10-31 17:41:08 +01:00
dependabot[bot]
ee86a9dd72 Bump helm/chart-testing-action from 2.4.0 to 2.5.0
Bumps [helm/chart-testing-action](https://github.com/helm/chart-testing-action) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/helm/chart-testing-action/releases)
- [Commits](https://github.com/helm/chart-testing-action/compare/v2.4.0...v2.5.0)

---
updated-dependencies:
- dependency-name: helm/chart-testing-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-31 12:44:01 +00:00
Simon L
fcfecb737c Merge pull request #3610 from ShapeShifter499/patch-1 2023-10-30 15:19:45 +01:00
Lance
7ffe4fbd5f Update migration.md, add links about synchronization
Make it more obvious about the added note on synchronizing after migration

Signed-off-by: Lance <Gero3977@gmail.com>
2023-10-30 07:11:31 -07:00
Simon L
1aa518d19c Merge pull request #3611 from nextcloud/enh/noid/database-host 2023-10-30 15:09:33 +01:00
Simon L
736c40ce30 Merge pull request #3651 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.1.25-fpm-alpine3.18 2023-10-30 14:09:55 +01:00
Simon L
b6a5c7d048 Merge pull request #3650 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.1-12 2023-10-30 14:09:43 +01:00
Simon L
dfc8b0e522 Merge pull request #3649 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.5.3.1 2023-10-30 14:09:31 +01:00
Simon L
3a3ddcad2e Merge pull request #3648 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.2.12-fpm-alpine3.18 2023-10-30 14:09:17 +01:00
Simon L
af278e8923 Merge pull request #3647 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-24.0.7-cli 2023-10-30 14:09:06 +01:00
Simon L
1a1b15ecd8 Merge pull request #3646 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.4-scratch 2023-10-30 14:08:53 +01:00
Simon L
7a337f4c89 Merge pull request #3645 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-1.2.0 2023-10-30 14:08:40 +01:00
Simon L
02dde8e94c Merge pull request #3644 from nextcloud/aio-helm-update 2023-10-30 14:08:13 +01:00
Simon L
a15cf13119 Merge pull request #3643 from nextcloud/talk-container-update 2023-10-30 14:07:53 +01:00
dependabot[bot]
e548e4861f Bump php in /Containers/nextcloud
Bumps php from 8.1.24-fpm-alpine3.18 to 8.1.25-fpm-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 12:51:31 +00:00
dependabot[bot]
f585cc650f Bump clamav/clamav from 1.2.1-11 to 1.2.1-12 in /Containers/clamav
Bumps clamav/clamav from 1.2.1-11 to 1.2.1-12.

---
updated-dependencies:
- dependency-name: clamav/clamav
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 12:40:58 +00:00
dependabot[bot]
aec7df53c4 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.5.2.1 to 23.05.5.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 12:20:03 +00:00
dependabot[bot]
7466fb0e58 Bump php in /Containers/mastercontainer
Bumps php from 8.2.11-fpm-alpine3.18 to 8.2.12-fpm-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 12:12:11 +00:00
dependabot[bot]
0cf0215d23 Bump docker from 24.0.6-cli to 24.0.7-cli in /Containers/mastercontainer
Bumps docker from 24.0.6-cli to 24.0.7-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 12:12:04 +00:00
dependabot[bot]
59d6a319d1 Bump nats from 2.10.3-scratch to 2.10.4-scratch in /Containers/talk
Bumps nats from 2.10.3-scratch to 2.10.4-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 12:11:25 +00:00
dependabot[bot]
7dd3622fd3 Bump strukturag/nextcloud-spreed-signaling in /Containers/talk
Bumps strukturag/nextcloud-spreed-signaling from 1.1.3 to 1.2.0.

---
updated-dependencies:
- dependency-name: strukturag/nextcloud-spreed-signaling
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 12:11:09 +00:00
szaimen
67fab3111b Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-10-30 12:08:29 +00:00
szaimen
a68717847f talk-update automated change
Signed-off-by: GitHub <noreply@github.com>
2023-10-30 12:03:47 +00:00
Simon L
ebca5442ae Merge pull request #3642 from nextcloud/enh/noid/backup-additional-volumes 2023-10-30 12:08:05 +01:00
Simon L
918afa1a94 allow to back up empty additional volumes
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-30 10:57:59 +01:00
Simon L
54c806c960 update plex readme to use a better link
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-10-30 10:53:11 +01:00
Simon L
8b0d2b3534 Merge pull request #3594 from Habbie/patch-1 2023-10-30 10:50:30 +01:00
Simon L
9168bdaad5 adjust name in postgres container as well
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-30 10:48:27 +01:00
Simon L
9cbcb93c93 Merge pull request #3641 from nextcloud/enh/noid/enable-apps 2023-10-30 10:47:30 +01:00
Simon L
b36f71ff74 also enable integration apps after installing them
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-30 10:44:09 +01:00
Simon L
f4ee3ff6b0 Merge pull request #3639 from nextcloud/enh/noid/fix-generated-images-path 2023-10-30 09:39:49 +01:00
Simon L
1937fde61d add AIO_DATABASE_HOST
Allow to get local ip-address of database container which allows to talk to it even in host mode (the container that requires this needs to be started first then)

Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-30 08:54:05 +01:00
Simon L
2156e60d18 Merge pull request #3608 from nextcloud/enh/noid/change-priority 2023-10-30 08:50:55 +01:00
Simon L
faaee07000 Merge pull request #3584 from nextcloud/enh/noid/postgres-close-idling-sessions 2023-10-30 08:48:32 +01:00
Simon L
a770fc879d Merge pull request #3583 from nextcloud/enh/noid/improve-pullcontainer 2023-10-30 08:47:45 +01:00
Simon L
a80ab8aff2 Merge pull request #3619 from nextcloud/nextcloud-container-update 2023-10-30 08:43:53 +01:00
Simon L
b0b0adf7ce Merge pull request #3618 from nextcloud/talk-container-update 2023-10-30 08:43:27 +01:00
Simon L
3f9f5d1e95 Merge pull request #3617 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.1-11 2023-10-30 08:43:10 +01:00
Simon L
deec58be46 Merge pull request #3612 from nextcloud/imaginary-container-update 2023-10-30 08:42:52 +01:00
Simon L
269731530b Merge pull request #3609 from nextcloud/aio-dependency-update 2023-10-30 08:42:18 +01:00
Simon L
99b5db03b2 Merge pull request #3591 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.5.2.1 2023-10-30 08:41:48 +01:00
Simon L
2d3b35ed3d local-ai - fix path to generated images
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-30 08:37:10 +01:00
Simon L
b9ee292f8a Fix typo
Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-10-30 03:14:20 +01:00
Lance
dadb57f74f Update migration.md, fix spelling
Fix a spelling mistake

Signed-off-by: Lance <Gero3977@gmail.com>
2023-10-28 08:44:57 -07:00
szaimen
69568b0889 nextcloud-update automated change
Signed-off-by: GitHub <noreply@github.com>
2023-10-27 13:01:15 +00:00
szaimen
5da8dc0c15 talk-update automated change
Signed-off-by: GitHub <noreply@github.com>
2023-10-27 12:57:30 +00:00
szaimen
50bdcc7ba6 imaginary-update automated change
Signed-off-by: GitHub <noreply@github.com>
2023-10-27 12:56:56 +00:00
szaimen
552a7babc4 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-10-27 12:25:39 +00:00
dependabot[bot]
969dca4879 Bump clamav/clamav from 1.2.0-9 to 1.2.1-11 in /Containers/clamav
Bumps clamav/clamav from 1.2.0-9 to 1.2.1-11.

---
updated-dependencies:
- dependency-name: clamav/clamav
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-27 12:14:10 +00:00
Simon L
db47b9c573 increase to 7.5.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-27 13:11:51 +02:00
Simon L
c96d56d2f5 Merge pull request #3616 from nextcloud/aio-helm-update
Helm Chart updates
2023-10-27 12:40:07 +02:00
szaimen
1abdac9613 Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-10-27 10:30:37 +00:00
Simon L
2e9f48bb11 fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-27 10:39:01 +02:00
Simon L
706c8bc1bd fix update-helm script
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-27 09:28:21 +02:00
Simon L
882cef4b0c Merge pull request #3589 from nextcloud/nextcloud-container-update 2023-10-27 09:14:21 +02:00
szaimen
a90fd4d4aa nextcloud-update automated change
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-27 09:13:58 +02:00
Simon L
416f50b70c do not go lower than 100 connections
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-26 18:26:40 +02:00
Lance
782e949742 Update migration.md
Include proper command specific for Nextcloud AIO

Signed-off-by: Lance <Gero3977@gmail.com>
2023-10-25 07:49:49 -07:00
Lance
0decfe4900 Update migration.md with info about synchronization
Add information about synchronizing after migration. There maybe issues if the server has been offline for a while and a user reconnects clients for synchronization.

Signed-off-by: Lance <Gero3977@gmail.com>
2023-10-25 07:39:09 -07:00
Simon L
d887ed8de1 change priority of app-settings-section to 0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-25 12:32:00 +02:00
Peter van Dijk
b7de89ba6a fix reference to column in wikipedia timezone list
Signed-off-by: Peter van Dijk <peter@7bits.nl>
2023-10-23 21:35:19 +02:00
dependabot[bot]
5b5f472180 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.5.1.1 to 23.05.5.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 12:40:47 +00:00
Simon L
6168ea3335 do not catch error during pullcontainer so that it throws and logs if it cannot get the image
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-22 17:32:15 +02:00
Simon L
b2ca0b0e22 add mailu to recommended mail server projects
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-22 11:11:46 +02:00
Simon L
00ec781b68 postgresql - close idling sessions automatically
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-21 15:40:57 +02:00
Simon L
c8c6bda76e Merge pull request #3581 from nextcloud/aio-yaml-update
Yaml updates
2023-10-21 14:16:01 +02:00
szaimen
db84d7d486 Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2023-10-21 12:02:16 +00:00
Simon L
d5ff2fca16 Merge pull request #3574 from nextcloud/enh/3540/fix-rp-setup 2023-10-20 21:42:11 +02:00
Simon L
3f43f122ee Merge pull request #3550 from p-fruck/compose-presets-and-typos 2023-10-20 19:53:31 +02:00
Simon L
c5135e3a4e nextcloud container - allowed clients - only limit access in known use cases
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-20 19:37:54 +02:00
Simon L
e2b4283067 add note that integration app is not yet compatible
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-20 19:19:11 +02:00
Philipp Fruck
41a4ea7d92 chore: Add more examples to compose.yaml
Signed-off-by: Philipp Fruck <dev@p-fruck.de>
2023-10-20 18:57:02 +02:00
Philipp Fruck
d9bbafdd69 docs(reverse-proxy): fix typos
Signed-off-by: Philipp Fruck <dev@p-fruck.de>
2023-10-20 18:57:02 +02:00
Simon L
13966948b0 Merge pull request #3565 from nextcloud/enh/3432/add-libretranslate 2023-10-20 17:28:01 +02:00
Simon L
97f66da219 community containers - add libretranslate
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-20 17:24:53 +02:00
Simon L
461ccb0b3e Merge pull request #3572 from nextcloud/dependabot/docker/Containers/apache/httpd-2.4.58-alpine3.18 2023-10-20 15:51:11 +02:00
dependabot[bot]
8e9eb59d12 Bump httpd in /Containers/apache
Bumps httpd from 2.4.57-alpine3.18 to 2.4.58-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-20 13:04:15 +00:00
Simon L
51132831e8 Merge pull request #3571 from nextcloud/dependabot/github_actions/peter-evans/create-or-update-comment-3.1.0
Bump peter-evans/create-or-update-comment from 3.0.2 to 3.1.0
2023-10-20 14:36:15 +02:00
dependabot[bot]
2bb5e84d83 Bump peter-evans/create-or-update-comment from 3.0.2 to 3.1.0
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](c6c9a1a660...23ff15729e)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-20 12:29:03 +00:00
Simon L
ab044fda96 Merge pull request #3567 from nextcloud/fix/3566/fix-haproxy 2023-10-20 13:50:24 +02:00
Simon L
b0eabb8235 Merge pull request #3568 from nextcloud/enh/noid/add-hint 2023-10-20 13:49:53 +02:00
Simon L
36acb8e4e6 add maxconn value to haproxy
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-20 13:40:58 +02:00
Simon L
1f68615c8d add hint regarding restore process and backup location
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-20 13:14:17 +02:00
Simon L
b5577a2909 add further hint what borg is able to do
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-20 13:07:33 +02:00
Simon L
499dccb122 add section about existing ideas for new community containers
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-19 23:20:00 +02:00
Simon L
9a16b7ea53 add hint regarding community containers to the AIO interface
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-19 23:08:14 +02:00
Simon L
3e4f946ab9 adjust link to community containers
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-19 23:02:10 +02:00
Simon L
22392b0a94 add links to ldap and mailserver
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-19 20:33:14 +02:00
Simon L
4456e5380f add another hint
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-19 16:50:20 +02:00
Simon L
3210ad06f2 adjust detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-19 16:47:25 +02:00
Simon L
bdf676af84 add notice regarding https
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-19 16:42:58 +02:00
Simon L
378ec28f76 Merge pull request #3564 from nextcloud/dependabot/docker/Containers/redis/redis-7.2.2-alpine 2023-10-19 15:23:37 +02:00
dependabot[bot]
b08b1857c8 Bump redis from 7.2.1-alpine to 7.2.2-alpine in /Containers/redis
Bumps redis from 7.2.1-alpine to 7.2.2-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-19 13:03:17 +00:00
Simon L
f2b075ac64 improve detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 23:58:47 +02:00
Simon L
5f93ce7f78 update OO
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 23:54:19 +02:00
Simon L
b82b244e1f Merge pull request #3556 from nextcloud/enh/noid/improve-local-ai 2023-10-18 23:51:53 +02:00
Simon L
2f82c168e5 local-ai - actually do not back up downloaded models
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 19:09:04 +02:00
Simon L
d75a53b620 add warning to local-ai
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 18:54:33 +02:00
Simon L
609c61ad65 fix typo and also install assistant app when installing local-ai
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 18:39:21 +02:00
Simon L
53bbf99f37 Merge pull request #3555 from nextcloud/enh/noid/rework-local-ai 2023-10-18 18:23:16 +02:00
Simon L
4df370589d rework local-ai to download models automatically
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 18:17:26 +02:00
Simon L
0521605c33 adjust local ai docs
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 16:05:59 +02:00
Simon L
0feaa9d527 local-ai - use correct directory where models are stored
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 15:27:37 +02:00
Simon L
caeff27bf5 fix backup notification setting
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 14:22:29 +02:00
Simon L
706604539f increase to 7.5.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 14:00:22 +02:00
Simon L
9ac528423e Merge pull request #3516 from nextcloud/enh/3485/disable-successful-backup-notifications 2023-10-18 13:59:11 +02:00
Simon L
1daacdfa99 Merge pull request #3515 from nextcloud/enh/3461/do-not-expose-udp 2023-10-18 13:57:05 +02:00
Simon L
3f5854c4bb Merge pull request #3495 from nextcloud/enh/noid/add-local-ai 2023-10-18 13:36:12 +02:00
Simon L
cd7a87200b community containers - add local ai
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 12:56:08 +02:00
Simon L
f397392d9d update links to discussions for netdata and pgadmin
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-18 00:40:09 +02:00
Simon L
4705bfa992 Merge pull request #3533 from nextcloud/dependabot/docker/Containers/apache/caddy-2.7.5-alpine 2023-10-17 17:12:53 +02:00
Simon L
810236a05c Merge pull request #3532 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.7.5-alpine 2023-10-17 17:12:45 +02:00
Simon L
28b8be112f Merge pull request #3545 from nextcloud/enh/noid/fix-regex 2023-10-17 12:40:58 +02:00
Simon L
cea006c58f fix regex for additional backup dirs
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-17 11:22:07 +02:00
Simon L
30c342d456 Merge pull request #3543 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.3-scratch 2023-10-16 15:25:01 +02:00
Simon L
3f0c7490e0 Merge pull request #3542 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.0-9 2023-10-16 15:24:48 +02:00
Simon L
2280fb62d2 Merge pull request #3541 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.5.1.1 2023-10-16 15:24:31 +02:00
dependabot[bot]
388a79dfe9 Bump nats from 2.10.2-scratch to 2.10.3-scratch in /Containers/talk
Bumps nats from 2.10.2-scratch to 2.10.3-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 13:02:07 +00:00
dependabot[bot]
bfa74ad966 Bump clamav/clamav from 1.2.0-8 to 1.2.0-9 in /Containers/clamav
Bumps clamav/clamav from 1.2.0-8 to 1.2.0-9.

---
updated-dependencies:
- dependency-name: clamav/clamav
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 12:58:52 +00:00
dependabot[bot]
a8c25f7a6a Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.4.2.1 to 23.05.5.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 12:53:49 +00:00
Simon L
eee6157f54 Merge pull request #3523 from nextcloud/smaller-talk 2023-10-16 10:43:33 +02:00
Simon L
b60c86c2b6 Merge pull request #3530 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.21.3-alpine3.18 2023-10-16 10:41:32 +02:00
Simon L
537dda95e7 Merge pull request #3521 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.2-scratch 2023-10-16 10:41:18 +02:00
Zoey
a846b46fcd Add NPMplus as community-container (#3520)
Co-authored-by: Simon L <szaimen@e.mail.de>
2023-10-16 10:40:34 +02:00
Simon L
df9fa7edd3 Merge pull request #3522 from nextcloud/enh/noid/add-permanent-redirect 2023-10-16 10:39:57 +02:00
Simon L
03c7d0ba9a Merge pull request #3528 from MMuschner/patch-1 2023-10-16 10:39:22 +02:00
dependabot[bot]
cf1ae8fb1b Bump caddy from 2.7.4-alpine to 2.7.5-alpine in /Containers/apache
Bumps caddy from 2.7.4-alpine to 2.7.5-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-12 12:51:18 +00:00
dependabot[bot]
4950d1de68 Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.7.4-alpine to 2.7.5-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-12 12:22:52 +00:00
dependabot[bot]
e1f7f04347 Bump golang in /Containers/imaginary
Bumps golang from 1.21.2-alpine3.18 to 1.21.3-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 12:54:17 +00:00
blu3acid
849febd414 Typo in containers.twig
Ln: 325 changed "internect" to "internet"

Signed-off-by: blu3acid <michael.muschner@mailbox.org>
2023-10-11 14:09:10 +02:00
Zoey
320cd9f436 reduce size of talk image
Signed-off-by: Zoey <zoey@z0ey.de>
2023-10-10 16:24:22 +02:00
Simon L
5d2275c806 add permanent redirect to port 80 in mastercontainer
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-10 16:03:40 +02:00
dependabot[bot]
f8aab5f828 Bump nats from 2.10.1-scratch to 2.10.2-scratch in /Containers/talk
Bumps nats from 2.10.1-scratch to 2.10.2-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-10 13:06:24 +00:00
Simon L
258f6683de daily backup - allow to disable succesful backup notifications
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-10 12:12:11 +02:00
Simon L
b56555e92c do not expose udp if AIO is in reverse prox mode
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-09 16:38:18 +02:00
64 changed files with 437 additions and 120 deletions

View File

@@ -23,7 +23,7 @@ jobs:
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
@@ -42,7 +42,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}

View File

@@ -21,7 +21,7 @@ jobs:
version: v3.11.1
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.4.0
uses: helm/chart-testing-action@v2.6.0
- name: Run chart-testing (lint)
id: lint

View File

@@ -1,6 +1,6 @@
FROM caddy:2.7.4-alpine as caddy
FROM caddy:2.7.5-alpine as caddy
FROM httpd:2.4.57-alpine3.18
FROM httpd:2.4.58-alpine3.18
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy

View File

@@ -72,10 +72,10 @@ if [ "$BORG_MODE" = backup ]; then
exit 1
fi
# Test that nothing is empty
for directory in "${VOLUME_DIRS[@]}"; do
if [ -z "$(ls -A "$directory")" ] && [ "$directory" != "/nextcloud_aio_volumes/nextcloud_aio_elasticsearch" ]; then
echo "$directory is empty which is not allowed."
# Test that default volumes are not empty
for volume in "${DEFAULT_VOLUMES[@]}"; do
if [ -z "$(ls -A "/nextcloud_aio_volumes/$volume")" ] && [ "$volume" != "nextcloud_aio_elasticsearch" ]; then
echo "/nextcloud_aio_volumes/$volume is empty which should not happen!"
exit 1
fi
done

View File

@@ -1,5 +1,5 @@
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.1/alpine/Dockerfile
FROM clamav/clamav:1.2.0-8
FROM clamav/clamav:1.2.1-12
COPY clamav.conf /tmp/clamav.conf

View File

@@ -1,5 +1,5 @@
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
FROM collabora/code:23.05.4.2.1
FROM collabora/code:23.05.5.3.1
USER root

View File

@@ -1,5 +1,8 @@
# Inspiration: https://github.com/Tecnativa/docker-socket-proxy/blob/master/haproxy.cfg
global
maxconn 10
defaults
timeout connect 10s
timeout client 10s

View File

@@ -1,6 +1,6 @@
FROM golang:1.21.2-alpine3.18 as go
FROM golang:1.21.3-alpine3.18 as go
ENV IMAGINARY_HASH b632dae8cc321452c3f85bcae79c580b1ae1ed84
ENV IMAGINARY_HASH 7efb66c243056e5b3b65215e101be7915983e364
RUN set -ex; \
apk add --no-cache \

View File

@@ -21,7 +21,7 @@
}
http://:80 {
redir https://{host}{uri}
redir https://{host}{uri} permanent
}
https://:8443 {

View File

@@ -1,11 +1,11 @@
# Docker CLI is a requirement
FROM docker:24.0.6-cli as docker
FROM docker:24.0.7-cli as docker
# Caddy is a requirement
FROM caddy:2.7.4-alpine as caddy
FROM caddy:2.7.5-alpine as caddy
# From https://github.com/docker-library/php/blob/master/8.2/alpine3.18/fpm/Dockerfile
FROM php:8.2.11-fpm-alpine3.18
FROM php:8.2.12-fpm-alpine3.18
EXPOSE 80
EXPOSE 8080

View File

@@ -12,6 +12,11 @@ while true; do
export AUTOMATIC_UPDATES=0
export START_CONTAINERS=1
fi
if [ "$(sed -n '3p' "/mnt/docker-aio-config/data/daily_backup_time")" != 'successNotificationsAreNotEnabled' ]; then
export SEND_SUCCESS_NOTIFICATIONS=1
else
export SEND_SUCCESS_NOTIFICATIONS=0
fi
set +x
if [ -f "/mnt/docker-aio-config/data/daily_backup_running" ]; then
export LOCK_FILE_PRESENT=1

View File

@@ -105,7 +105,7 @@ if [ "$DAILY_BACKUP" = 1 ] && ([ "$AUTOMATIC_UPDATES" = 1 ] || [ "$START_CONTAIN
done
fi
echo "Sending backup notification..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/BackupNotification.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/BackupNotification.php
fi
echo "Daily backup script has finished"

View File

@@ -1,9 +1,9 @@
FROM php:8.1.24-fpm-alpine3.18
FROM php:8.1.25-fpm-alpine3.18
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
ENV PHP_MAX_TIME 3600
ENV NEXTCLOUD_VERSION 27.1.2
ENV NEXTCLOUD_VERSION 27.1.3
ENV AIO_TOKEN 123456
ENV AIO_URL localhost
@@ -70,7 +70,7 @@ RUN set -ex; \
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.22; \
pecl install memcached-3.2.0; \
pecl install redis-6.0.1; \
pecl install redis-6.0.2; \
pecl install imagick-3.7.0; \
\
docker-php-ext-enable \

View File

@@ -33,8 +33,13 @@ REDIS_CONF
echo "Setting php max children..."
MEMORY=$(awk '/MemTotal/ {printf "%d", $2/1024}' /proc/meminfo)
PHP_MAX_CHILDREN=$((MEMORY/50))
# 100 is the default, we do not want to go lower than this
if [ "$PHP_MAX_CHILDREN" -lt 100 ]; then
PHP_MAX_CHILDREN=100
fi
if [ -n "$PHP_MAX_CHILDREN" ]; then
sed -i "s/^pm.max_children =.*/pm.max_children = $PHP_MAX_CHILDREN/" /usr/local/etc/php-fpm.d/www.conf
sed -i "s/^;pm.process_idle_timeout =.*/pm.process_idle_timeout = 3s/" /usr/local/etc/php-fpm.d/www.conf
fi
# Check permissions in ncdata

View File

@@ -135,15 +135,20 @@ while [ -z "$(dig nextcloud-aio-apache A +short)" ]; do
echo "Waiting for nextcloud-aio-apache to start..."
sleep 5
done
IPv4_ADDRESS_APACHE="$(dig nextcloud-aio-apache A +short | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_APACHE="$(dig nextcloud-aio-apache AAAA +short | grep '^[0-9a-f:]\+$' | sort | head -n1)"
IPv4_ADDRESS_MASTERCONTAINER="$(dig nextcloud-aio-mastercontainer A +short | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_MASTERCONTAINER="$(dig nextcloud-aio-mastercontainer AAAA +short | grep '^[0-9a-f:]\+$' | sort | head -n1)"
sed -i "s|^;listen.allowed_clients|listen.allowed_clients|" /usr/local/etc/php-fpm.d/www.conf
sed -i "s|listen.allowed_clients.*|listen.allowed_clients = 127.0.0.1,::1,$IPv4_ADDRESS_APACHE,$IPv6_ADDRESS_APACHE,$IPv4_ADDRESS_MASTERCONTAINER,$IPv6_ADDRESS_MASTERCONTAINER|" /usr/local/etc/php-fpm.d/www.conf
sed -i "/^listen.allowed_clients/s/,,/,/g" /usr/local/etc/php-fpm.d/www.conf
sed -i "/^listen.allowed_clients/s/,$//" /usr/local/etc/php-fpm.d/www.conf
grep listen.allowed_clients /usr/local/etc/php-fpm.d/www.conf
set -x
if [ "$APACHE_PORT" = 443 ] || [ "$APACHE_IP_BINDING" = "127.0.0.1" ] || [ "$APACHE_IP_BINDING" = "::1" ]; then
IPv4_ADDRESS_APACHE="$(dig nextcloud-aio-apache A +short | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_APACHE="$(dig nextcloud-aio-apache AAAA +short | grep '^[0-9a-f:]\+$' | sort | head -n1)"
IPv4_ADDRESS_MASTERCONTAINER="$(dig nextcloud-aio-mastercontainer A +short | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_MASTERCONTAINER="$(dig nextcloud-aio-mastercontainer AAAA +short | grep '^[0-9a-f:]\+$' | sort | head -n1)"
sed -i "s|^;listen.allowed_clients|listen.allowed_clients|" /usr/local/etc/php-fpm.d/www.conf
sed -i "s|listen.allowed_clients.*|listen.allowed_clients = 127.0.0.1,::1,$IPv4_ADDRESS_APACHE,$IPv6_ADDRESS_APACHE,$IPv4_ADDRESS_MASTERCONTAINER,$IPv6_ADDRESS_MASTERCONTAINER|" /usr/local/etc/php-fpm.d/www.conf
sed -i "/^listen.allowed_clients/s/,,/,/g" /usr/local/etc/php-fpm.d/www.conf
sed -i "/^listen.allowed_clients/s/,$//" /usr/local/etc/php-fpm.d/www.conf
grep listen.allowed_clients /usr/local/etc/php-fpm.d/www.conf
fi
set +x
exec "$@"

View File

@@ -1,5 +1,5 @@
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
FROM onlyoffice/documentserver:7.4.1.1
FROM onlyoffice/documentserver:7.5.0.1
# USER root is probably used

View File

@@ -31,7 +31,7 @@ fi
if [ -f "$DUMP_DIR/initialization.failed" ]; then
echo "The database initialization failed. Most likely was a wrong timezone selected."
echo "The selected timezone is '$TZ'."
echo "Please check if it is in 'TZ database name' column of the timezone list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List"
echo "Please check if it is in the 'TZ identifier' column of the timezone list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List"
echo "For further clues on what went wrong, look at the logs above."
echo "You might start again from scratch by following https://github.com/nextcloud/all-in-one#how-to-properly-reset-the-instance and selecting a proper timezone."
exit 1
@@ -152,13 +152,21 @@ if [ -f "/var/lib/postgresql/data/postgresql.conf" ]; then
MEMORY=$(awk '/MemTotal/ {printf "%d", $2/1024}' /proc/meminfo)
MAX_CONNECTIONS=$((MEMORY/50+3))
if [ -n "$MAX_CONNECTIONS" ]; then
# 100 is the default, we do not want to go lower than this
if [ "$MAX_CONNECTIONS" -lt 100 ]; then
MAX_CONNECTIONS=100
fi
sed -i "s|^max_connections =.*|max_connections = $MAX_CONNECTIONS|" "/var/lib/postgresql/data/postgresql.conf"
fi
# Modify conf
# Do not log checkpoints
if grep -q "#log_checkpoints" /var/lib/postgresql/data/postgresql.conf; then
sed -i 's|#log_checkpoints.*|log_checkpoints = off|' /var/lib/postgresql/data/postgresql.conf
fi
# Close idling connections automatically after 3s which does not seem to happen automatically so that we run into max_connections limits
if grep -q "#idle_session_timeout" /var/lib/postgresql/data/postgresql.conf; then
sed -i 's|#idle_session_timeout.*|idle_session_timeout = 3000|' /var/lib/postgresql/data/postgresql.conf
fi
fi
# Catch docker stop attempts

View File

@@ -1,5 +1,5 @@
# From https://github.com/docker-library/redis/blob/master/7.0/alpine/Dockerfile
FROM redis:7.2.1-alpine
FROM redis:7.2.2-alpine
COPY --chmod=775 start.sh /start.sh

View File

@@ -2,7 +2,7 @@ FROM python:3.12.0-alpine3.18
COPY --chmod=775 start.sh /start.sh
ENV RECORDING_VERSION v17.1.1
ENV RECORDING_VERSION v17.1.2
ENV ALLOW_ALL false
ENV HPB_PROTOCOL https
ENV SKIP_VERIFY false

View File

@@ -1,6 +1,6 @@
FROM nats:2.10.1-scratch as nats
FROM nats:2.10.4-scratch as nats
FROM eturnal/eturnal:1.12.0 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:1.1.3 as signaling
FROM strukturag/nextcloud-spreed-signaling:1.2.0 as signaling
FROM alpine:3.18.4 as janus
ARG JANUS_VERSION=v0.14.0
@@ -35,10 +35,10 @@ RUN set -ex; \
FROM alpine:3.18.4
ENV ETURNAL_ETC_DIR="/conf"
COPY --from=janus /usr/local /usr/local
COPY --from=eturnal /opt/eturnal /opt/eturnal
COPY --from=nats /nats-server /usr/local/bin/nats-server
COPY --from=signaling /usr/bin/nextcloud-spreed-signaling /usr/local/bin/nextcloud-spreed-signaling
COPY --from=janus --chmod=777 --chown=1000:1000 /usr/local /usr/local
COPY --from=eturnal --chmod=777 --chown=1000:1000 /opt/eturnal /opt/eturnal
COPY --from=nats --chmod=777 --chown=1000:1000 /nats-server /usr/local/bin/nats-server
COPY --from=signaling --chmod=777 --chown=1000:1000 /usr/bin/nextcloud-spreed-signaling /usr/local/bin/nextcloud-spreed-signaling
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
@@ -66,7 +66,7 @@ RUN set -ex; \
libwebsockets \
\
shadow; \
useradd --system eturnal; \
useradd --system -u 1000 eturnal; \
apk del --no-cache \
shadow; \
\
@@ -85,15 +85,12 @@ RUN set -ex; \
/var/run/supervisord \
/usr/local/lib/janus/loggers; \
chown eturnal:eturnal -R \
/usr \
/opt/eturnal \
/etc/nats.conf \
/var/log/supervisord \
/var/run/supervisord; \
chmod 777 -R \
/tmp \
/conf \
/opt/eturnal \
/var/run/supervisord \
/var/log/supervisord; \
ln -s /opt/eturnal/bin/stun /usr/local/bin/stun; \

View File

@@ -86,9 +86,10 @@ internalsecret = the-shared-secret-for-internal-clients
# only be used while running the benchmark client against the server.
allowall = false
# Common shared secret for requests from and to the backend servers if
# "allowall" is enabled. This must be the same value as configured in the
# Nextcloud admin ui.
# Common shared secret for requests from and to the backend servers. Used if
# "allowall" is enabled or as fallback for individual backends that don't have
# their own secret set.
# This must be the same value as configured in the Nextcloud admin ui.
#secret = the-shared-secret-for-allowall
# Timeout in seconds for requests to the backend.
@@ -109,8 +110,9 @@ connectionsperhost = 8
# URL of the Nextcloud instance
#url = https://cloud.domain.invalid
# Shared secret for requests from and to the backend servers. This must be the
# same value as configured in the Nextcloud admin ui.
# Shared secret for requests from and to the backend servers. Leave empty to use
# the common shared secret from above.
# This must be the same value as configured in the Nextcloud admin ui.
#secret = the-shared-secret
# Limit the number of sessions that are allowed to connect to this backend.
@@ -129,8 +131,9 @@ connectionsperhost = 8
# URL of the Nextcloud instance
#url = https://cloud.otherdomain.invalid
# Shared secret for requests from and to the backend servers. This must be the
# same value as configured in the Nextcloud admin ui.
# Shared secret for requests from and to the backend servers. Leave empty to use
# the common shared secret from above.
# This must be the same value as configured in the Nextcloud admin ui.
#secret = the-shared-secret
[nats]

View File

@@ -78,6 +78,6 @@ class Admin implements ISettings {
* E.g.: 70
*/
public function getPriority(): int {
return 5;
return 0;
}
}

View File

@@ -2,10 +2,11 @@
This container bundles caddy and auto-configures it for you. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden by listening on `bw.$NC_DOMAIN`, if installed.
### Notes
- This container is incompatible with the [npmplus](https://github.com/nextcloud/all-in-one/tree/main/community-containers/npmplus) community container. So make sure that you do not enable both at the same time!
- Make sure that no other service is using port 443 on your host as otherwise the containers will fail to start. You can check this with `sudo netstat -tulpn | grep 443` before installing AIO.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden, make sure that you point `bw.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for vaultwarden.
- After the container was started the first time, you should see a new `nextcloud-aio-caddy` folder and inside there an `allowed-countries.txt` file when you open the files app with the default `admin` user. In there you can adjust the allowed country codes for caddy by adding them to the first line, e.g. `IT FR` would allow access from italy and france. Private ip-ranges are always allowed. Additionally, in order to activate this config, you need to get an account at https://dev.maxmind.com/geoip/geolite2-free-geolocation-data and download the `GeoLite2-Country.mmdb` and upload it with this exact name into the `nextcloud-aio-caddy` folder. Afterwards restart all containers from the AIO interface and your new config should be active!
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers how to add it to the AIO stack
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/szaimen/aio-caddy

View File

@@ -0,0 +1,39 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-dlna",
"display_name": "DLNA",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/dlna",
"image": "thanek/nextcloud-dlna",
"image_tag": "latest",
"internal_port": "host",
"restart": "unless-stopped",
"depends_on": [
"nextcloud-aio-database"
],
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
"NC_PORT=443",
"NEXTCLOUD_DLNA_SERVER_PORT=9999",
"NEXTCLOUD_DLNA_FRIENDLY_NAME=nextcloud-aio",
"NEXTCLOUD_DATA_DIR=/data",
"NEXTCLOUD_DB_TYPE=postgres",
"NEXTCLOUD_DB_HOST=%AIO_DATABASE_HOST%",
"NEXTCLOUD_DB_PORT=5432",
"NEXTCLOUD_DB_NAME=nextcloud_database",
"NEXTCLOUD_DB_USER=oc_nextcloud",
"NEXTCLOUD_DB_PASS=%DATABASE_PASSWORD%"
],
"secrets": [
"DATABASE_PASSWORD"
],
"volumes": [
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/data",
"writeable": false
}
]
}
]
}

View File

@@ -0,0 +1,15 @@
## DLNA server
This container bundles DLNA server for your Nextcloud files to be accessible by the clients in your local network. Simply run the container and look for a new media server `nextcloud-aio` in your local network.
### Notes
- This container will work only if the Nextcloud installation is in your home network, it is not suitable for installations on remote servers.
- This is not working with Docker Desktop since it requires the `host` networking mode in docker, and it doesn't really share the host's network interfaces in this system
- If you have a firewall like ufw configured, you might need to open at least port 9999 TCP and 1900 UDP first in order to make it work.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/thanek/nextcloud-dlna
### Maintainer
https://github.com/thanek

View File

@@ -4,7 +4,7 @@ This container bundles fail2ban and auto-configures it for you in order to block
### Notes
- This is not working on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- If you get an error like `"ip6tables v1.8.9 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?)"`, you need to enable ip6tables on your host via `sudo modprobe ip6table_filter`.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers how to add it to the AIO stack
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/szaimen/aio-fail2ban

View File

@@ -0,0 +1,34 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-libretranslate",
"display_name": "LibreTranslate",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/libretranslate",
"image": "szaimen/aio-libretranslate",
"image_tag": "v1",
"internal_port": "5000",
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%"
],
"volumes": [
{
"source": "nextcloud_aio_libretranslate_db",
"destination": "/app/db",
"writeable": true
},
{
"source": "nextcloud_aio_libretranslate_models",
"destination": "/home/libretranslate/.local",
"writeable": true
}
],
"nextcloud_exec_commands": [
"php /var/www/html/occ app:install integration_libretranslate",
"php /var/www/html/occ app:enable integration_libretranslate",
"php /var/www/html/occ config:app:set integration_libretranslate host --value='http://nextcloud-aio-libretranslate'",
"php /var/www/html/occ config:app:set integration_libretranslate port --value='5000'"
]
}
]
}

View File

@@ -0,0 +1,19 @@
## LibreTranslate
This container bundles LibreTranslate and auto-configures it for you.
### Notes
- Please note that this community container is currently not working since its integration app is not yet compatible with Nextcloud 27 (Hub 6). You can follow the progress here: https://github.com/v1r0x/integration_libretranslate/issues/1
- After the initial startup is done, you might want to change the default language to translate from and to via:
```bash
# Adjust the values `en` and `de` in commands below accordingly
sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:app:set integration_libretranslate from_lang --value="en"
sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:app:set integration_libretranslate to_lang --value="de"
```
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/szaimen/aio-libretranslate
### Maintainer
https://github.com/szaimen

View File

@@ -0,0 +1,45 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-local-ai",
"display_name": "Local AI",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai",
"image": "szaimen/aio-local-ai",
"image_tag": "v1",
"internal_port": "8080",
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%",
"MODELS_PATH=/models"
],
"volumes": [
{
"source": "nextcloud_aio_localai_models",
"destination": "/models",
"writeable": true
},
{
"source": "nextcloud_aio_localai_images",
"destination": "/tmp/generated/images/",
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/nextcloud",
"writeable": false
}
],
"nextcloud_exec_commands": [
"mkdir '/mnt/ncdata/admin/files/nextcloud-aio-local-ai'",
"touch '/mnt/ncdata/admin/files/nextcloud-aio-local-ai/models.yaml'",
"echo 'Scanning nextcloud-aio-local-ai folder for admin user...'",
"php /var/www/html/occ files:scan --path='/admin/files/nextcloud-aio-local-ai'",
"php /var/www/html/occ app:install integration_openai",
"php /var/www/html/occ app:enable integration_openai",
"php /var/www/html/occ config:app:set integration_openai url --value http://nextcloud-aio-local-ai:8080",
"php /var/www/html/occ app:install assistant",
"php /var/www/html/occ app:enable assistant"
]
}
]
}

View File

@@ -0,0 +1,27 @@
## Local AI
This container bundles Local AI and auto-configures it for you.
### Notes
- Make sure to have enough storage space available. This container alone needs ~14GB storage on x64, on arm64 only ~4GB. Every model that you add to `models.yaml` will of course use additional space which adds up quite fast.
- After the container was started the first time, you should see a new `nextcloud-aio-local-ai` folder when you open the files app with the default `admin` user. In there you should see a `models.yaml` config file. You can now add models in there. Please refer [here](https://github.com/go-skynet/model-gallery/blob/main/index.yaml) where you can get further urls that you can put in there. Afterwards restart all containers from the AIO interface and the models should automatically get downloaded by the local-ai container and activated.
- Example for content of `models.yaml` (if you add all of them, it takes around 10GB additional space):
```yaml
# Stable Diffusion in NCNN with c++, supported txt2img and img2img
- url: github:go-skynet/model-gallery/stablediffusion.yaml
# Port of OpenAI's Whisper model in C/C++
- url: github:go-skynet/model-gallery/whisper-base.yaml
name: whisper-1
# A commercially licensable model based on GPT-J and trained by Nomic AI on the v0 GPT4All dataset.
- url: github:go-skynet/model-gallery/gpt4all-j.yaml
name: gpt4all-j
```
- Additionally after doing so, you might want to enable or disable specific features for your models in the integration_openai settings: `https://your-nc-domain.com/settings/admin/connected-accounts`
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/szaimen/aio-local-ai
### Maintainer
https://github.com/szaimen

View File

@@ -0,0 +1,32 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-npmplus",
"display_name": "NPMplus",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/npmplus",
"image": "zoeyvid/npmplus",
"image_tag": "latest",
"internal_port": "host",
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%",
"NC_AIO=true",
"NC_DOMAIN=%NC_DOMAIN%"
],
"volumes": [
{
"source": "nextcloud_aio_npmplus",
"destination": "/data",
"writeable": true
}
],
"backup_volumes": [
"nextcloud_aio_npmplus"
],
"aio_variables": [
"apache_ip_binding=127.0.0.1",
"apache_port=11000"
]
}
]
}

View File

@@ -0,0 +1,22 @@
## NPMplus
This container contains a fork of the Nginx Proxy Manager, which is a WebUI for nginx. It will also automatically create a config and cert for AIO.
### Notes
- This container is incompatible with the [caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container. So make sure that you do not enable both at the same time!
- Only works on linux since it uses network mode host
- You can ignore the NPM configuration of the reverse-proxy.md. The NPMplus fork already contains the changes of the advanced tab.
- Make sure that no other service is using port `443 (tcp/upd)` or `81 (tcp)` on your host as otherwise the containers will fail to start. You can check this with `sudo netstat -tulpn | grep "443\|81"` before installing AIO.
- Please change the default login data first, after you can read inside the logs that the default config for AIO is created and there are no errors.
- After the container was started the first time, please check the logs for errors. Then you can open NPMplus on `https://<ip>:81` and change the password.
- The default password is `iArhP1j7p1P6TA92FA2FMbbUGYqwcYzxC4AVEe12Wbi94FY9gNN62aKyF1shrvG4NycjjX9KfmDQiwkLZH1ZDR9xMjiG2QmoHXi` and the default email is `admin@example.com`
- If you want to use NPMplus behind a domain and outside localhost just create a new proxy host inside the NPMplus which proxies to `https`, `127.0.0.1` and port `81` - all other settings should be the same as for the AIO host.
- If you want to set env options from this [compose.yaml](https://github.com/ZoeyVid/NPMplus/blob/develop/compose.yaml), please set them inside the `.env` file which you can find in the `nextcloud_aio_npmplus` volume
- The data (certs, configs, etc.) of NPMplus will be automatically included in AIOs backup solution!
- **Important:** you always need to enable https for your hosts, since `DISABLE_HTTP` is set to true
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository and Documentation
https://github.com/ZoeyVid/NPMplus
### Maintainer
https://github.com/Zoey2936

View File

@@ -9,7 +9,7 @@ This container bundles pi-hole and auto-configures it for you.
- After adding and starting the container, you can visit `http://ip.address.of.this.server:8573` in order to log in with the admin key that you can retrieve when running `sudo docker inspect nextcloud-aio-pihole | grep WEBPASSWORD`. There you can configure the pi-hole setup. Also you can add local dns records.
- You can configure your home network now to use pi-hole as its dns server by configuring your router.
- Additionally, you can configure the docker daemon to use that by editing `/etc/docker/daemon.json` and adding ` { "dns" : [ "ip.address.of.this.server" , "8.8.8.8" ] } `.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers how to add it to the AIO stack
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/pi-hole/docker-pi-hole

View File

@@ -5,9 +5,9 @@ This container bundles Plex and auto-configures it for you.
- This is not working on arm64 since Plex does only provide x64 docker images.
- This is not working on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- If you have a firewall like ufw configured, you might need to open all Plex ports in there first in order to make it work. Especially port 32400 is important!
- After adding and starting the container, you need to visit http://ip.address.of.server:32400 in order to claim your server with a plex account
- After adding and starting the container, you need to visit http://ip.address.of.server:32400/manage in order to claim your server with a plex account
- The data of Plex will be automatically included in AIOs backup solution!
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers how to add it to the AIO stack
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/plexinc/pms-docker

View File

@@ -12,4 +12,7 @@ Before adding any additional container, make sure to create a backup via the AIO
Afterwards, you might want to add additional community containers to the default AIO stack. You can do so by adding `--env AIO_COMMUNITY_CONTAINERS="container1 container2"` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must match the folder names in this directory! ⚠️⚠️⚠️ Please review the folder for documentation on each of the containers before adding them! Not reviewing the documentation for each of them first might break starting the AIO containers because e.g. fail2ban only works on Linux and not on Docker Desktop!
## How to add containers?
Simply submit a PR by creating a new folder in this directory: https://github.com/nextcloud/all-in-one/tree/main/community-containers with the name of your container. It must include a json file with the same name and with correct syntax and a readme.md with additional information. You might get inspired by caddy, fail2ban, plex, pi-hole or vaultwarden (subfolders in this directory). For a full-blown example of the json file, see https://github.com/nextcloud/all-in-one/blob/main/php/containers.json. The json-schema that it validates against can be found here: https://github.com/nextcloud/all-in-one/blob/main/php/containers-schema.json.
Simply submit a PR by creating a new folder in this directory: https://github.com/nextcloud/all-in-one/tree/main/community-containers with the name of your container. It must include a json file with the same name and with correct syntax and a readme.md with additional information. You might get inspired by caddy, fail2ban, local-ai, libretranslate, plex, pi-hole or vaultwarden (subfolders in this directory). For a full-blown example of the json file, see https://github.com/nextcloud/all-in-one/blob/main/php/containers.json. The json-schema that it validates against can be found here: https://github.com/nextcloud/all-in-one/blob/main/php/containers-schema.json.
### Is there a list of ideas for new community containers?
Yes, see [this list](https://github.com/nextcloud/all-in-one/discussions/categories/ideas?discussions_q=is%3Aopen+category%3AIdeas+label%3A%22help+wanted%22) for already existing ideas for new community containers. Feel free to pick one up and add it to this folder by following the instructions above.

View File

@@ -7,7 +7,7 @@ This container bundles vaultwarden and auto-configures it for you.
- If you want to secure the installation with fail2ban, you might want to check out https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban
- The data of Vaultwarden will be automatically included in AIOs backup solution!
- After adding and starting the container, you need to visit `https://bw.your-domain.com/admin` in order to log in with the admin key that you can retrieve when running `sudo docker inspect nextcloud-aio-vaultwarden | grep ADMIN_TOKEN`. There you can configure smtp first and then invite users via mail. After this is done, you might disable the admin panel via the reverse proxy by blocking connections to the subdirectory.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers how to add it to the AIO stack
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/dani-garcia/vaultwarden

View File

@@ -32,6 +32,8 @@ services:
# - WATCHTOWER_DOCKER_SOCKET_PATH=/var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
# networks: # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file
# - nextcloud-aio # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file
# # Uncomment the following line when using SELinux
# security_opt: ["label:disable"]
# # Optional: Caddy reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# # You can find further examples here: https://github.com/nextcloud/all-in-one/discussions/588
@@ -47,7 +49,7 @@ services:
# - ./sites:/srv
# network_mode: "host"
volumes:
volumes: # If you want to store the data on a different drive, see https://github.com/nextcloud/all-in-one#how-to-store-the-filesinstallation-on-a-separate-drive
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer # This line is not allowed to be changed as otherwise the built-in backup solution will not work

View File

@@ -143,6 +143,8 @@ services:
- TALK_RECORDING_HOST=nextcloud-aio-talk-recording
- FULLTEXTSEARCH_PASSWORD=${FULLTEXTSEARCH_PASSWORD}
- REMOVE_DISABLED_APPS=${REMOVE_DISABLED_APPS}
- APACHE_PORT=${APACHE_PORT}
- APACHE_IP_BINDING=${APACHE_IP_BINDING}
restart: unless-stopped
networks:
- nextcloud-aio

View File

@@ -11,7 +11,7 @@ You can run the containers that are build for AIO with docker-compose. This come
- You lose the AIO interface
- You lose update notifications and automatic updates
- You lose all AIO backup and restore features
- You lose all community containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers
- You lose all community containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers
- **You need to know what you are doing, especially when modifying the compose.yaml file**
- For updating, you need to strictly follow the at the bottom described update routine
- Probably more

View File

@@ -18,6 +18,7 @@ The procedure for migrating only the files works like this:
1. Next, run `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chown -R 33:0 /mnt/ncdata/` and `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chmod -R 750 /mnt/ncdata/` to apply the correct permissions. (Or if `NEXTCLOUD_DATADIR` was provided, apply `chown -R 33:0` and `chmod -R 750` to the chosen path.)
1. Start the containers again and wait until all containers are running
1. Run `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan-app-data && sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all` in order to scan all files in the datadirectory.
1. If the restored data is older than any clients you want to continue to sync, for example if the server was down for a period of time during migration, you may want to take a look at [Synchronising with clients after migration](/migration.md#synchronising-with-clients-after-migration) below.
## Migrate the files and the database
**Please note**: this is much more complicated than migrating only the files and also not as failproof so be warned! Also, this will not work on former snap installations as the snap is read-only and thus you cannot install the necessary `pdo_pgsql` PHP extension. So if migrating from snap, you will need to use one of the other methods. However you could try to ask if the snaps maintainer could add this one small PHP extension to the snap here: https://github.com/nextcloud-snap/nextcloud-snap/issues which would allow for an easy migration.
@@ -84,5 +85,21 @@ The procedure for migrating the files and the database works like this:
Now the whole Nextcloud instance should work again.<br>
If not, feel free to restore the AIO instance from backup and start at step 8 again.
If the restored data is older than any clients you want to continue to sync, for example if the server was down for a period of time during migration, you may want to take a look at [Synchronising with clients after migration](/migration.md#synchronising-with-clients-after-migration) below.
## Use the user_migration app
A new way since the Nextcloud update to 24 is to use the new [user_migration app](https://apps.nextcloud.com/apps/user_migration#app-gallery). It allows to export the most important data on one instance and import it on a different Nextcloud instance. For that, you need to install and enable the user_migration app on your old instance, trigger the export for the user, create the user on the new instance, log in with that user and import the archive that was created during the export. This then needs to be done for each user that you want to migrate.
If the restored data is older than any clients you want to continue to sync, for example if the server was down for a period of time during migration, you may want to take a look at [Synchronising with clients after migration](/migration.md#synchronising-with-clients-after-migration) below.
# Synchronising with clients after migration
#### From https://docs.nextcloud.com/server/latest/admin_manual/maintenance/restore.html#synchronising-with-clients-after-data-recovery
By default the Nextcloud server is considered the authoritative source for the data. If the data on the server and the client differs clients will default to fetching the data from the server.
If the recovered backup is outdated the state of the clients may be more up to date than the state of the server. In this case also make sure to run `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ maintenance:data-fingerprint` command afterwards. It changes the logic of the synchronisation algorithm to try an recover as much data as possible. Files missing on the server are therefore recovered from the clients and in case of different content the users will be asked.
>[!Note]
>The usage of maintenance:data-fingerprint can cause conflict dialogues and difficulties deleting files on the client. Therefore its only recommended to prevent dataloss if the backup was outdated.
If you are running multiple application servers you will need to make sure the config files are synced between them so that the updated data-fingerprint is applied on all instances.

View File

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

View File

@@ -10,7 +10,7 @@ You can run the containers that are build for AIO with Kubernetes using this Hel
- You lose the AIO interface
- You lose update notifications and automatic updates
- You lose all AIO backup and restore features
- You lose all community containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers
- You lose all community containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers
- **You need to know what you are doing**
- For updating, you need to strictly follow the at the bottom described update routine
- You need to monitor yourself if the volumes have enough free space and increase them if they don't by adjusting their size in values.yaml

View File

@@ -57,7 +57,7 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:20231016_081107-latest
image: nextcloud/aio-apache:20231030_072910-latest
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}

View File

@@ -39,7 +39,7 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20231016_081107-latest
image: nextcloud/aio-clamav:20231030_072910-latest
name: nextcloud-aio-clamav
ports:
- containerPort: 3310

View File

@@ -37,7 +37,7 @@ spec:
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true {{ .Values.COLLABORA_SECCOMP_POLICY }} --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
image: nextcloud/aio-collabora:20231016_081107-latest
image: nextcloud/aio-collabora:20231030_072910-latest
name: nextcloud-aio-collabora
ports:
- containerPort: 9980

View File

@@ -61,7 +61,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20231016_081107-latest
image: nextcloud/aio-postgresql:20231030_072910-latest
name: nextcloud-aio-database
ports:
- containerPort: 5432

View File

@@ -55,7 +55,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20231016_081107-latest
image: nextcloud/aio-fulltextsearch:20231030_072910-latest
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200

View File

@@ -27,7 +27,7 @@ spec:
- env:
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20231016_081107-latest
image: nextcloud/aio-imaginary:20231030_072910-latest
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000

View File

@@ -45,6 +45,8 @@ spec:
value: "{{ .Values.NEXTCLOUD_PASSWORD }}"
- name: ADMIN_USER
value: admin
- name: APACHE_PORT
value: "{{ .Values.APACHE_PORT }}"
- name: CLAMAV_ENABLED
value: "{{ .Values.CLAMAV_ENABLED }}"
- name: CLAMAV_HOST
@@ -121,7 +123,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: nextcloud/aio-nextcloud:20231016_081107-latest
image: nextcloud/aio-nextcloud:20231030_072910-latest
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000

View File

@@ -50,7 +50,7 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: nextcloud/aio-notify-push:20231016_081107-latest
image: nextcloud/aio-notify-push:20231030_072910-latest
name: nextcloud-aio-notify-push
ports:
- containerPort: 7867

View File

@@ -43,7 +43,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20231016_081107-latest
image: nextcloud/aio-onlyoffice:20231030_072910-latest
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80

View File

@@ -38,7 +38,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20231016_081107-latest
image: nextcloud/aio-redis:20231030_072910-latest
name: nextcloud-aio-redis
ports:
- containerPort: 6379

View File

@@ -37,7 +37,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20231016_081107-latest
image: nextcloud/aio-talk:20231030_072910-latest
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}

View File

@@ -33,7 +33,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20231016_081107-latest
image: nextcloud/aio-talk-recording:20231030_072910-latest
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234

View File

@@ -29,6 +29,7 @@ source /tmp/sample.conf
rm /tmp/sample.conf
sed -i "s|:latest$|:$DOCKER_TAG-latest|" latest.yml
sed -i "s|\${APACHE_IP_BINDING}:||" latest.yml
sed -i '/APACHE_IP_BINDING/d' latest.yml
sed -i "s|\${APACHE_PORT}:\${APACHE_PORT}/|$APACHE_PORT:$APACHE_PORT/|" latest.yml
sed -i "s|\${TALK_PORT}:\${TALK_PORT}/|$TALK_PORT:$TALK_PORT/|g" latest.yml
sed -i "s|- \${APACHE_PORT}|- $APACHE_PORT|" latest.yml

10
php/composer.lock generated
View File

@@ -391,16 +391,16 @@
},
{
"name": "laravel/serializable-closure",
"version": "v1.3.1",
"version": "v1.3.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "e5a3057a5591e1cfe8183034b0203921abe2c902"
"reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/e5a3057a5591e1cfe8183034b0203921abe2c902",
"reference": "e5a3057a5591e1cfe8183034b0203921abe2c902",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/076fe2cf128bd54b4341cdc6d49b95b34e101e4c",
"reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c",
"shasum": ""
},
"require": {
@@ -447,7 +447,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2023-07-14T13:56:28+00:00"
"time": "2023-10-17T13:38:16+00:00"
},
{
"name": "nikic/fast-route",

View File

@@ -210,7 +210,9 @@
"TALK_RECORDING_HOST=nextcloud-aio-talk-recording",
"FULLTEXTSEARCH_PASSWORD=%FULLTEXTSEARCH_PASSWORD%",
"DOCKER_SOCKET_PROXY_ENABLED=%DOCKER_SOCKET_PROXY_ENABLED%",
"REMOVE_DISABLED_APPS=%REMOVE_DISABLED_APPS%"
"REMOVE_DISABLED_APPS=%REMOVE_DISABLED_APPS%",
"APACHE_PORT=%APACHE_PORT%",
"APACHE_IP_BINDING=%APACHE_IP_BINDING%"
],
"restart": "unless-stopped",
"devices": [

View File

@@ -49,8 +49,13 @@ class ConfigurationController
} else {
$enableAutomaticUpdates = false;
}
if (isset($request->getParsedBody()['success_notification'])) {
$successNotification = true;
} else {
$successNotification = false;
}
$dailyBackupTime = $request->getParsedBody()['daily_backup_time'] ?? '';
$this->configurationManager->SetDailyBackupTime($dailyBackupTime, $enableAutomaticUpdates);
$this->configurationManager->SetDailyBackupTime($dailyBackupTime, $enableAutomaticUpdates, $successNotification);
}
if (isset($request->getParsedBody()['delete_daily_backup_time'])) {

View File

@@ -21,7 +21,11 @@ $nextcloudContainer = $containerDefinitionFetcher->GetContainerById($id);
$backupExitCode = $dockerActionManger->GetBackupcontainerExitCode();
if ($backupExitCode === 0) {
$dockerActionManger->sendNotification($nextcloudContainer, 'Daily backup successful!', 'You can get further info by looking at the backup logs in the AIO interface.');
if (getenv('SEND_SUCCESS_NOTIFICATIONS') === "0") {
error_log("Daily backup successful! Only logging successful backup and not sending backup notification since that has been disabled! You can get further info by looking at the backup logs in the AIO interface.");
} else {
$dockerActionManger->sendNotification($nextcloudContainer, 'Daily backup successful!', 'You can get further info by looking at the backup logs in the AIO interface.');
}
}
if ($backupExitCode > 0) {

View File

@@ -676,7 +676,7 @@ class ConfigurationManager
/**
* @throws InvalidSettingConfigurationException
*/
public function SetDailyBackupTime(string $time, bool $enableAutomaticUpdates) : void {
public function SetDailyBackupTime(string $time, bool $enableAutomaticUpdates, bool $successNotification) : void {
if ($time === "") {
throw new InvalidSettingConfigurationException("The daily backup time must not be empty!");
}
@@ -687,6 +687,13 @@ class ConfigurationManager
if ($enableAutomaticUpdates === false) {
$time .= PHP_EOL . 'automaticUpdatesAreNotEnabled';
} else {
$time .= PHP_EOL;
}
if ($successNotification === false) {
$time .= PHP_EOL . 'successNotificationsAreNotEnabled';
} else {
$time .= PHP_EOL;
}
file_put_contents(DataConst::GetDailyBackupTimeFile(), $time);
}
@@ -729,7 +736,7 @@ class ConfigurationManager
// Trim all unwanted chars on both sites
$entry = trim($entry);
if ($entry !== "") {
if (!preg_match("#^/[.0-1a-zA-Z/-_]+$#", $entry) && !preg_match("#^[.0-1a-zA-Z_-]+$#", $entry)) {
if (!preg_match("#^/[.0-1a-zA-Z/_-]+$#", $entry) && !preg_match("#^[.0-1a-zA-Z_-]+$#", $entry)) {
throw new InvalidSettingConfigurationException("You entered unallowed characters! Problematic is " . $entry);
}
$validDirectories .= rtrim($entry, '/') . PHP_EOL;

View File

@@ -289,6 +289,8 @@ class DockerActionManager
$replacements[1] = $this->configurationManager->GetSelectedRestoreTime();
} elseif ($out[1] === 'APACHE_PORT') {
$replacements[1] = $this->configurationManager->GetApachePort();
} elseif ($out[1] === 'APACHE_IP_BINDING') {
$replacements[1] = $this->configurationManager->GetApacheIPBinding();
} elseif ($out[1] === 'TALK_PORT') {
$replacements[1] = $this->configurationManager->GetTalkPort();
} elseif ($out[1] === 'NEXTCLOUD_MOUNT') {
@@ -401,6 +403,9 @@ class DockerActionManager
} else {
$replacements[1] = '';
}
// Allow to get local ip-address of database container which allows to talk to it even in host mode (the container that requires this needs to be started first then)
} elseif ($out[1] === 'AIO_DATABASE_HOST') {
$replacements[1] = gethostbyname('nextcloud-aio-database');
} else {
$secret = $this->configurationManager->GetSecret($out[1]);
if ($secret === "") {
@@ -425,12 +430,17 @@ class DockerActionManager
if ($container->GetInternalPort() !== 'host') {
foreach($container->GetPorts()->GetPorts() as $value) {
$port = $value->port;
$protocol = $value->protocol;
if ($port === '%APACHE_PORT%') {
$port = $this->configurationManager->GetApachePort();
// Do not expose udp if AIO is in reverse proxy mode
if ($port !== '443' && $protocol === 'udp') {
continue;
}
} else if ($port === '%TALK_PORT%') {
$port = $this->configurationManager->GetTalkPort();
}
$portWithProtocol = $port . '/' . $value->protocol;
$portWithProtocol = $port . '/' . $protocol;
$exposedPorts[$portWithProtocol] = null;
}
$requestBody['HostConfig']['NetworkMode'] = 'nextcloud-aio';
@@ -442,8 +452,13 @@ class DockerActionManager
$requestBody['ExposedPorts'] = $exposedPorts;
foreach ($container->GetPorts()->GetPorts() as $value) {
$port = $value->port;
$protocol = $value->protocol;
if ($port === '%APACHE_PORT%') {
$port = $this->configurationManager->GetApachePort();
// Do not expose udp if AIO is in reverse proxy mode
if ($port !== '443' && $protocol === 'udp') {
continue;
}
} else if ($port === '%TALK_PORT%') {
$port = $this->configurationManager->GetTalkPort();
}
@@ -451,7 +466,6 @@ class DockerActionManager
if ($ipBinding === '%APACHE_IP_BINDING%') {
$ipBinding = $this->configurationManager->GetApacheIPBinding();
}
$protocol = $value->protocol;
$portWithProtocol = $port . '/' . $protocol;
$requestBody['HostConfig']['PortBindings'][$portWithProtocol] = [
[
@@ -566,14 +580,8 @@ class DockerActionManager
public function PullContainer(Container $container) : void
{
$url = $this->BuildApiUrl(sprintf('images/create?fromImage=%s', urlencode($this->BuildImageName($container))));
try {
$this->guzzleClient->post($url);
} catch (RequestException $e) {
error_log('Could not get image ' . $this->BuildImageName($container) . ' from docker hub. Probably due to rate limits. ' . $e->getMessage());
// Don't exit here because it is possible that the image is already present
// and we ran into docker hub limits.
// We will exit later if not image should be available.
}
// do not catch any exception so that it always throws and logs the error
$this->guzzleClient->post($url);
}
private function isContainerUpdateAvailable(string $id) : string

View File

@@ -16,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v7.4.1</h1>
<h1>Nextcloud AIO v7.6.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -322,7 +322,7 @@
Restore or Backup currently running. Cannot start the containers until that's done.<br /><br />
{% else %}
{% if was_start_button_clicked == false %}
<br>Clicking on the button below will download all docker containers and start them. This can take a lot of time depending on your internect connection. Since the overall size is a few GB, this will take around 5-10 min or more. So be aware and patient!<br><br>
<br>Clicking on the button below will download all docker containers and start them. This can take a lot of time depending on your internet connection. Since the overall size is a few GB, this will take around 5-10 min or more. So be aware and patient!<br><br>
{% endif %}
{% if is_mastercontainer_update_available == true %}
⚠️ A mastercontainer update is available. Please click on the button below to update it.<br><br>
@@ -366,7 +366,7 @@
{% else %}
{% if is_backup_container_running == false and borg_backup_host_location == "" and isApacheStarting != true %}
<h2>Backup and restore</h2>
Please type in the directory where backups will get created on the host system:<br><br>
Please type in the directory where backups will get created on the host system below. In best case make sure that you choose a location on a separate drive and not on your root drive.<br><br>
<form method="POST" action="/api/configuration" class="xhr">
<input type="text" name="borg_backup_host_location" placeholder="/mnt/backup"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
@@ -424,6 +424,7 @@
Please save it at a safe place since you won't be able to restore from backup if you lose this password! <br /><br/>
Backed up will get all important data of your Nextcloud AIO instance like the database, your files and configuration files of the mastercontainer and else. <br /><br/>
The backup itself uses a tool that is called <a href="https://github.com/borgbackup/borg#what-is-borgbackup"><b>BorgBackup</b></a> which is a well-known server backup tool that efficiently backs up your files and encrypts them on the fly. <br /><br/>
By using this tool, backups are incremental, differential, compressed and encrypted so only the first backup will take a while. Further backups should be fast as only changes are taken into account.<br /><br/>
Backups get created in the following directory on the host: <b>{{ borg_backup_host_location }}/borg</b> <br /><br/>
Be aware that this solution does not back up files and folders that are mounted into Nextcloud using the external storage app - but you can add further Docker volumes and host paths that you want to back up after the initial backup is done.<br><br>
Regarding backup retention, see <b><a href="https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy">this</a></b>.<br><br>
@@ -460,7 +461,7 @@
</form>
<h3>Backup restore</h3>
Choose the backup that you want to restore and click on the button below to restore the selected backup. This will overwrite all your files with the state of the backup so you should consider creating a backup first. It also makes sense to run an integrity check before restoring your files but is not mandatory since it shouldn't be needed in most situations. Please note that this will not restore additionally chosen backup directories!<br><br>
Choose the backup that you want to restore and click on the button below to restore the selected backup. This will overwrite all your files with the state of the backup so you should consider creating a backup first. It also makes sense to run an integrity check before restoring your files but is not mandatory since it shouldn't be needed in most situations. Please note that this will not restore additionally chosen backup directories! The restore process should be pretty fast as rsync is used to restore the chosen backup which only transfers changed files and deletes additional ones.<br><br>
<form method="POST" action="/api/docker/restore" class="xhr" id="restore_selection">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
@@ -474,13 +475,14 @@
<h3>Daily backup and automatic updates</h3>
{% if daily_backup_time == "" %}
By entering a time below, you can enable daily backups. It will create them at the entered time in 24h format. E.g. <b>04:00</b> will create backups at 4 am UTC and <b>16:00</b> at 4 pm UTC.<br><br/>
By entering a time below, you can enable daily backups. It will create them at the entered time in 24h format. E.g. <b>04:00</b> will create backups at 4 am UTC and <b>16:00</b> at 4 pm UTC. For creating the backup, it will stop the containers and start them back up after the backup is done.<br><br/>
<form method="POST" action="/api/configuration" class="xhr">
<input type="text" name="daily_backup_time" value="04:00" placeholder="04:00"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Submit backup time" /><br>
<input type="checkbox" id="automatic_updates" name="automatic_updates" checked="checked"><label for="automatic_updates">Automatically update all containers, the mastercontainer and on saturdays your Nextcloud apps</label><br>
<input type="checkbox" id="success_notification" name="success_notification" checked="checked"><label for="success_notification">Send notifications about successful backups (notifications about unsuccessful backups will always be sent)</label><br>
</form>
{% else %}
Daily backups will be created at <b>{{ daily_backup_time }} UTC</b> which includes a notification about the result of the backup.
@@ -540,12 +542,12 @@
{% endif %}
{% endif %}
{% if is_backup_container_running == false %}
<h2>Optional addons</h2>
In this section you can enable or disable optional addons.<br><br>
<h2>Optional containers</h2>
In this section you can enable or disable optional containers. There are further community containers available that are not listed below. See <b><a href="https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers">this documentation</a></b> how to add them.<br><br>
{% if isAnyRunning == true %}
<b>Please note:</b> You can enable or disable them when your containers are stopped.<br><br>
{% else %}
<b>Please note:</b> Make sure to save your changes by clicking on the button <b>Save changes</b> that is positioned below the list of optional addons. The changes will not be auto-saved.<br><br>
<b>Please note:</b> Make sure to save your changes by clicking on the button <b>Save changes</b> that is positioned below the list of optional containers. The changes will not be auto-saved.<br><br>
{% endif %}
<form id="options-form" method="POST" action="/api/configuration" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
@@ -594,7 +596,7 @@
<input id="options-form-submit" class="button" type="submit" value="Save changes" />
<script type="text/javascript" src="options-form-submit.js"></script>
</form>
<b>Minimal system requirements:</b> When any optional addon is enabled, at least 2GB RAM, a dual-core CPU and 40GB system storage are required. When enabling ClamAV, Nextcloud Talk Recording-server or Fulltextsearch, at least 3GB RAM are required. For Talk Recording-server additional 2 vCPUs are required. When enabling everything, at least 5GB RAM and a quad-core CPU are required. Recommended are at least 1GB more RAM than the minimal requirement. For further advices and recommendations see <b><a href="https://github.com/nextcloud/all-in-one/discussions/1335">this documentation</a></b><br>
<b>Minimal system requirements:</b> When any optional container is enabled, at least 2GB RAM, a dual-core CPU and 40GB system storage are required. When enabling ClamAV, Nextcloud Talk Recording-server or Fulltextsearch, at least 3GB RAM are required. For Talk Recording-server additional 2 vCPUs are required. When enabling everything, at least 5GB RAM and a quad-core CPU are required. Recommended are at least 1GB more RAM than the minimal requirement. For further advices and recommendations see <b><a href="https://github.com/nextcloud/all-in-one/discussions/1335">this documentation</a></b><br>
{% if isAnyRunning == true or is_x64_platform == false %}
<script type="text/javascript" src="disable-clamav.js"></script>
{% endif %}
@@ -647,7 +649,7 @@
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Submit timezone" onclick="return confirm('Are you sure that this is a valid timezone? Please double check by following the wikipedia article and checking the correct column since if not, it will break the startup since the database will not get correctly initialized and you will end in a startup loop.')" />
</form>
You need to make sure that the timezone that you enter is valid. An example is <b>Europe/Berlin</b>. You can get valid values by looking at the 'TZ database name' column of this list: <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List"><b>click here</b></a>. The default is <b>Etc/UTC</b> if nothing is entered.<br><br>
You need to make sure that the timezone that you enter is valid. An example is <b>Europe/Berlin</b>. You can get valid values by looking at the 'TZ identifier' column of this list: <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List"><b>click here</b></a>. The default is <b>Etc/UTC</b> if nothing is entered.<br><br>
{% else %}
The timezone for Nextcloud is currently set to <b>{{ timezone }}</b>. You can reset the timezone again by clicking on the button below.<br><br/>
<form method="POST" action="/api/configuration" class="xhr">

View File

@@ -43,7 +43,7 @@ Included are:
- Possibility included to [permanently add additional PHP extensions into the Nextcloud container](https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container) without having to build your own Docker image
- Possibility included to [pass the needed device for hardware transcoding](https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud) to the Nextcloud container
- Possibility included to [store all docker related files on a separate drive](https://github.com/nextcloud/all-in-one#how-to-store-the-filesinstallation-on-a-separate-drive)
- [Additional features can be added very easily](https://github.com/nextcloud/all-in-one/tree/main/community-containers)
- [Additional features can be added very easily](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers)
- [LDAP can be used as user backend for Nextcloud](https://github.com/nextcloud/all-in-one/tree/main#ldap)
- Migration from any former Nextcloud installation to AIO is possible. See [this documentation](https://github.com/nextcloud/all-in-one/blob/main/migration.md)
- [Fail2Ban can be added](https://github.com/nextcloud/all-in-one#fail2ban)
@@ -340,10 +340,12 @@ Here is how to reset the AIO instance properly:
1. And you are done! Now feel free to start over with the recommended docker run command!
### Backup solution
Nextcloud AIO provides a local backup solution based on [BorgBackup](https://github.com/borgbackup/borg#what-is-borgbackup). These backups act as a local restore point in case the installation gets corrupted.
Nextcloud AIO provides a local backup solution based on [BorgBackup](https://github.com/borgbackup/borg#what-is-borgbackup). These backups act as a local restore point in case the installation gets corrupted. By using this tool, backups are incremental, differential, compressed and encrypted so only the first backup will take a while. Further backups should be fast as only changes are taken into account.
It is recommended to create a backup before any container update. By doing this, you will be safe regarding any possible complication during updates because you will be able to restore the whole instance with basically one click.
The restore process should be pretty fast as rsync is used to restore the chosen backup which only transfers changed files and deletes additional ones.
If you connect an external drive to your host, and choose the backup directory to be on that drive, you are also kind of safe against drive failures of the drive where the docker volumes are stored on.
<details>
@@ -690,25 +692,25 @@ If you want to define a custom skeleton directory, you can do so by copying your
You can configure your server to block certain ip-addresses using fail2ban as bruteforce protection. Here is how to set it up: https://docs.nextcloud.com/server/stable/admin_manual/installation/harden_server.html#setup-fail2ban. The logpath of AIO is by default `/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log`. Do not forget to add `chain=DOCKER-USER` to your nextcloud jail config (`nextcloud.local`) otherwise the nextcloud service running on docker will still be accessible even if the IP is banned. Also, you may change the blocked ports to cover all AIO ports: by default `80,443,8080,8443,3478` (see [this](https://github.com/nextcloud/all-in-one#explanation-of-used-ports)). Apart from that there is now a community container that can be added to the AIO stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban
### LDAP
It is possible to connect to an existing LDAP server. You need to make sure that the LDAP server is reachable from the Nextcloud container. Then you can enable the LDAP app and configure LDAP in Nextcloud manually. If you don't have a LDAP server yet, recommended is to use this docker container: https://hub.docker.com/r/nitnelave/lldap. Make sure here as well that Nextcloud can talk to the LDAP server. The easiest way is by adding the LDAP docker container to the docker network `nextcloud-aio`. Then you can connect to the LDAP container by its name from the Nextcloud container. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-add-containers
It is possible to connect to an existing LDAP server. You need to make sure that the LDAP server is reachable from the Nextcloud container. Then you can enable the LDAP app and configure LDAP in Nextcloud manually. If you don't have a LDAP server yet, recommended is to use this docker container: https://hub.docker.com/r/nitnelave/lldap. Make sure here as well that Nextcloud can talk to the LDAP server. The easiest way is by adding the LDAP docker container to the docker network `nextcloud-aio`. Then you can connect to the LDAP container by its name from the Nextcloud container. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/406#discussioncomment-7133555
### Netdata
Netdata allows you to monitor your server using a GUI. You can install it by following https://learn.netdata.cloud/docs/agent/packaging/docker#create-a-new-netdata-agent-container. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-add-containers
Netdata allows you to monitor your server using a GUI. You can install it by following https://learn.netdata.cloud/docs/agent/packaging/docker#create-a-new-netdata-agent-container. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/392#discussioncomment-7133563
### USER_SQL
If you want to use the user_sql app, the easiest way is to create an additional database container and add it to the docker network `nextcloud-aio`. Then the Nextcloud container should be able to talk to the database container using its name.
### phpMyAdmin, Adminer or pgAdmin
It is possible to install any of these to get a GUI for your AIO database. The pgAdmin container is recommended. You can get some docs on it here: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html. For the container to connect to the aio-database, you need to connect the container to the docker network `nextcloud-aio` and use `nextcloud-aio-database` as database host, `oc_nextcloud` as database username and the password that you get when running `sudo docker exec nextcloud-aio-nextcloud grep dbpassword config/config.php` as the password. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-add-containers
It is possible to install any of these to get a GUI for your AIO database. The pgAdmin container is recommended. You can get some docs on it here: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html. For the container to connect to the aio-database, you need to connect the container to the docker network `nextcloud-aio` and use `nextcloud-aio-database` as database host, `oc_nextcloud` as database username and the password that you get when running `sudo docker exec nextcloud-aio-nextcloud grep dbpassword config/config.php` as the password. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/3061#discussioncomment-7307045
### Mail server
You can configure one yourself by using either of these three recommended projects: [Docker Mailserver](https://github.com/docker-mailserver/docker-mailserver/#docker-mailserver), [Maddy Mail Server](https://github.com/foxcpp/maddy#maddy-mail-server) or [Mailcow](https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------). Docker Mailserver and Maddy Mail Server are probably a bit easier to set up as it is possible to run them using only one container but Mailcow has much more features. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-add-containers
You can configure one yourself by using either of these three recommended projects: [Docker Mailserver](https://github.com/docker-mailserver/docker-mailserver/#docker-mailserver), [Mailu](https://github.com/Mailu/Mailu), [Maddy Mail Server](https://github.com/foxcpp/maddy#maddy-mail-server) or [Mailcow](https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------). Docker Mailserver and Maddy Mail Server are probably a bit easier to set up as it is possible to run them using only one container but Mailcow and Mailu both have more features. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/356#discussioncomment-7133547
### How to migrate from an already existing Nextcloud installation to Nextcloud AIO?
Please see the following documentation on this: [migration.md](https://github.com/nextcloud/all-in-one/blob/main/migration.md)
### Requirements for integrating new containers
For integrating new containers, they must pass specific requirements for being considered to get integrated in AIO itself. Even if not considered, we may add some documentation on it. Also there is this now: https://github.com/nextcloud/all-in-one/tree/main/community-containers
For integrating new containers, they must pass specific requirements for being considered to get integrated in AIO itself. Even if not considered, we may add some documentation on it. Also there is this now: https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers
What are the requirements?
1. New containers must be related to Nextcloud. Related means that there must be a feature in Nextcloud that gets added by adding this container.

View File

@@ -4,11 +4,11 @@ A [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy) is basically a we
**Please note:** Publishing the AIO interface with a valid certificate to the public internet is **not** the goal of this documentation! Instead, the main goal is to publish Nextcloud with a valid certificate to the public internet which is **not** running inside the mastercontainer but in a different container! If you need a valid certificate for the AIO interface, see [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface).
In order to run Nextcloud behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), you need to specify the port that AIO's Apache container shall use, add a specific config to your web server or reverse proxy and modify the startup command a bit. All examples below will use port `11000` as example `APACHE_PORT` which will be exposed on the host to receive unencrypted HTTP traffic from the reverse proxy.
In order to run Nextcloud behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), you need to specify the port that AIO's Apache container shall use, add a specific config to your web server or reverse proxy and modify the startup command a bit. All examples below will use port `11000` as example `APACHE_PORT` which will be exposed on the host to receive unencrypted HTTP traffic from the reverse proxy. **Advice:** If you need https between Nextcloud and the reverse proxy because it is running on a different server in the same network, simply add another reverse proxy to the chain that runs on the same server like AIO and takes care of https proxying (most likely via self-signed cert). Another option is to create a VPN between the server that runs AIO and the server that runs the reverse proxy which takes care of encrypting the connection.
**Attention:** The process to run Nextcloud behind a reverse proxy consists of at least steps 1, 2 and 4:
1. **Configure the reverse proxy! See [point 1](#1-add-this-to-your-reverse-proxy-config)**
1. **Use the in this document provided startup command! See [point 2](#2-use-this-startup-command)**
1. **Use this startup command! See [point 2](#2-use-this-startup-command)**
1. Optional: If the reverse proxy is installed on the same host and in the host network, you should limit the apache container to only listen on localhost. See [point 3](#3-limit-the-access-to-the-apache-container)
1. **Open the AIO interface. See [point 4](#4-open-the-aio-interface)**
1. Optional: Get a valid certificate for the AIO interface! See [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface)
@@ -147,7 +147,7 @@ You can get AIO running using the ACME DNS-challenge. Here is how to do it.
You also need to adjust `<provider>` and `<key>` to match your case.
1. Now continue with [point 2](#2-use-this-startup-command) but additionally, add `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`) which will disable the dommain validation (because it is known that the domain validation will not when using the DNS-challenge since no port is publicly opened.
1. Now continue with [point 2](#2-use-this-startup-command) but additionally, add `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`) which will disable the domain validation (because it is known that the domain validation will not work when using the DNS-challenge since no port is publicly opened).
**Advice:** In order to make it work in your home network, you may add the internal ipv4-address of your reverse proxy as A DNS-record to your domain and disable the dns-rebind-protection in your router. Another way it to set up a local dns-server like a pi-hole and set up a custom dns-record for that domain that points to the internal ip-adddress of your reverse proxy (see https://github.com/nextcloud/all-in-one#how-can-i-access-nextcloud-locally). If both is not possible, you may add the domain to the hosts file which is needed then for any devices that shall use the server.
@@ -169,11 +169,11 @@ For a reverse proxy example guide for Citrix ADC VPX / Citrix Netscaler, see thi
<summary>click here to expand</summary>
Although it does not seems like it is the case but from AIO perspective a Cloudflare Tunnel works like a reverse proxy. Please see the [caveats](https://github.com/nextcloud/all-in-one#notes-on-cloudflare-proxytunnel) before proceeding. Here is then how to make it work:
Although it does not seem like it is the case but from AIO perspective a Cloudflare Tunnel works like a reverse proxy. Please see the [caveats](https://github.com/nextcloud/all-in-one#notes-on-cloudflare-proxytunnel) before proceeding. Here is then how to make it work:
1. Install the Cloudflare Tunnel on the same machine where AIO will be running on and point the Tunnel with the domain that you want to use for AIO to `http://localhost:11000`.<br>
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
1. Now continue with [point 2](#2-use-this-startup-command) but additionally, add `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command which will disable the dommain validation (because it is known that the domain validation will not work behind a Cloudflare Tunnel). So you need to ensure yourself that you've configured everything correctly.
1. Now continue with [point 2](#2-use-this-startup-command) but additionally, add `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command which will disable the domain validation (because it is known that the domain validation will not work behind a Cloudflare Tunnel). So you need to ensure yourself that you've configured everything correctly.
**Advice:** Make sure to [disable Cloudflares Rocket Loader feature](https://help.nextcloud.com/t/login-page-not-working-solved/149417/8) as otherwise Nextcloud's login prompt will not be shown.
@@ -375,7 +375,7 @@ server {
<summary>click here to expand</summary>
First, please make sure that the environmental variables `PUID` and `PGID` in the compose.yaml file for NPM are either unset or set to `0`.
If you need to change the GID/PID then please add `net.ipv4.ip_unprivileged_port_start=0` at the end of `/etc/sysctl.conf`. Note: this will cause that non root users can bind privilleged ports.
If you need to change the GID/PID then please add `net.ipv4.ip_unprivileged_port_start=0` at the end of `/etc/sysctl.conf`. Note: this will cause that non root users can bind privileged ports.
Second, see these screenshots for a working config:
@@ -383,7 +383,7 @@ Second, see these screenshots for a working config:
![grafik](https://user-images.githubusercontent.com/75573284/213889724-1ab32264-3e0c-4d83-b067-9fe9d1672fb2.png)
![grafik](https://user-images.githubusercontent.com/75573284/213889797-42642302-b079-4378-a4a6-079f4f67058c.png)
![grafik](https://github.com/nextcloud/all-in-one/assets/24786786/fecbb5ef-d2f4-4e0f-bc4b-82207e2c2809)
![grafik](https://user-images.githubusercontent.com/75573284/213889746-87dbe8c5-4d1f-492f-b251-bbf82f1510d0.png)