Compare commits

..

50 Commits

Author SHA1 Message Date
Simon L.
362cad79db add comment with link
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-03 11:48:22 +02:00
Simon L.
983e523bde make the check for backup dir and datadir fail proof
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-03 11:44:50 +02:00
Simon L.
bf4cf0ad27 increase to 11.3.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-03 10:28:47 +02:00
Simon L.
2aec1be167 Merge pull request #6609 from nextcloud/enh/6607/check-if-children
instance-restore: make sure that the configured borg restore location is not a children of or equal to NEXTCLOUD_DATADIR
2025-07-03 10:16:19 +02:00
Simon L.
3e9ce2be05 instance-restore: make sure that the configured borg restore location is not a children of or equal to NEXTCLOUD_DATADIR
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-03 10:00:59 +02:00
Simon L.
17382f1f1f Merge pull request #6608 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.2.2-alpine
build(deps): bump haproxy from 3.2.1-alpine to 3.2.2-alpine in /Containers/docker-socket-proxy
2025-07-03 07:41:17 +02:00
dependabot[bot]
07dc4de9ff build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.2.1-alpine to 3.2.2-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-03 04:43:58 +00:00
Simon L.
665d157240 Merge pull request #6605 from nextcloud/dependabot/docker/Containers/watchtower/nicholas-fedor/watchtower-1.11.5
build(deps): bump nicholas-fedor/watchtower from 1.11.3 to 1.11.5 in /Containers/watchtower
2025-07-02 10:54:19 +02:00
Simon L.
e4b400e605 Merge pull request #6604 from nextcloud/dependabot/docker/Containers/talk/nats-2.11.6-scratch
build(deps): bump nats from 2.11.5-scratch to 2.11.6-scratch in /Containers/talk
2025-07-02 08:08:38 +02:00
dependabot[bot]
306818dc10 build(deps): bump nicholas-fedor/watchtower in /Containers/watchtower
Bumps [nicholas-fedor/watchtower](https://github.com/nicholas-fedor/watchtower) from 1.11.3 to 1.11.5.
- [Release notes](https://github.com/nicholas-fedor/watchtower/releases)
- [Changelog](https://github.com/nicholas-fedor/watchtower/blob/main/goreleaser.yml)
- [Commits](https://github.com/nicholas-fedor/watchtower/compare/v1.11.3...v1.11.5)

---
updated-dependencies:
- dependency-name: nicholas-fedor/watchtower
  dependency-version: 1.11.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 04:28:08 +00:00
dependabot[bot]
b561c59b93 build(deps): bump nats in /Containers/talk
Bumps nats from 2.11.5-scratch to 2.11.6-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 04:27:41 +00:00
Olicorne
df13ca077c readme: improve the How to stop/start/update containers or trigger the daily backup from a script externally? section (#6592)
Signed-off-by: thiswillbeyourgithub <26625900+thiswillbeyourgithub@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-01 18:52:44 +02:00
Simon L.
1a43bfdc95 Merge pull request #6601 from nextcloud/enh/6564/add-label-to-all-containers
CreateContainers: add `"com.centurylinklabs.watchtower.enable": "false"` to all managed containers
2025-07-01 18:02:42 +02:00
Simon L.
9967aea70c CreateContainers: add "com.centurylinklabs.watchtower.enable": "false" to all managed containers
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-01 17:58:27 +02:00
Simon L.
d20812b0e8 add comment
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-01 17:43:36 +02:00
Simon L.
6b82682384 Merge pull request #6600 from nextcloud/enh/6589/add-hostname
CreateContainer: always add a Hostname to each container
2025-07-01 17:29:56 +02:00
Simon L.
c8382117ce Merge pull request #6599 from nextcloud/feat/talk-skip-verify
feat(talk): add SKIP_CERT_VERIFY env
2025-07-01 17:27:50 +02:00
Anupam Kumar
1b3e519cd7 feat(talk): add SKIP_CERT_VERIFY env
This environment variable when set to "true" will allow usage
of self-signed certificates.

Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-01 17:26:23 +02:00
Simon L.
01f13cc01a Merge pull request #6523 from nextcloud/enh/noid/remove-translate
libretranslate: add `(deprecated)` to its display name
2025-07-01 17:20:11 +02:00
Jean-Yves
aec692208e libretranslate: add (deprecated) to its display name
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-01 17:19:15 +02:00
Simon L.
fcc74e2105 DockerActionManager: always add a Hostname to each container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-01 15:01:10 +02:00
Simon L.
3719a89e0e Merge pull request #6598 from nextcloud/aio-helm-update
Helm Chart updates
2025-07-01 13:53:44 +02:00
szaimen
88541ffe26 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-01 11:53:05 +00:00
Simon L.
98706bdba1 Merge pull request #6522 from nextcloud/enh/6505/add-cm-cc
add container-management cc
2025-07-01 11:40:40 +02:00
Simon L.
5da3535dac Merge pull request #6584 from apparle/fix-signal-handling
Fix signal handling for mastercontainer
2025-07-01 11:37:15 +02:00
Simon L.
655c9e3f72 Merge pull request #6590 from nextcloud/aio-dependency-update
PHP dependency updates
2025-07-01 11:35:38 +02:00
Simon L.
9788aa2b03 Merge pull request #6588 from nextcloud/dependabot/docker/Containers/talk/nats-2.11.5-scratch
build(deps): bump nats from 2.11.4-scratch to 2.11.5-scratch in /Containers/talk
2025-07-01 11:35:21 +02:00
Simon L.
7e23f0736b Merge pull request #6597 from nextcloud/revert-6587-dependabot/docker/Containers/onlyoffice/onlyoffice/documentserver-9.0.2.1
Revert "build(deps): bump onlyoffice/documentserver from 8.3.3.1 to 9.0.2.1 in /Containers/onlyoffice"
2025-07-01 11:35:02 +02:00
Simon L.
5d1bebfd0b Revert "build(deps): bump onlyoffice/documentserver from 8.3.3.1 to 9.0.2.1 in /Containers/onlyoffice" 2025-07-01 11:34:38 +02:00
Simon L.
dd52074adb Merge pull request #6587 from nextcloud/dependabot/docker/Containers/onlyoffice/onlyoffice/documentserver-9.0.2.1
build(deps): bump onlyoffice/documentserver from 8.3.3.1 to 9.0.2.1 in /Containers/onlyoffice
2025-07-01 11:34:06 +02:00
Simon L.
5d3a0a65d8 Merge pull request #6583 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-28.3.0-cli
build(deps): bump docker from 28.2.2-cli to 28.3.0-cli in /Containers/mastercontainer
2025-07-01 11:33:50 +02:00
Simon L.
4784494dab Merge pull request #6591 from prokopschield/patch-1
rp-docs: fix typo
2025-07-01 11:01:31 +02:00
Prokop Schield
cca0ce9e72 fix: typo
Signed-off-by: Prokop Schield <76836484+prokopschield@users.noreply.github.com>
2025-06-29 12:58:14 +02:00
szaimen
d520f106c3 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-28 12:02:55 +00:00
dependabot[bot]
1c3b257107 build(deps): bump nats in /Containers/talk
Bumps nats from 2.11.4-scratch to 2.11.5-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-27 04:41:28 +00:00
dependabot[bot]
58d79307a1 build(deps): bump onlyoffice/documentserver in /Containers/onlyoffice
Bumps onlyoffice/documentserver from 8.3.3.1 to 9.0.2.1.

---
updated-dependencies:
- dependency-name: onlyoffice/documentserver
  dependency-version: 9.0.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-27 04:41:24 +00:00
Simon L.
ce1208b26e add container-managment cc
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-26 16:35:26 +02:00
Simon L.
d922017777 Merge pull request #6585 from nextcloud/alexanderdd-patch-1
readme: add "do not install Docker as snap"
2025-06-26 14:53:46 +02:00
Alexander Müller
ddbeca9170 readme: add "do not install Docker as snap"
Signed-off-by: Alexander Müller <28591861+alexanderdd@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-26 14:51:20 +02:00
Apoorv Parle
e28d0516f5 Use exec for supervisord replace process and propagate signals
Signed-off-by: Apoorv Parle <19315187+apparle@users.noreply.github.com>
2025-06-26 00:54:11 -07:00
dependabot[bot]
914d9bfd7f build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 28.2.2-cli to 28.3.0-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-26 04:38:18 +00:00
Simon L.
a0e4201955 increase to 11.2.1
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-24 14:37:52 +02:00
Simon L.
9351614972 Merge pull request #6574 from apparle/improve-start-command
Make daily-backup.sh more robust by checking for uninitialized state
2025-06-24 14:36:27 +02:00
Simon L.
2d46aaf1bc Merge pull request #6580 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.1.2
build(deps): bump nextcloud-releases/whiteboard from v1.1.1 to v1.1.2 in /Containers/whiteboard
2025-06-24 14:35:15 +02:00
dependabot[bot]
698732254b build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.1.1 to v1.1.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 12:32:53 +00:00
Apoorv Parle
108dcf6c48 Update Containers/mastercontainer/daily-backup.sh based on review comments
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Apoorv Parle <19315187+apparle@users.noreply.github.com>
2025-06-24 01:24:26 -07:00
Simon L.
21b9a7cda8 Merge pull request #6518 from nextcloud/enh/noid/mention-docker-ipv6-support
ipv6-docs: mention that `"com.docker.network.enable_ipv6":"true"` ena…
2025-06-23 18:15:39 +02:00
Simon L.
2366cda31c add additional hint that the network can be created manually with ipv6 support
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-23 16:18:19 +02:00
Apoorv Parle
00b2465379 Add check in daily-backup.sh for uninitialized state
Signed-off-by: Apoorv Parle <19315187+apparle@users.noreply.github.com>
2025-06-22 02:17:25 -07:00
Simon L.
46a012140c ipv6-docs: mention that "com.docker.network.enable_ipv6":"true" enabled ipv6 by default for all new docker networks
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-10 14:05:50 +02:00
39 changed files with 158 additions and 65 deletions

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM haproxy:3.2.1-alpine
FROM haproxy:3.2.2-alpine
# hadolint ignore=DL3002
USER root

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:28.2.2-cli AS docker
FROM docker:28.3.0-cli AS docker
# Caddy is a requirement
FROM caddy:2.10.0-alpine AS caddy

View File

@@ -2,6 +2,13 @@
echo "Daily backup script has started"
# Check if initial configuration has been done, otherwise this script should do nothing.
CONFIG_FILE=/mnt/docker-aio-config/data/configuration.json
if ! [ -f "$CONFIG_FILE" ] || ! grep -q "wasStartButtonClicked.*1" "$CONFIG_FILE"; then
echo "Initial configuration via AIO interface not done yet. Exiting..."
exit 0
fi
# Daily backup and backup check cannot be run at the same time
if [ "$DAILY_BACKUP" = 1 ] && [ "$CHECK_BACKUP" = 1 ]; then
echo "Daily backup and backup check cannot be run at the same time. Exiting..."

View File

@@ -366,4 +366,4 @@ caddy fmt --overwrite /Caddyfile
chmod 777 /root
# Start supervisord
/usr/bin/supervisord -c /supervisord.conf
exec /usr/bin/supervisord -c /supervisord.conf

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM nats:2.11.4-scratch AS nats
FROM nats:2.11.6-scratch AS nats
FROM eturnal/eturnal:1.12.1 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.3 AS signaling
FROM alpine:3.21.3 AS janus
@@ -37,6 +37,7 @@ RUN set -ex; \
FROM alpine:3.21.3
ENV ETURNAL_ETC_DIR="/conf"
ENV SKIP_CERT_VERIFY=false
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

View File

@@ -95,6 +95,7 @@ backends = backend-1
allowall = false
timeout = 10
connectionsperhost = 8
skipverify = ${SKIP_CERT_VERIFY}
[backend-1]
url = https://${NC_DOMAIN}

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM ghcr.io/nicholas-fedor/watchtower:1.11.3 AS watchtower
FROM ghcr.io/nicholas-fedor/watchtower:1.11.5 AS watchtower
FROM alpine:3.21.3

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
FROM ghcr.io/nextcloud-releases/whiteboard:v1.1.1
FROM ghcr.io/nextcloud-releases/whiteboard:v1.1.2
USER root
RUN set -ex; \

View File

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

View File

@@ -0,0 +1,41 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-container-management",
"display_name": "Container Management",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management",
"image": "ghcr.io/szaimen/aio-container-management",
"image_tag": "v1",
"internal_port": "5804",
"restart": "unless-stopped",
"ports": [
{
"ip_binding": "",
"port_number": "5804",
"protocol": "tcp"
}
],
"volumes": [
{
"source": "%WATCHTOWER_DOCKER_SOCKET_PATH%",
"destination": "/var/run/docker.sock",
"writeable": false
}
],
"environment": [
"TZ=%TIMEZONE%",
"SECURE_CONNECTION=1",
"WEB_AUTHENTICATION=1",
"USER_ID=0",
"GROUP_ID=0",
"WEB_AUTHENTICATION_USERNAME=container-management",
"WEB_AUTHENTICATION_PASSWORD=%CONTAINER_MANAGEMENT_PASSWORD%",
"WEB_LISTENING_PORT=5804"
],
"secrets": [
"CONTAINER_MANAGEMENT_PASSWORD"
],
"ui_secret": "CONTAINER_MANAGEMENT_PASSWORD"
}
]
}

View File

@@ -0,0 +1,15 @@
## Container-Management
This container allows to manage insides of other containers via a GUI inside a Web session by allowing to run docker commands from inside this container.
### Notes
- After adding and starting the container, you need to visit `https://ip.address.of.this.server:5804` in order to log in with the user `container-management` and the password that you can see next to the container in the AIO interface. (The web page uses a self-signed certificate, so you need to accept the warning).
- Then, you should see a terminal. There you can use any docker command. ⚠️ Be very carefully while doing that as can break your instance!
- There are also some pre-made scripts that make configuring some of the community containers easier. For example scripts for [LLDAP](https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap) and [Facerecognition](https://github.com/nextcloud/all-in-one/tree/main/community-containers/facerecognition).
- ⚠️ After you are done doing your operations, remove the container for better security again from the stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-remove-containers-from-aios-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-container-management
### Maintainer
https://github.com/szaimen

View File

@@ -4,7 +4,8 @@ This container bundles the external model of facerecognition and auto-configures
### Notes
- This container needs imaginary in order to analyze modern file format images. Make sure to enable imaginary in the AIO interface before adding this container.
- The image analysis is currently set to fixed value of `1G`. See [this](https://github.com/search?q=repo%3Anextcloud%2Fall-in-one+1G+path%3A%2F%5Ecommunity-containers%5C%2Ffacerecognition%5C%2F%2F&type=code)
- Facerecognition is by default disabled for all users, if you want to enable facerecognition for all users, you can run the following before adding this container:
- Facerecognition is by default disabled for all users. If you want to enable facerecognition for all users, you can run the following commands before adding this container:<br>
**Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management. This script below can be run from inside the container-management container via `bash /facerecognition.sh`.
```bash
# Go into the container
sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
@@ -22,7 +23,8 @@ This container bundles the external model of facerecognition and auto-configures
# Exit the container shell
exit
```
- If facerecognition shall analyze shared files & folders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_shared_files --value true`), groupfolders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_group_files --value true`) and/or external storages (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_external_files --value true`) in Nextcloud, you need to enable support for it manually first by running the mentioned commands before adding this container. See https://github.com/matiasdelellis/facerecognition/wiki/Settings#hidden-settings for further notes on each of these settings.
- If facerecognition shall analyze shared files & folders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_shared_files --value true`), groupfolders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_group_files --value true`) and/or external storages (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_external_files --value true`) in Nextcloud, you need to enable support for it manually first by running the mentioned commands before adding this container. See https://github.com/matiasdelellis/facerecognition/wiki/Settings#hidden-settings for further notes on each of these settings.<br>
**Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -4,7 +4,7 @@ This container bundles fail2ban and auto-configures it for you in order to block
### Notes
- 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`.
- If you get an error like `stderr: 'iptables: No chain/target/match by that name.'` and `stderr: 'ip6tables: No chain/target/match by that name.'`, you need to follow https://github.com/szaimen/aio-fail2ban/issues/9#issuecomment-2026898790 in order to resolve this.
- You can unban ip addresses like so for example: `docker exec -it nextcloud-aio-fail2ban fail2ban-client set nextcloud unbanip 203.113.167.162`.
- You can unban ip addresses like so for example: `docker exec -it nextcloud-aio-fail2ban fail2ban-client set nextcloud unbanip 203.113.167.162`. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -2,7 +2,7 @@
"aio_services_v1": [
{
"container_name": "nextcloud-aio-libretranslate",
"display_name": "LibreTranslate",
"display_name": "LibreTranslate (deprecated)",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/libretranslate",
"image": "ghcr.io/szaimen/aio-libretranslate",
"image_tag": "v1",

View File

@@ -23,7 +23,8 @@ First, you need to retrieve the LLDAP admin password, this will be used later on
sudo docker inspect nextcloud-aio-lldap | grep LLDAP_LDAP_USER_PASS
```
Now go into the Nextcloud container:
Now go into the Nextcloud container:<br>
**Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management. This script below can be run from inside the container-management container via `bash /lldap.sh`.
```bash
sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
```

View File

@@ -8,7 +8,7 @@ This container contains a fork of the Nginx Proxy Manager, which is a WebUI for
- 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.org`
- 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
- 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 **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
- 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 by default
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -17,4 +17,4 @@ Yes, see [this list](https://github.com/nextcloud/all-in-one/issues/5251) for al
## How to remove containers from AIOs stack?
You can remove containers now via the web interface.
After removing the containers, there might be some data left on your server that you might want to remove. You can get rid of the data by first running `sudo docker rm nextcloud-aio-container1`, (adjust `container1` accordingly) per community-container that you removed. Then run `sudo docker image prune -a` in order to remove all images that are not used anymore. As last step you can get rid of persistent data of these containers that is stored in volumes. You can check if there is some by running `sudo docker volume ls` and look for any volume that matches the ones that you removed. If so, you can remove them with `sudo docker volume rm nextcloud_aio_volume-id` (of course you need to adjust the `volume-id`).
After removing the containers, there might be some data left on your server that you might want to remove. You can get rid of the data by first running `sudo docker rm nextcloud-aio-container1`, (adjust `container1` accordingly) per community-container that you removed. Then run `sudo docker image prune -a` in order to remove all images that are not used anymore. As last step you can get rid of persistent data of these containers that is stored in volumes. You can check if there is some by running `sudo docker volume ls` and look for any volume that matches the ones that you removed. If so, you can remove them with `sudo docker volume rm nextcloud_aio_volume-id` (of course you need to adjust the `volume-id`). **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management

View File

@@ -4,19 +4,23 @@
First of all upgrade your docker installation to v27.0.1 or higher.
1. Then edit `/etc/docker/daemon.json` (or `~/.config/docker/daemon.json` in case of docker-rootless), add the below json:
```json
{
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
}
```
> [!WARNING]
> This will enable ipv6 for all new docker networks by default! You can alternatively create the `nextcloud-aio` network with ipv6 support by hand manually via docker network create or via compose.yaml.
Save the file.
```json
{
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
}
```
And save the file.
2. Reload the Docker configuration file.
```console
sudo systemctl restart docker
```
```console
sudo systemctl restart docker
```
3. Make sure that ipv6 is enabled for the internal `nextcloud-aio` network by running `sudo docker network inspect nextcloud-aio | grep EnableIPv6`. On a new instance, this command should return that it did not find a network with this name. Then you can run `sudo docker network create nextcloud-aio` in order to create the network with ipv6-support. However if it finds the network and its value `EnableIPv6` is set to false, make sure to follow https://github.com/nextcloud/all-in-one/discussions/4989 in order to recreate the network and enable ipv6 for it.
## Docker Desktop (Windows and macOS)
@@ -25,9 +29,12 @@ Then, on Windows and macOS which use Docker Desktop, you need to go into the set
1. You need to now adjust this json file:
```
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
```
> [!WARNING]
> This will enable ipv6 for all new docker networks by default! You can alternatively create the `nextcloud-aio` network with ipv6 support by hand manually via docker network create or via compose.yaml.
```json
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
```
2. Add these values to the json and make sure to keep the other currently values and that you don't see `Unexpected token in JSON at position ...` before attempting to restart by clicking on `Apply & restart`.
3. Make sure that ipv6 is enabled for the internal `nextcloud-aio` network by running `sudo docker network inspect nextcloud-aio | grep EnableIPv6`. On a new instance, this command should return that it did not find a network with this name. Then you can run `sudo docker network create nextcloud-aio` in order to create the network with ipv6-support. However if it finds the network and its value `EnableIPv6` is set to false, make sure to follow https://github.com/nextcloud/all-in-one/discussions/4989 in order to recreate the network and enable ipv6 for it.

View File

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

View File

@@ -61,7 +61,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: WHITEBOARD_HOST
value: nextcloud-aio-whiteboard
image: ghcr.io/nextcloud-releases/aio-apache:20250619_082329
image: ghcr.io/nextcloud-releases/aio-apache:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -36,7 +36,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- mkdir
- "-p"
@@ -59,7 +59,7 @@ spec:
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-clamav:20250619_082329
image: ghcr.io/nextcloud-releases/aio-clamav:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -35,7 +35,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 --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
image: ghcr.io/nextcloud-releases/aio-collabora:20250619_082329
image: ghcr.io/nextcloud-releases/aio-collabora:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -35,7 +35,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- mkdir
- "-p"
@@ -64,7 +64,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-postgresql:20250619_082329
image: ghcr.io/nextcloud-releases/aio-postgresql:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -24,7 +24,7 @@ spec:
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- chmod
- "777"
@@ -54,7 +54,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250619_082329
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -38,7 +38,7 @@ spec:
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-imaginary:20250619_082329
image: ghcr.io/nextcloud-releases/aio-imaginary:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -38,7 +38,7 @@ spec:
# AIO settings start # Do not remove or change this line!
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- chmod
- "777"
@@ -182,7 +182,7 @@ spec:
value: "{{ .Values.WHITEBOARD_ENABLED }}"
- name: WHITEBOARD_SECRET
value: "{{ .Values.WHITEBOARD_SECRET }}"
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250619_082329
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250701_092737
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
securityContext:
# The items below only work in container context

View File

@@ -55,7 +55,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-notify-push:20250619_082329
image: ghcr.io/nextcloud-releases/aio-notify-push:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -24,7 +24,7 @@ spec:
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- chmod
- "777"
@@ -42,7 +42,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250619_082329
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -39,7 +39,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-redis:20250619_082329
image: ghcr.io/nextcloud-releases/aio-redis:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -52,7 +52,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk:20250619_082329
image: ghcr.io/nextcloud-releases/aio-talk:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -44,7 +44,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk-recording:20250619_082329
image: ghcr.io/nextcloud-releases/aio-talk-recording:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -48,7 +48,7 @@ spec:
value: redis
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-whiteboard:20250619_082329
image: ghcr.io/nextcloud-releases/aio-whiteboard:20250701_092737
readinessProbe:
exec:
command:

12
php/composer.lock generated
View File

@@ -3875,16 +3875,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.22",
"version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3"
"reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3",
"reference": "7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3",
"url": "https://api.github.com/repos/symfony/console/zipball/9056771b8eca08d026cd3280deeec3cfd99c4d93",
"reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93",
"shasum": ""
},
"require": {
@@ -3949,7 +3949,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.22"
"source": "https://github.com/symfony/console/tree/v6.4.23"
},
"funding": [
{
@@ -3965,7 +3965,7 @@
"type": "tidelift"
}
],
"time": "2025-05-07T07:05:04+00:00"
"time": "2025-06-27T19:37:22+00:00"
},
{
"name": "symfony/filesystem",

View File

@@ -47,7 +47,7 @@
},
"display_name": {
"type": "string",
"pattern": "^[A-Za-z 0-9-]+$"
"pattern": "^[()A-Za-z 0-9-]+$"
},
"environment": {
"type": "array",

View File

@@ -484,8 +484,15 @@ class ConfigurationManager
}
if (!$isValidPath) {
throw new InvalidSettingConfigurationException("The path must start with '/', and must not end with '/'!");
throw new InvalidSettingConfigurationException("The path must start with '/', and must not end with '/'! Another option is to use the docker volume name 'nextcloud_aio_backupdir'.");
}
// Prevent backup to be contained in Nextcloud Datadir as this will delete the backup archive upon restore
// See https://github.com/nextcloud/all-in-one/issues/6607
if (str_starts_with($location . '/', rtrim($this->GetNextcloudDatadirMount(), '/') . '/')) {
throw new InvalidSettingConfigurationException("The path must not be a children of or equal to NEXTCLOUD_DATADIR, which is currently set to " . $this->GetNextcloudDatadirMount());
}
} else {
$this->ValidateBorgRemoteRepo($repo);
}

View File

@@ -584,6 +584,12 @@ readonly class DockerActionManager {
$requestBody['HostConfig']['Mounts'] = $mounts;
}
// All AIO-managed containers should not be updated externally via watchtower but gracefully by AIO's backup and update feature.
$requestBody['Labels'] = ["com.centurylinklabs.watchtower.enable" => "false", "org.label-schema.vendor" => "Nextcloud"];
// Containers should have a fixed host name. See https://github.com/nextcloud/all-in-one/discussions/6589
$requestBody['Hostname'] = $container->GetIdentifier();
$url = $this->BuildApiUrl('containers/create?name=' . $container->GetIdentifier());
try {
$this->guzzleClient->request(

View File

@@ -17,7 +17,7 @@
<div class="container">
<main>
<h1>Nextcloud AIO v11.2.0</h1>
<h1>Nextcloud AIO v11.3.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>

View File

@@ -81,6 +81,9 @@ Included are:
| ![image](https://github.com/user-attachments/assets/6ef5d7b5-86f2-402c-bc6c-b633af2ca7dd) | ![image](https://github.com/user-attachments/assets/939d0fdf-436f-433d-82d3-27548263a040) |
## How to use this?
>[!WARNING]
> You should first make sure that you are not using docker installed via snap. You can check this by running `sudo docker info | grep "Docker Root Dir" | grep "/var/snap/docker/"`. If the output should contain the mentioned string `/var/snap/docker/`, you should first uninstall docker snap via `sudo snap remove docker` and then follow the instructions below. ⚠️ Attention: only run the command if this is a clean new docker installation and you are not running any service already using this.
> [!NOTE]
> The following instructions are meant for installations without a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) already being in place. If you want to run AIO behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else), see the [reverse proxy documentation](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md). Also, the instructions below are especially meant for Linux. For macOS see [this](#how-to-run-aio-on-macos), for Windows see [this](#how-to-run-aio-on-windows) and for Synology see [this](#how-to-run-aio-on-synology-dsm).
@@ -567,16 +570,16 @@ On older TrueNAS SCALE releases with Kubernetes environment, there are two ways
Another but untested way is to install Portainer on your TrueNAS SCALE from here https://truecharts.org/charts/stable/portainer/installation-notes and add the Helm-chart repository https://nextcloud.github.io/all-in-one/ into Portainer by following https://docs.portainer.io/user/kubernetes/helm. More docs on AIOs Helm Chart are available here: https://github.com/nextcloud/all-in-one/tree/main/nextcloud-aio-helm-chart#nextcloud-aio-helm-chart.
### How to run `occ` commands?
Simply run the following: `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ your-command`. Of course `your-command` needs to be exchanged with the command that you want to run.
Simply run the following: `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ your-command`. Of course `your-command` needs to be exchanged with the command that you want to run. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to resolve `Security & setup warnings displays the "missing default phone region" after initial install`?
Simply run the following command: `sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value="yourvalue"`. Of course you need to modify `yourvalue` based on your location. Examples are `DE`, `US` and `GB`. See this list for more codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
Simply run the following command: `sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value="yourvalue"`. Of course you need to modify `yourvalue` based on your location. Examples are `DE`, `US` and `GB`. See this list for more codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to run multiple AIO instances on one server?
See [multiple-instances.md](./multiple-instances.md) for some documentation on this.
### Bruteforce protection FAQ
Nextcloud features a built-in bruteforce protection which may get triggered and will block an ip-address or disable a user. You can unblock an ip-address by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ security:bruteforce:reset <ip-address>` and enable a disabled user by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ user:enable <name of user>`. See https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#security for further information.
Nextcloud features a built-in bruteforce protection which may get triggered and will block an ip-address or disable a user. You can unblock an ip-address by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ security:bruteforce:reset <ip-address>` and enable a disabled user by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ user:enable <name of user>`. See https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#security for further information. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to switch the channel?
You can switch to a different channel like e.g. the beta channel or from the beta channel back to the latest channel by stopping the mastercontainer, removing it (no data will be lost) and recreating the container using the same command that you used initially to create the mastercontainer. You simply need to change the last line `ghcr.io/nextcloud-releases/all-in-one:latest` to `ghcr.io/nextcloud-releases/all-in-one:beta` and vice versa.
@@ -658,10 +661,10 @@ Since Podman is not 100% compatible with the Docker API, Podman is not supported
### Access/Edit Nextcloud files/folders manually
The files and folders that you add to Nextcloud are by default stored in the following docker directory: `nextcloud_aio_nextcloud:/mnt/ncdata/` (usually `/var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/` on linux host systems). If needed, you can modify/add/delete files/folders there but **ATTENTION**: be very careful when doing so because you might corrupt your AIO installation! Best is to create a backup using the built-in backup solution before editing/changing files/folders in there because you will then be able to restore your instance to the backed up state.
After you are done modifying/adding/deleting files/folders, don't forget to apply the correct permissions by running: `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/` and rescan the files with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all`.
After you are done modifying/adding/deleting files/folders, don't forget to apply the correct permissions by running: `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/` and rescan the files with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all`. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to edit Nextclouds config.php file with a texteditor?
You can edit Nextclouds config.php file directly from the host with your favorite text editor. E.g. like this: `sudo docker run -it --rm --volume nextcloud_aio_nextcloud:/var/www/html:rw alpine sh -c "apk add --no-cache nano && nano /var/www/html/config/config.php"`. Make sure to not break the file though which might corrupt your Nextcloud instance otherwise. In best case, create a backup using the built-in backup solution before editing the file.
You can edit Nextclouds config.php file directly from the host with your favorite text editor. E.g. like this: `sudo docker run -it --rm --volume nextcloud_aio_nextcloud:/var/www/html:rw alpine sh -c "apk add --no-cache nano && nano /var/www/html/config/config.php"`. Make sure to not break the file though which might corrupt your Nextcloud instance otherwise. In best case, create a backup using the built-in backup solution before editing the file. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to change default files by creating a custom skeleton directory?
All users see a set of [default files and folders](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/default_files_configuration.html) as dictated by Nextcloud's configuration. To change these default files and folders a custom skeleton directory must first be created; this can be accomplished by copying your skeleton files `sudo docker cp --follow-link /path/to/nextcloud/skeleton/ nextcloud-aio-nextcloud:/mnt/ncdata/skeleton/`, applying the correct permissions with `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/skeleton/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/skeleton/` and setting the skeleton directory option with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set skeletondirectory --value="/mnt/ncdata/skeleton"`. Further information is available in the Nextcloud documentation on [configuration parameters for the skeleton directory](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html#skeletondirectory).
@@ -1030,11 +1033,13 @@ After doing a restore via the AIO interface, you might run into problems due to
You can do so by running the `/daily-backup.sh` script that is stored in the mastercontainer. It accepts the following environment variables:
- `AUTOMATIC_UPDATES` if set to `1`, it will automatically stop the containers, update them and start them including the mastercontainer. If the mastercontainer gets updated, this script's execution will stop as soon as the mastercontainer gets stopped. You can then wait until it is started again and run the script with this flag again in order to update all containers correctly afterwards.
- `DAILY_BACKUP` if set to `1`, it will automatically stop the containers and create a backup. If you want to start them again afterwards, you may have a look at the `START_CONTAINERS` option.
- `START_CONTAINERS` if set to `1`, it will automatically start the containers without updating them.
- `STOP_CONTAINERS` if set to `1`, it will automatically stop the containers.
- `CHECK_BACKUP` if set to `1`, it will start the backup check. This is not allowed to be enabled at the same time like `DAILY_BACKUP`. Please be aware that this option is non-blocking which means that the backup check is not done when the process is finished since it only start the borgbackup container with the correct configuration.
- `STOP_CONTAINERS` if set to `1`, it will automatically stop the containers at the start of the script. Implied by `DAILY_BACKUP=1`.
- `START_CONTAINERS` if set to `1`, it will automatically start the containers at the end of the script, without updating them. Implied by `DAILY_BACKUP=1`.
- `CHECK_BACKUP` if set to `1`, it will start the integrity check of all borg backups made by AIO. Note that the backup check is non blocking so containers can be kept running while the check lasts. That means you can't pass `DAILY_BACKUP=1` at the same time. The output of the check can be found in the logs of the container `nextcloud-aio-borgbackup`.
One example for this would be `sudo docker exec -it --env DAILY_BACKUP=1 nextcloud-aio-mastercontainer /daily-backup.sh`, which you can run via a cronjob or put it in a script.
One example to do a backup would be `sudo docker exec -it --env DAILY_BACKUP=1 nextcloud-aio-mastercontainer /daily-backup.sh`, which you can run via a cronjob or put it in a script.
Likewise to do a backup check would be `sudo docker exec --env DAILY_BACKUP=0 --env CHECK_BACKUP=1 --env STOP_CONTAINERS=0 nextcloud-aio-mastercontainer /daily-backup.sh`.
> [!NOTE]
> None of the option returns error codes. So you need to check for the correct result yourself.
@@ -1057,7 +1062,7 @@ Netdata allows you to monitor your server using a GUI. You can install it by fol
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/discussions/3061#discussioncomment-7307045
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 **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### Mail server
You can configure one yourself by using either of these four 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), [Mailcow](https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------) or [Stalwart](https://stalw.art/). There is now a community container which allows to easily add Stalwart Mail server to AIO: https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart

View File

@@ -273,7 +273,7 @@ Although it does not seem like it is the case but from AIO perspective a Cloudfl
⚠️ **Please note:** look into [this](#adapting-the-sample-web-server-configurations-below) to adapt the above example configuration.
1. Now continue with [point 2](#2-use-this-startup-command) but 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).
**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.
**Advice:** Make sure to [disable Cloudflare's 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.
</details>