mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-05-21 10:50:10 +00:00
Compare commits
128 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d55723dbea | ||
|
|
97b3f8465a | ||
|
|
f14a271bbc | ||
|
|
0eda1f9e9c | ||
|
|
224feef3e3 | ||
|
|
1acdfe05e1 | ||
|
|
a915227029 | ||
|
|
8f670a2939 | ||
|
|
d1e5e3e28f | ||
|
|
e13d6d73e5 | ||
|
|
78c1a63dfe | ||
|
|
17a19f0bae | ||
|
|
2978ba98c5 | ||
|
|
0ee7928181 | ||
|
|
27c783da9c | ||
|
|
48c0b74c4f | ||
|
|
faff549b53 | ||
|
|
8380ee5262 | ||
|
|
d750d7cfd5 | ||
|
|
05facb91a1 | ||
|
|
6a0432177a | ||
|
|
e945d5b58b | ||
|
|
e7f98c0957 | ||
|
|
cc6486ae2f | ||
|
|
64b1951f4f | ||
|
|
78b0e0042b | ||
|
|
2416b85f9d | ||
|
|
fd3f6d9018 | ||
|
|
6bc2d1d6ae | ||
|
|
75eb2fd7aa | ||
|
|
edb70a1471 | ||
|
|
c844b4dbef | ||
|
|
b866fe25db | ||
|
|
973d503212 | ||
|
|
fea71433c8 | ||
|
|
45e87ca05a | ||
|
|
15e69ec433 | ||
|
|
b54ff9503a | ||
|
|
995fca1ba6 | ||
|
|
4c7f842cb2 | ||
|
|
f7eaa74768 | ||
|
|
b5469ad372 | ||
|
|
48f6d8317a | ||
|
|
f0bf35e57c | ||
|
|
d8e3c83afc | ||
|
|
1f2920633d | ||
|
|
7254120e6c | ||
|
|
0808ab7dca | ||
|
|
68d66a53fb | ||
|
|
112cc010b9 | ||
|
|
20c3fbc154 | ||
|
|
426c46d0ae | ||
|
|
04ff2c9935 | ||
|
|
bf307eb5ff | ||
|
|
6dbb0841bf | ||
|
|
8f14e47401 | ||
|
|
4abeeaf1b3 | ||
|
|
ce506564cb | ||
|
|
4810797d02 | ||
|
|
bc79fd1877 | ||
|
|
087943b1ba | ||
|
|
356e32f3d1 | ||
|
|
9c7a35dc23 | ||
|
|
175d9a3112 | ||
|
|
22224a4604 | ||
|
|
905f1c7264 | ||
|
|
0e30956b75 | ||
|
|
ad2329fdd2 | ||
|
|
9b8ceb1a7d | ||
|
|
baacf24a4d | ||
|
|
d5b6252b83 | ||
|
|
701562416c | ||
|
|
ad68418245 | ||
|
|
dba7e43e7f | ||
|
|
a5ec42bbcb | ||
|
|
fbf32ebae0 | ||
|
|
99a0069460 | ||
|
|
187d86619a | ||
|
|
9ac868f636 | ||
|
|
ba7bc4818a | ||
|
|
da60cc44bf | ||
|
|
622a927a8c | ||
|
|
fedb214387 | ||
|
|
d4245da813 | ||
|
|
f46b0c489f | ||
|
|
5e86d7baaf | ||
|
|
93dd64f5ee | ||
|
|
f0210e8594 | ||
|
|
c61261a0a1 | ||
|
|
1ac7d7866e | ||
|
|
4a121ed613 | ||
|
|
dacd48cfd0 | ||
|
|
0befd813d9 | ||
|
|
d3fba3134c | ||
|
|
e04a47a143 | ||
|
|
3899428161 | ||
|
|
15e3fd1f5e | ||
|
|
1e17a21e48 | ||
|
|
fba263e671 | ||
|
|
5dba923eff | ||
|
|
41b58ddc5e | ||
|
|
11de100d50 | ||
|
|
d76da00211 | ||
|
|
e2e613038f | ||
|
|
bbbd553300 | ||
|
|
df8a6c4ca2 | ||
|
|
c9b5814bde | ||
|
|
9ba0dbf6a3 | ||
|
|
7a1459fa84 | ||
|
|
f2d5cfab35 | ||
|
|
999f0c1bf5 | ||
|
|
255895e219 | ||
|
|
bd1ec4fd81 | ||
|
|
aeac2b54fc | ||
|
|
9d58723998 | ||
|
|
c504e32142 | ||
|
|
8e532d4a6d | ||
|
|
511c433549 | ||
|
|
e30a96dc31 | ||
|
|
7cadc15c82 | ||
|
|
4a2092b0f5 | ||
|
|
1c594ec74b | ||
|
|
68bef922fb | ||
|
|
1e26613960 | ||
|
|
56673bdee2 | ||
|
|
81f4a59a73 | ||
|
|
ce2a09df5e | ||
|
|
c603b17625 |
2
.github/workflows/dependency-updates.yml
vendored
2
.github/workflows/dependency-updates.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: 8.2
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
- name: Run dependency update script
|
||||
run: |
|
||||
|
||||
2
.github/workflows/lint-helm.yml
vendored
2
.github/workflows/lint-helm.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
||||
run: ct lint --target-branch ${{ github.event.repository.default_branch }} --debug --chart-dirs nextcloud-aio-helm-chart
|
||||
|
||||
- name: Create kind cluster
|
||||
uses: helm/kind-action@v1.8.0
|
||||
uses: helm/kind-action@v1.9.0
|
||||
|
||||
- name: Run chart-testing (install)
|
||||
id: install
|
||||
|
||||
2
.github/workflows/lint-php.yml
vendored
2
.github/workflows/lint-php.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
php-versions: [ "8.2" ]
|
||||
php-versions: [ "8.3" ]
|
||||
|
||||
name: php-lint
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up php8.2
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: 8.2
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
coverage: none
|
||||
|
||||
|
||||
4
.github/workflows/psalm-update-baseline.yml
vendored
4
.github/workflows/psalm-update-baseline.yml
vendored
@@ -12,10 +12,10 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up php8.2
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: 8.2
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
coverage: none
|
||||
|
||||
|
||||
2
.github/workflows/psalm.yml
vendored
2
.github/workflows/psalm.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2
|
||||
with:
|
||||
php-version: 8.2
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
coverage: none
|
||||
ini-file: development
|
||||
|
||||
2
.github/workflows/twig-lint.yml
vendored
2
.github/workflows/twig-lint.yml
vendored
@@ -29,7 +29,7 @@ jobs:
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: 8.2
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
coverage: none
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
https://{$ADDITIONAL_TRUSTED_DOMAIN}:443,
|
||||
{$PROTOCOL}://{$NC_DOMAIN}:{$APACHE_PORT} {
|
||||
header -Server
|
||||
header -X-Powered-By
|
||||
|
||||
# Collabora
|
||||
route /browser/* {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM caddy:2.7.6-alpine as caddy
|
||||
|
||||
FROM httpd:2.4.58-alpine3.19
|
||||
|
||||
@@ -14,6 +14,9 @@ Listen 8000
|
||||
SetHandler "proxy:fcgi://${NEXTCLOUD_HOST}:9000"
|
||||
</FilesMatch>
|
||||
|
||||
<Proxy "fcgi://${NEXTCLOUD_HOST}:9000" flushpackets=on>
|
||||
</Proxy>
|
||||
|
||||
# Enable Brotli compression for js, css and svg files - other plain files are compressed by Nextcloud by default
|
||||
<IfModule mod_brotli.c>
|
||||
AddOutputFilterByType BROTLI_COMPRESS text/javascript application/javascript application/x-javascript text/css image/svg+xml
|
||||
@@ -37,10 +40,6 @@ Listen 8000
|
||||
Require all denied
|
||||
</Files>
|
||||
|
||||
# Fix zero file sizes
|
||||
# See https://github.com/nextcloud/server/issues/3056#issuecomment-954209565
|
||||
SetEnv proxy-sendcl 1
|
||||
|
||||
# See https://httpd.apache.org/docs/current/en/mod/core.html#limitrequestbody
|
||||
LimitRequestBody ${APACHE_MAX_SIZE}
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM alpine:3.19.1
|
||||
|
||||
RUN set -ex; \
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.1/alpine/Dockerfile
|
||||
FROM clamav/clamav:1.2.1-30
|
||||
FROM clamav/clamav:1.3.0-41
|
||||
|
||||
COPY clamav.conf /tmp/clamav.conf
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
|
||||
FROM collabora/code:23.05.8.4.1
|
||||
FROM collabora/code:23.05.9.3.1
|
||||
|
||||
USER root
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
FROM haproxy:2.9.4-alpine3.19
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM haproxy:2.9.6-alpine3.19
|
||||
|
||||
# hadolint ignore=DL3002
|
||||
USER root
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM alpine:3.19.1
|
||||
RUN set -ex; \
|
||||
apk add --no-cache bash lighttpd netcat-openbsd; \
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
|
||||
FROM elasticsearch:8.12.1
|
||||
FROM elasticsearch:8.12.2
|
||||
|
||||
USER root
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
FROM golang:1.22.0-alpine3.19 as go
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM golang:1.22.1-alpine3.18 as go
|
||||
|
||||
ENV IMAGINARY_HASH 6cd9edd1d3fb151eb773c14552886e4fc8e50138
|
||||
|
||||
@@ -12,7 +13,7 @@ RUN set -ex; \
|
||||
build-base; \
|
||||
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
|
||||
|
||||
FROM alpine:3.19.1
|
||||
FROM alpine:3.18.6
|
||||
RUN set -ex; \
|
||||
apk add --no-cache \
|
||||
tzdata \
|
||||
@@ -22,9 +23,11 @@ RUN set -ex; \
|
||||
vips-magick \
|
||||
vips-heif \
|
||||
vips-jxl \
|
||||
vips-poppler
|
||||
vips-poppler \
|
||||
bash
|
||||
|
||||
COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
|
||||
ENV PORT 9000
|
||||
|
||||
@@ -32,7 +35,7 @@ USER nobody
|
||||
|
||||
# https://github.com/h2non/imaginary#memory-issues
|
||||
ENV MALLOC_ARENA_MAX=2
|
||||
ENTRYPOINT ["imaginary", "-return-size", "-max-allowed-resolution", "222.2"]
|
||||
ENTRYPOINT ["/start.sh"]
|
||||
|
||||
HEALTHCHECK CMD nc -z localhost "$PORT" || exit 1
|
||||
LABEL com.centurylinklabs.watchtower.enable="false"
|
||||
|
||||
8
Containers/imaginary/start.sh
Normal file
8
Containers/imaginary/start.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Imaginary has started"
|
||||
if [ -z "$IMAGINARY_SECRET" ]; then
|
||||
imaginary -return-size -max-allowed-resolution 222.2 "$@"
|
||||
else
|
||||
imaginary -return-size -max-allowed-resolution 222.2 -key "$IMAGINARY_SECRET" "$@"
|
||||
fi
|
||||
@@ -1,11 +1,12 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# Docker CLI is a requirement
|
||||
FROM docker:25.0.2-cli as docker
|
||||
FROM docker:25.0.3-cli as docker
|
||||
|
||||
# Caddy is a requirement
|
||||
FROM caddy:2.7.6-alpine as caddy
|
||||
|
||||
# From https://github.com/docker-library/php/blob/master/8.2/alpine3.19/fpm/Dockerfile
|
||||
FROM php:8.2.15-fpm-alpine3.19
|
||||
# From https://github.com/docker-library/php/blob/master/8.3/alpine3.19/fpm/Dockerfile
|
||||
FROM php:8.3.3-fpm-alpine3.19
|
||||
|
||||
EXPOSE 80
|
||||
EXPOSE 8080
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
FROM php:8.1.27-fpm-alpine3.19
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM php:8.2.16-fpm-alpine3.19
|
||||
|
||||
ENV PHP_MEMORY_LIMIT 512M
|
||||
ENV PHP_UPLOAD_LIMIT 10G
|
||||
ENV PHP_MAX_TIME 3600
|
||||
ENV NEXTCLOUD_VERSION 27.1.5
|
||||
ENV SOURCE_LOCATION /usr/src/nextcloud
|
||||
|
||||
# AIO settings start # Do not remove or change this line!
|
||||
ENV NEXTCLOUD_VERSION 28.0.3
|
||||
ENV AIO_TOKEN 123456
|
||||
ENV AIO_URL localhost
|
||||
COPY supervisord.conf /supervisord.conf
|
||||
# AIO settings end # Do not remove or change this line!
|
||||
|
||||
COPY --chmod=775 *.sh /
|
||||
COPY --chmod=774 upgrade.exclude /upgrade.exclude
|
||||
COPY config/*.php /
|
||||
COPY supervisord.conf /supervisord.conf
|
||||
|
||||
VOLUME /mnt/ncdata
|
||||
VOLUME /var/www/html
|
||||
@@ -53,6 +58,7 @@ RUN set -ex; \
|
||||
; \
|
||||
\
|
||||
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp; \
|
||||
docker-php-ext-configure ftp --with-openssl-dir=/usr; \
|
||||
docker-php-ext-configure ldap; \
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
bcmath \
|
||||
@@ -115,6 +121,7 @@ RUN set -ex; \
|
||||
chown -R www-data:root /var/www; \
|
||||
chmod -R g=u /var/www; \
|
||||
\
|
||||
# Download Nextcloud archive start # Do not remove or change this line!
|
||||
apk add --no-cache --virtual .fetch-deps \
|
||||
bzip2 \
|
||||
gnupg \
|
||||
@@ -135,8 +142,9 @@ RUN set -ex; \
|
||||
mkdir -p /usr/src/nextcloud/custom_apps; \
|
||||
chmod +x /usr/src/nextcloud/occ; \
|
||||
mkdir -p /usr/src/nextcloud/config; \
|
||||
mv /*.php /usr/src/nextcloud/config/; \
|
||||
apk del .fetch-deps; \
|
||||
# Download Nextcloud archive end # Do not remove or change this line!
|
||||
mv /*.php /usr/src/nextcloud/config/; \
|
||||
\
|
||||
# Template from https://github.com/nextcloud/docker/blob/master/.examples/dockerfiles/full/fpm-alpine/Dockerfile
|
||||
apk add --no-cache \
|
||||
@@ -162,6 +170,7 @@ RUN set -ex; \
|
||||
bz2 \
|
||||
imap \
|
||||
pgsql \
|
||||
ftp \
|
||||
; \
|
||||
pecl install smbclient; \
|
||||
docker-php-ext-enable smbclient; \
|
||||
@@ -204,18 +213,20 @@ RUN set -ex; \
|
||||
sed -i 's/^pm.max_children =.*/pm.max_children = 5000/' /usr/local/etc/php-fpm.d/www.conf; \
|
||||
sed -i 's|access.log = /proc/self/fd/2|access.log = /proc/self/fd/1|' /usr/local/etc/php-fpm.d/docker.conf; \
|
||||
\
|
||||
# AIO cloning start # Do not remove or change this line!
|
||||
rm -rf /tmp/nextcloud-aio && \
|
||||
mkdir -p /tmp/nextcloud-aio && \
|
||||
cd /tmp/nextcloud-aio && \
|
||||
git clone https://github.com/nextcloud-releases/all-in-one.git --depth 1 .; \
|
||||
mkdir -p /usr/src/nextcloud/apps/nextcloud-aio; \
|
||||
cp -r ./app/* /usr/src/nextcloud/apps/nextcloud-aio/; \
|
||||
# AIO cloning end # Do not remove or change this line!
|
||||
\
|
||||
chown www-data:root -R /usr/src && \
|
||||
chown www-data:root -R /usr/local/etc/php/conf.d && \
|
||||
chown www-data:root -R /usr/local/etc/php-fpm.d && \
|
||||
chmod -R 777 /tmp; \
|
||||
rm -r /usr/src/nextcloud/apps/updatenotification; \
|
||||
rm -rf /usr/src/nextcloud/apps/updatenotification; \
|
||||
\
|
||||
mkdir -p /nc-updater; \
|
||||
chown -R www-data:www-data /nc-updater; \
|
||||
|
||||
@@ -12,5 +12,5 @@ $CONFIG = array (
|
||||
'writable' => true,
|
||||
),
|
||||
),
|
||||
'appsallowlist' => getenv('APPS_ALLOWLIST') ? explode(" ", getenv('APPS_ALLOWLIST')) : [],
|
||||
'appsallowlist' => getenv('APPS_ALLOWLIST') ? explode(" ", getenv('APPS_ALLOWLIST')) : false,
|
||||
);
|
||||
|
||||
@@ -55,9 +55,9 @@ if [ -f /var/www/html/version.php ]; then
|
||||
else
|
||||
installed_version="0.0.0.0"
|
||||
fi
|
||||
if [ -f "/usr/src/nextcloud/version.php" ]; then
|
||||
if [ -f "$SOURCE_LOCATION/version.php" ]; then
|
||||
# shellcheck disable=SC2016
|
||||
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
|
||||
image_version="$(php -r "require '$SOURCE_LOCATION/version.php'; echo implode('.', \$OC_Version);")"
|
||||
else
|
||||
image_version="$installed_version"
|
||||
fi
|
||||
@@ -106,6 +106,8 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
|
||||
fi
|
||||
|
||||
if [ "$installed_version" != "0.0.0.0" ] && [ "$((IMAGE_MAJOR - INSTALLED_MAJOR))" -gt 1 ]; then
|
||||
# Do not skip major versions placeholder # Do not remove or change this line!
|
||||
# Do not skip major versions start # Do not remove or change this line!
|
||||
set -ex
|
||||
NEXT_MAJOR="$((INSTALLED_MAJOR + 1))"
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/latest-${NEXT_MAJOR}.tar.bz2"
|
||||
@@ -122,17 +124,18 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
|
||||
mkdir -p /usr/src/tmp/nextcloud/data
|
||||
mkdir -p /usr/src/tmp/nextcloud/custom_apps
|
||||
chmod +x /usr/src/tmp/nextcloud/occ
|
||||
cp -r /usr/src/nextcloud/config/* /usr/src/tmp/nextcloud/config/
|
||||
cp -r "$SOURCE_LOCATION"/config/* /usr/src/tmp/nextcloud/config/
|
||||
mkdir -p /usr/src/tmp/nextcloud/apps/nextcloud-aio
|
||||
cp -r /usr/src/nextcloud/apps/nextcloud-aio/* /usr/src/tmp/nextcloud/apps/nextcloud-aio/
|
||||
mv /usr/src/nextcloud /usr/src/temp-nextcloud
|
||||
mv /usr/src/tmp/nextcloud /usr/src/nextcloud
|
||||
cp -r "$SOURCE_LOCATION"/apps/nextcloud-aio/* /usr/src/tmp/nextcloud/apps/nextcloud-aio/
|
||||
mv "$SOURCE_LOCATION" /usr/src/temp-nextcloud
|
||||
mv /usr/src/tmp/nextcloud "$SOURCE_LOCATION"
|
||||
rm -r /usr/src/tmp
|
||||
rm -r /usr/src/temp-nextcloud
|
||||
# shellcheck disable=SC2016
|
||||
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
|
||||
image_version="$(php -r "require $SOURCE_LOCATION/version.php; echo implode('.', \$OC_Version);")"
|
||||
IMAGE_MAJOR="${image_version%%.*}"
|
||||
set +ex
|
||||
# Do not skip major versions end # Do not remove or change this line!
|
||||
fi
|
||||
|
||||
if [ "$installed_version" != "0.0.0.0" ]; then
|
||||
@@ -186,15 +189,15 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
|
||||
fi
|
||||
|
||||
echo "Initializing nextcloud $image_version ..."
|
||||
rsync -rlD --delete --exclude-from=/upgrade.exclude /usr/src/nextcloud/ /var/www/html/
|
||||
rsync -rlD --delete --exclude-from=/upgrade.exclude "$SOURCE_LOCATION/" /var/www/html/
|
||||
|
||||
for dir in config data custom_apps themes; do
|
||||
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
|
||||
rsync -rlD --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
|
||||
rsync -rlD --include "/$dir/" --exclude '/*' "$SOURCE_LOCATION/" /var/www/html/
|
||||
fi
|
||||
done
|
||||
rsync -rlD --delete --include '/config/' --exclude '/*' --exclude '/config/CAN_INSTALL' --exclude '/config/config.sample.php' --exclude '/config/config.php' /usr/src/nextcloud/ /var/www/html/
|
||||
rsync -rlD --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/
|
||||
rsync -rlD --delete --include '/config/' --exclude '/*' --exclude '/config/CAN_INSTALL' --exclude '/config/config.sample.php' --exclude '/config/config.php' "$SOURCE_LOCATION/" /var/www/html/
|
||||
rsync -rlD --include '/version.php' --exclude '/*' "$SOURCE_LOCATION/" /var/www/html/
|
||||
echo "Initializing finished"
|
||||
|
||||
#install
|
||||
@@ -255,6 +258,7 @@ DATADIR_PERMISSION_CONF
|
||||
# unset admin password
|
||||
unset ADMIN_PASSWORD
|
||||
|
||||
# AIO update to latest start # Do not remove or change this line!
|
||||
if [ "$INSTALL_LATEST_MAJOR" = yes ]; then
|
||||
php /var/www/html/occ config:system:set updatedirectory --value="/nc-updater"
|
||||
INSTALLED_AT="$(php /var/www/html/occ config:app:get core installedat)"
|
||||
@@ -292,6 +296,7 @@ DATADIR_PERMISSION_CONF
|
||||
php /var/www/html/occ db:add-missing-primary-keys
|
||||
yes | php /var/www/html/occ db:convert-filecache-bigint
|
||||
fi
|
||||
# AIO update to latest end # Do not remove or change this line!
|
||||
|
||||
# Apply log settings
|
||||
echo "Applying default settings..."
|
||||
@@ -322,6 +327,8 @@ DATADIR_PERMISSION_CONF
|
||||
|
||||
# Apply other settings
|
||||
echo "Applying other settings..."
|
||||
# Add missing indices after new installation because they seem to be missing on new installation
|
||||
php /var/www/html/occ db:add-missing-indices
|
||||
php /var/www/html/occ config:system:set upgrade.disable-web --type=bool --value=true
|
||||
php /var/www/html/occ config:system:set mail_smtpmode --value="smtp"
|
||||
php /var/www/html/occ config:system:set trashbin_retention_obligation --value="auto, 30"
|
||||
@@ -463,11 +470,13 @@ if [ -f "$NEXTCLOUD_DATA_DIR/fingerprint.update" ]; then
|
||||
rm "$NEXTCLOUD_DATA_DIR/fingerprint.update"
|
||||
fi
|
||||
|
||||
# AIO one-click settings start # Do not remove or change this line!
|
||||
# Apply one-click-instance settings
|
||||
echo "Applying one-click-instance settings..."
|
||||
php /var/www/html/occ config:system:set one-click-instance --value=true --type=bool
|
||||
php /var/www/html/occ config:system:set one-click-instance.user-limit --value=100 --type=int
|
||||
php /var/www/html/occ config:system:set one-click-instance.link --value="https://nextcloud.com/all-in-one/"
|
||||
# AIO one-click settings end # Do not remove or change this line!
|
||||
php /var/www/html/occ app:enable support
|
||||
if [ -n "$SUBSCRIPTION_KEY" ] && [ -z "$(php /var/www/html/occ config:app:get support potential_subscription_key)" ]; then
|
||||
php /var/www/html/occ config:app:set support potential_subscription_key --value="$SUBSCRIPTION_KEY"
|
||||
@@ -483,6 +492,10 @@ php /var/www/html/occ config:system:set updatedirectory --value="/nc-updater"
|
||||
if [ -n "$SERVERINFO_TOKEN" ] && [ -z "$(php /var/www/html/occ config:app:get serverinfo token)" ]; then
|
||||
php /var/www/html/occ config:app:set serverinfo token --value="$SERVERINFO_TOKEN"
|
||||
fi
|
||||
# Set maintenance window so that no warning is shown in the admin overview
|
||||
if [ -z "$(php /var/www/html/occ config:system:get maintenance_window_start)" ]; then
|
||||
php /var/www/html/occ config:system:set maintenance_window_start --type=int --value=100
|
||||
fi
|
||||
|
||||
# Apply network settings
|
||||
echo "Applying network settings..."
|
||||
@@ -503,6 +516,7 @@ else
|
||||
php /var/www/html/occ config:system:set files_external_allow_create_new_local --type=bool --value=true
|
||||
fi
|
||||
|
||||
# AIO app start # Do not remove or change this line!
|
||||
# AIO app
|
||||
if [ "$THIS_IS_AIO" = "true" ]; then
|
||||
if [ "$(php /var/www/html/occ config:app:get nextcloud-aio enabled)" != "yes" ]; then
|
||||
@@ -513,6 +527,7 @@ else
|
||||
php /var/www/html/occ app:disable nextcloud-aio
|
||||
fi
|
||||
fi
|
||||
# AIO app end # Do not remove or change this line!
|
||||
|
||||
# Notify push
|
||||
if ! [ -d "/var/www/html/custom_apps/notify_push" ]; then
|
||||
@@ -690,6 +705,7 @@ fi
|
||||
if [ "$IMAGINARY_ENABLED" = 'yes' ]; then
|
||||
php /var/www/html/occ config:system:set enabledPreviewProviders 0 --value="OC\\Preview\\Imaginary"
|
||||
php /var/www/html/occ config:system:set preview_imaginary_url --value="http://$IMAGINARY_HOST:9000"
|
||||
php /var/www/html/occ config:system:set preview_imaginary_key --value="$IMAGINARY_SECRET"
|
||||
else
|
||||
if [ -n "$(php /var/www/html/occ config:system:get preview_imaginary_url)" ]; then
|
||||
php /var/www/html/occ config:system:delete enabledPreviewProviders 0
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM alpine:3.19.1
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
|
||||
FROM onlyoffice/documentserver:7.5.1.1
|
||||
FROM onlyoffice/documentserver:8.0.1.1
|
||||
|
||||
# USER root is probably used
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From https://github.com/docker-library/postgres/blob/master/15/alpine/Dockerfile
|
||||
FROM postgres:15.5-alpine
|
||||
FROM postgres:15.6-alpine
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From https://github.com/docker-library/redis/blob/master/7.0/alpine/Dockerfile
|
||||
FROM redis:7.2.4-alpine
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
FROM python:3.12.1-alpine3.19
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM python:3.12.2-alpine3.19
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
FROM nats:2.10.10-scratch as nats
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM nats:2.10.11-scratch as nats
|
||||
FROM eturnal/eturnal:1.12.0 AS eturnal
|
||||
FROM strukturag/nextcloud-spreed-signaling:1.2.3 as signaling
|
||||
FROM alpine:3.19.1 as janus
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From https://github.com/containrrr/watchtower/blob/main/dockerfiles/Dockerfile.self-contained
|
||||
FROM containrrr/watchtower:1.7.1 as watchtower
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<name>Nextcloud All-in-One</name>
|
||||
<summary>Provides a login link for admins.</summary>
|
||||
<description>Add a link to the admin settings that gives access to the Nextcloud All-in-One admin interface</description>
|
||||
<version>0.4.0</version>
|
||||
<version>0.5.0</version>
|
||||
<licence>agpl</licence>
|
||||
<author>Azul</author>
|
||||
<namespace>AllInOne</namespace>
|
||||
@@ -13,7 +13,7 @@
|
||||
<category>monitoring</category>
|
||||
<bugs>https://github.com/nextcloud/all-in-one/issues</bugs>
|
||||
<dependencies>
|
||||
<nextcloud min-version="26" max-version="27"/>
|
||||
<nextcloud min-version="27" max-version="28"/>
|
||||
</dependencies>
|
||||
|
||||
<settings>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
## Caddy with geoblocking
|
||||
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. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart by listening on `mail.$NC_DOMAIN`, if installed.
|
||||
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. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart by listening on `mail.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin by listening on `media.$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!
|
||||
@@ -7,6 +7,7 @@ This container bundles caddy and auto-configures it for you. It also covers http
|
||||
- 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.
|
||||
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart, make sure that you point `mail.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for stalwart.
|
||||
- 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.
|
||||
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
|
||||
|
||||
### Repository
|
||||
|
||||
39
community-containers/jellyfin/jellyfin.json
Normal file
39
community-containers/jellyfin/jellyfin.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"aio_services_v1": [
|
||||
{
|
||||
"container_name": "nextcloud-aio-jellyfin",
|
||||
"display_name": "Jellyfin",
|
||||
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin",
|
||||
"image": "jellyfin/jellyfin",
|
||||
"image_tag": "latest",
|
||||
"internal_port": "host",
|
||||
"restart": "unless-stopped",
|
||||
"environment": [
|
||||
"TZ=%TIMEZONE%"
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"source": "nextcloud_aio_jellyfin",
|
||||
"destination": "/config",
|
||||
"writeable": true
|
||||
},
|
||||
{
|
||||
"source": "%NEXTCLOUD_DATADIR%",
|
||||
"destination": "/media",
|
||||
"writeable": false
|
||||
},
|
||||
{
|
||||
"source": "%NEXTCLOUD_MOUNT%",
|
||||
"destination": "%NEXTCLOUD_MOUNT%",
|
||||
"writeable": false
|
||||
}
|
||||
],
|
||||
"devices": [
|
||||
"/dev/dri"
|
||||
],
|
||||
"backup_volumes": [
|
||||
"nextcloud_aio_jellyfin"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
18
community-containers/jellyfin/readme.md
Normal file
18
community-containers/jellyfin/readme.md
Normal file
@@ -0,0 +1,18 @@
|
||||
## Jellyfin
|
||||
This container bundles Jellyfin and auto-configures it for you.
|
||||
|
||||
### Notes
|
||||
- This container is incompatible with the [Plex](https://github.com/nextcloud/all-in-one/tree/main/community-containers/plex) community container. So make sure that you do not enable both at the same time!
|
||||
- This container does not work on Docker Desktop since it needs `network_mode: host` in order to work correctly.
|
||||
- After adding and starting the container, you can directly visit http://ip.address.of.server:8096/ and access your new Jellyfin instance!
|
||||
- In order to access your Jellyfin outside the local network, you have to set up your own reverse proxy. You can set up a reverse proxy following [these instructions](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) and [Jellyfin's networking documentation](https://jellyfin.org/docs/general/networking/#running-jellyfin-behind-a-reverse-proxy), OR use the [Caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container that will automatically configure `media.$NC_DOMAIN` to redirect to your Jellyfin.
|
||||
- ⚠️ After the initial start, Jellyfin shows a configuration page to set up the root password, etc. **Be careful to initialize your Jellyfin before adding the DNS record.**
|
||||
- The data of Jellyfin will be automatically included in AIO's backup solution!
|
||||
- See [here](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/jellyfin/jellyfin
|
||||
|
||||
### Maintainer
|
||||
https://github.com/airopi
|
||||
@@ -5,7 +5,7 @@
|
||||
"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",
|
||||
"image_tag": "v2",
|
||||
"internal_port": "8080",
|
||||
"restart": "unless-stopped",
|
||||
"environment": [
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
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.
|
||||
- This container does not work on arm64! If you add the container on arm64, it will fail to start because no image for arm64 is available!
|
||||
- Make sure to have enough storage space available. This container alone needs ~14GB storage. 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
|
||||
|
||||
@@ -6,7 +6,7 @@ This container bundles pi-hole and auto-configures it for you.
|
||||
- Make sure that no dns server is already running by checking with `sudo netstat -tulpn | grep 53`. Otherwise the container will not be able to start!
|
||||
- The DHCP functionality of Pi-hole has been disabled!
|
||||
- The data of pi-hole will be automatically included in AIOs backup solution!
|
||||
- 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.
|
||||
- After adding and starting the container, you can visit `http://ip.address.of.this.server:8573/admin` 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#community-containers how to add it to the AIO stack
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
This container bundles Plex and auto-configures it for you.
|
||||
|
||||
### Notes
|
||||
- This container is incompatible with the [Jellyfin](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin) community container. So make sure that you do not enable both at the same time!
|
||||
- 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!
|
||||
|
||||
@@ -45,6 +45,8 @@ services:
|
||||
- /usr/local/apache2/logs
|
||||
- /tmp
|
||||
- /home/www-data
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-database:
|
||||
image: nextcloud/aio-postgresql:latest
|
||||
@@ -68,6 +70,8 @@ services:
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /var/run/postgresql
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-nextcloud:
|
||||
depends_on:
|
||||
@@ -149,6 +153,8 @@ services:
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-notify-push:
|
||||
image: nextcloud/aio-notify-push:latest
|
||||
@@ -170,6 +176,8 @@ services:
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
read_only: true
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-redis:
|
||||
image: nextcloud/aio-redis:latest
|
||||
@@ -185,6 +193,8 @@ services:
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
read_only: true
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-collabora:
|
||||
image: nextcloud/aio-collabora:latest
|
||||
@@ -205,6 +215,8 @@ services:
|
||||
- nextcloud-aio
|
||||
cap_add:
|
||||
- MKNOD
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-talk:
|
||||
image: nextcloud/aio-talk:latest
|
||||
@@ -234,6 +246,8 @@ services:
|
||||
- /opt/eturnal/run
|
||||
- /conf
|
||||
- /tmp
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-talk-recording:
|
||||
image: nextcloud/aio-talk-recording:latest
|
||||
@@ -255,6 +269,8 @@ services:
|
||||
tmpfs:
|
||||
- /tmp
|
||||
- /conf
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-clamav:
|
||||
image: nextcloud/aio-clamav:latest
|
||||
@@ -276,6 +292,8 @@ services:
|
||||
- /var/lock
|
||||
- /var/log/clamav
|
||||
- /tmp
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-onlyoffice:
|
||||
image: nextcloud/aio-onlyoffice:latest
|
||||
@@ -294,6 +312,8 @@ services:
|
||||
- onlyoffice
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
nextcloud-aio-imaginary:
|
||||
image: nextcloud/aio-imaginary:latest
|
||||
@@ -305,6 +325,8 @@ services:
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- SYS_NICE
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
profiles:
|
||||
- imaginary
|
||||
networks:
|
||||
@@ -336,6 +358,8 @@ services:
|
||||
- fulltextsearch
|
||||
networks:
|
||||
- nextcloud-aio
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
volumes:
|
||||
nextcloud_aio_apache:
|
||||
|
||||
@@ -33,7 +33,7 @@ The procedure for migrating the files and the database works like this:
|
||||
```
|
||||
1. Create a new database by running:
|
||||
```
|
||||
export PG_USER="ncadmin"
|
||||
export PG_USER="ncadmin" # This is a temporary user that gets created for the dump but is then overwritten by the correct one later on
|
||||
export PG_PASSWORD="my-temporary-password"
|
||||
export PG_DATABASE="nextcloud_db"
|
||||
sudo -u postgres psql <<END
|
||||
@@ -68,7 +68,8 @@ The procedure for migrating the files and the database works like this:
|
||||
1. Change it to look like this: `local::/mnt/ncdata/`.
|
||||
1. Now save the file by pressing `[CTRL] + [o]` then `[ENTER]` and close nano by pressing `[CTRL] + [x]`
|
||||
1. In order to make sure that everything is good, you can now run `grep "/your/old/datadir" database-dump.sql` which should not bring up further results.<br>
|
||||
1. **Please note:** Unfortunately it is not possible to import a database dump from a former database owner with the name `nextcloud`. You can check if that is the case with this command: `grep "Name: oc_appconfig; Type: TABLE; Schema: public; Owner:" database-dump.sql | grep -oP 'Owner:.*$' | sed 's|Owner:||;s| ||g'`. If it returns `nextcloud`, you need to rename the owner in the dump file manually. A command like the following should work, however please note that it is possible that it will overwrite wrong lines. You can thus first check which lines it will change with `grep "Owner: nextcloud$" database-dump.sql`. If only correct looking lines get returned, feel free to change them with `sed -i 's|Owner: nextcloud$|Owner: ncadmin|' database-dump.sql`.
|
||||
1. **Please note:** Unfortunately it is not possible to import a database dump from a former database owner with the name `nextcloud`. You can check if that is the case with this command: `grep "Name: oc_appconfig; Type: TABLE; Schema: public; Owner:" database-dump.sql | grep -oP 'Owner:.*$' | sed 's|Owner:||;s| ||g'`. If it returns `nextcloud`, you need to rename the owner in the dump file manually. A command like the following should work, however please note that it is possible that it will overwrite wrong lines. You can thus first check which lines it will change with `grep "Owner: nextcloud$" database-dump.sql`. If only correct looking lines get returned, feel free to change them with `sed -i 's|Owner: nextcloud$|Owner: ncadmin|' database-dump.sql`.
|
||||
The same applies for the second statement, check with `grep " OWNER TO nextcloud;$" database-dump.sql` and replace with `sed -i 's| OWNER TO nextcloud;$| OWNER TO ncadmin;|' database-dump.sql`.
|
||||
1. Next, copy the database dump into the correct place and prepare the database container which will import from the database dump automatically the next container start:
|
||||
```
|
||||
sudo docker run --rm --volume nextcloud_aio_database_dump:/mnt/data:rw alpine rm /mnt/data/database-dump.sql
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: nextcloud-aio-helm-chart
|
||||
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
||||
version: 7.12.0-beta
|
||||
version: 7.13.1
|
||||
apiVersion: v2
|
||||
keywords:
|
||||
- latest
|
||||
|
||||
@@ -2,21 +2,23 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
name: nextcloud-aio-apache
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -59,14 +61,17 @@ spec:
|
||||
value: nextcloud-aio-talk
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-apache:beta
|
||||
imagePullPolicy: Always
|
||||
image: nextcloud/aio-apache:20240308_092935-latest
|
||||
name: nextcloud-aio-apache
|
||||
ports:
|
||||
- containerPort: {{ .Values.APACHE_PORT }}
|
||||
protocol: TCP
|
||||
- containerPort: {{ .Values.APACHE_PORT }}
|
||||
protocol: UDP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: nextcloud-aio-nextcloud
|
||||
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
name: nextcloud-aio-apache
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
|
||||
@@ -2,12 +2,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
name: nextcloud-aio-apache
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
type: LoadBalancer
|
||||
|
||||
@@ -3,21 +3,23 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
name: nextcloud-aio-clamav
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -50,11 +52,15 @@ spec:
|
||||
value: "90"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-clamav:20240201_120631-latest
|
||||
image: nextcloud/aio-clamav:20240308_092935-latest
|
||||
name: nextcloud-aio-clamav
|
||||
ports:
|
||||
- containerPort: 3310
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/clamav
|
||||
subPath: data
|
||||
|
||||
@@ -5,7 +5,7 @@ metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
name: nextcloud-aio-clamav
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
name: nextcloud-aio-clamav
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
name: nextcloud-aio-collabora
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -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:20240201_120631-latest
|
||||
image: nextcloud/aio-collabora:20240308_092935-latest
|
||||
name: nextcloud-aio-collabora
|
||||
ports:
|
||||
- containerPort: 9980
|
||||
@@ -46,4 +46,6 @@ spec:
|
||||
capabilities:
|
||||
add:
|
||||
- MKNOD
|
||||
drop:
|
||||
- NET_RAW
|
||||
{{- end }}
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
name: nextcloud-aio-collabora
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -2,21 +2,23 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
name: nextcloud-aio-database
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -61,11 +63,15 @@ spec:
|
||||
value: nextcloud
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-postgresql:20240201_120631-latest
|
||||
image: nextcloud/aio-postgresql:20240308_092935-latest
|
||||
name: nextcloud-aio-database
|
||||
ports:
|
||||
- containerPort: 5432
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/postgresql/data
|
||||
subPath: data
|
||||
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database-dump
|
||||
name: nextcloud-aio-database-dump
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
name: nextcloud-aio-database
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
|
||||
@@ -2,12 +2,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
name: nextcloud-aio-database
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
{{- if eq .Values.FULLTEXTSEARCH_ENABLED "yes" }}
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-elasticsearch
|
||||
name: nextcloud-aio-elasticsearch
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
@@ -14,3 +15,4 @@ spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.ELASTICSEARCH_STORAGE_SIZE }}
|
||||
{{- end }}
|
||||
|
||||
@@ -3,21 +3,23 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
name: nextcloud-aio-fulltextsearch
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -55,11 +57,15 @@ spec:
|
||||
value: basic
|
||||
- name: xpack.security.enabled
|
||||
value: "false"
|
||||
image: nextcloud/aio-fulltextsearch:20240201_120631-latest
|
||||
image: nextcloud/aio-fulltextsearch:20240308_092935-latest
|
||||
name: nextcloud-aio-fulltextsearch
|
||||
ports:
|
||||
- containerPort: 9200
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
volumeMounts:
|
||||
- mountPath: /usr/share/elasticsearch/data
|
||||
name: nextcloud-aio-elasticsearch
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
name: nextcloud-aio-fulltextsearch
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
name: nextcloud-aio-imaginary
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -27,7 +27,7 @@ spec:
|
||||
- env:
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-imaginary:20240201_120631-latest
|
||||
image: nextcloud/aio-imaginary:20240308_092935-latest
|
||||
name: nextcloud-aio-imaginary
|
||||
ports:
|
||||
- containerPort: 9000
|
||||
@@ -36,4 +36,6 @@ spec:
|
||||
capabilities:
|
||||
add:
|
||||
- SYS_NICE
|
||||
drop:
|
||||
- NET_RAW
|
||||
{{- end }}
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
name: nextcloud-aio-imaginary
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{{- if ne .Values.NAMESPACE "default" }}
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: {{ .Values.NAMESPACE }}
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
name: "{{ .Values.NAMESPACE }}"
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
{{- end }}
|
||||
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud-data
|
||||
name: nextcloud-aio-nextcloud-data
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
|
||||
@@ -2,21 +2,23 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
name: nextcloud-aio-nextcloud
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -158,14 +160,17 @@ spec:
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
- name: UPDATE_NEXTCLOUD_APPS
|
||||
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
|
||||
image: nextcloud/aio-nextcloud:beta
|
||||
imagePullPolicy: Always
|
||||
image: nextcloud/aio-nextcloud:20240308_092935-latest
|
||||
name: nextcloud-aio-nextcloud
|
||||
ports:
|
||||
- containerPort: 9000
|
||||
protocol: TCP
|
||||
- containerPort: 9001
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: nextcloud-aio-nextcloud
|
||||
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
name: nextcloud-aio-nextcloud
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
|
||||
@@ -2,12 +2,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
name: nextcloud-aio-nextcloud
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
name: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
|
||||
@@ -2,21 +2,23 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-notify-push
|
||||
name: nextcloud-aio-notify-push
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-notify-push
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -50,11 +52,15 @@ spec:
|
||||
value: nextcloud-aio-redis
|
||||
- name: REDIS_HOST_PASSWORD
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
image: nextcloud/aio-notify-push:20240201_120631-latest
|
||||
image: nextcloud/aio-notify-push:20240308_092935-latest
|
||||
name: nextcloud-aio-notify-push
|
||||
ports:
|
||||
- containerPort: 7867
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
volumeMounts:
|
||||
- mountPath: /nextcloud
|
||||
name: nextcloud-aio-nextcloud
|
||||
|
||||
@@ -2,12 +2,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-notify-push
|
||||
name: nextcloud-aio-notify-push
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -3,21 +3,23 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -43,11 +45,15 @@ spec:
|
||||
value: "{{ .Values.ONLYOFFICE_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-onlyoffice:20240201_120631-latest
|
||||
image: nextcloud/aio-onlyoffice:20240308_092935-latest
|
||||
name: nextcloud-aio-onlyoffice
|
||||
ports:
|
||||
- containerPort: 80
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
|
||||
@@ -5,7 +5,7 @@ metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -2,21 +2,23 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
name: nextcloud-aio-redis
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -38,11 +40,15 @@ spec:
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-redis:20240201_120631-latest
|
||||
image: nextcloud/aio-redis:20240308_092935-latest
|
||||
name: nextcloud-aio-redis
|
||||
ports:
|
||||
- containerPort: 6379
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: nextcloud-aio-redis
|
||||
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
name: nextcloud-aio-redis
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
|
||||
@@ -2,12 +2,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
name: nextcloud-aio-redis
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -37,7 +37,7 @@ spec:
|
||||
value: "{{ .Values.TURN_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-talk:20240201_120631-latest
|
||||
image: nextcloud/aio-talk:20240308_092935-latest
|
||||
name: nextcloud-aio-talk
|
||||
ports:
|
||||
- containerPort: {{ .Values.TALK_PORT }}
|
||||
@@ -46,4 +46,8 @@ spec:
|
||||
protocol: UDP
|
||||
- containerPort: 8081
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
{{- end }}
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk-recording
|
||||
name: nextcloud-aio-talk-recording
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
@@ -33,9 +33,13 @@ spec:
|
||||
value: "{{ .Values.RECORDING_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-talk-recording:20240201_120631-latest
|
||||
image: nextcloud/aio-talk-recording:20240308_092935-latest
|
||||
name: nextcloud-aio-talk-recording
|
||||
ports:
|
||||
- containerPort: 1234
|
||||
protocol: TCP
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- NET_RAW
|
||||
{{- end }}
|
||||
|
||||
@@ -3,12 +3,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk-recording
|
||||
name: nextcloud-aio-talk-recording
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -4,12 +4,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk-public
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
type: LoadBalancer
|
||||
@@ -29,12 +29,12 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
|
||||
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
|
||||
kompose.version: 1.32.0 (765fde254)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk
|
||||
namespace: {{ .Values.NAMESPACE }}
|
||||
namespace: "{{ .Values.NAMESPACE }}"
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
|
||||
@@ -160,7 +160,7 @@ for variable in "${DEPLOYMENTS[@]}"; do
|
||||
fi
|
||||
done
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*.yaml' -exec sed -i "s|nextcloud-aio-namespace|\{\{ .Values.NAMESPACE \}\}|" \{} \;
|
||||
find ./ -name '*.yaml' -exec sed -i 's|nextcloud-aio-namespace|"\{\{ .Values.NAMESPACE \}\}"|' \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*service.yaml' -exec sed -i "/^status:/,$ d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
@@ -214,14 +214,14 @@ find ./ -name '*service.yaml' -exec sed -i "/^spec:/a\ \ ipFamilyPolicy: PreferD
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*.yaml' -exec sed -i "s|'{{|\"{{|g;s|}}'|}}\"|g" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*.yaml' -exec sed -i "/type: Recreate/d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*.yaml' -exec sed -i "/strategy:/d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ \( -not -name '*service.yaml' -name '*.yaml' \) -exec sed -i "/^status:/d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ \( -not -name '*persistentvolumeclaim.yaml' -name '*.yaml' \) -exec sed -i "/resources:/d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name "*namespace.yaml" -exec sed -i "1i\\{{- if ne .Values.NAMESPACE \"default\" }}" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name "*namespace.yaml" -exec sed -i "$ a {{- end }}" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*.yaml' -exec sed -i "/creationTimestamp: null/d" \{} \;
|
||||
VOLUMES="$(find ./ -name '*persistentvolumeclaim.yaml' | sed 's|-persistentvolumeclaim.yaml||g;s|.*nextcloud-aio-||g' | sort)"
|
||||
mapfile -t VOLUMES <<< "$VOLUMES"
|
||||
@@ -350,6 +350,12 @@ for variable in "${ENABLED_VARIABLES[@]}"; do
|
||||
find ./ -name "*nextcloud-aio-$name-persistentvolumeclaim.yaml" -exec sed -i "$ a {{- end }}" \{} \;
|
||||
done
|
||||
|
||||
# Additional case for FTS volume
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name "*nextcloud-aio-elasticsearch-persistentvolumeclaim.yaml" -exec sed -i "1i\\{{- if eq .Values.FULLTEXTSEARCH_ENABLED \"yes\" }}" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name "*nextcloud-aio-elasticsearch-persistentvolumeclaim.yaml" -exec sed -i "$ a {{- end }}" \{} \;
|
||||
|
||||
chmod 777 -R ./
|
||||
|
||||
# Seems like the dir needs to match the name of the chart
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "8.2.*",
|
||||
"php": "8.3.*",
|
||||
"ext-json": "*",
|
||||
"ext-sodium": "*",
|
||||
"ext-curl": "*",
|
||||
@@ -22,6 +22,6 @@
|
||||
"psalm": "psalm --threads=1",
|
||||
"psalm:update-baseline": "psalm --threads=1 --update-baseline",
|
||||
"lint": "find . -name \\*.php -not -path './vendor/*' -exec php -l {} \\;",
|
||||
"php-deprecation-detector": "find . -name \\*.php -not -path './vendor/*' -exec phpdd scan {} -n -t 8.2 \\;"
|
||||
"php-deprecation-detector": "find . -name \\*.php -not -path './vendor/*' -exec phpdd scan {} -n -t 8.3 \\;"
|
||||
}
|
||||
}
|
||||
|
||||
28
php/composer.lock
generated
28
php/composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "b0074cfbf6b5cde6d6d2207286ad2e85",
|
||||
"content-hash": "4dcdd3b6df3f2041895d4db74bd45102",
|
||||
"packages": [
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
@@ -1148,16 +1148,16 @@
|
||||
},
|
||||
{
|
||||
"name": "slim/slim",
|
||||
"version": "4.12.0",
|
||||
"version": "4.13.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/slimphp/Slim.git",
|
||||
"reference": "e9e99c2b24398b967841c6c4c3048622cc7e2b18"
|
||||
"reference": "038fd5713d5a41636fdff0e8dcceedecdd17fc17"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/slimphp/Slim/zipball/e9e99c2b24398b967841c6c4c3048622cc7e2b18",
|
||||
"reference": "e9e99c2b24398b967841c6c4c3048622cc7e2b18",
|
||||
"url": "https://api.github.com/repos/slimphp/Slim/zipball/038fd5713d5a41636fdff0e8dcceedecdd17fc17",
|
||||
"reference": "038fd5713d5a41636fdff0e8dcceedecdd17fc17",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1166,7 +1166,7 @@
|
||||
"php": "^7.4 || ^8.0",
|
||||
"psr/container": "^1.0 || ^2.0",
|
||||
"psr/http-factory": "^1.0",
|
||||
"psr/http-message": "^1.1",
|
||||
"psr/http-message": "^1.1 || ^2.0",
|
||||
"psr/http-server-handler": "^1.0",
|
||||
"psr/http-server-middleware": "^1.0",
|
||||
"psr/log": "^1.1 || ^2.0 || ^3.0"
|
||||
@@ -1174,19 +1174,19 @@
|
||||
"require-dev": {
|
||||
"adriansuter/php-autoload-override": "^1.4",
|
||||
"ext-simplexml": "*",
|
||||
"guzzlehttp/psr7": "^2.5",
|
||||
"guzzlehttp/psr7": "^2.6",
|
||||
"httpsoft/http-message": "^1.1",
|
||||
"httpsoft/http-server-request": "^1.1",
|
||||
"laminas/laminas-diactoros": "^2.17",
|
||||
"laminas/laminas-diactoros": "^2.17 || ^3",
|
||||
"nyholm/psr7": "^1.8",
|
||||
"nyholm/psr7-server": "^1.0",
|
||||
"phpspec/prophecy": "^1.17",
|
||||
"phpspec/prophecy-phpunit": "^2.0",
|
||||
"nyholm/psr7-server": "^1.1",
|
||||
"phpspec/prophecy": "^1.19",
|
||||
"phpspec/prophecy-phpunit": "^2.1",
|
||||
"phpstan/phpstan": "^1.10",
|
||||
"phpunit/phpunit": "^9.6",
|
||||
"slim/http": "^1.3",
|
||||
"slim/psr7": "^1.6",
|
||||
"squizlabs/php_codesniffer": "^3.7"
|
||||
"squizlabs/php_codesniffer": "^3.9"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-simplexml": "Needed to support XML format in BodyParsingMiddleware",
|
||||
@@ -1259,7 +1259,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-07-23T04:54:29+00:00"
|
||||
"time": "2024-03-03T21:25:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "slim/twig-view",
|
||||
@@ -1788,7 +1788,7 @@
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": "8.2.*",
|
||||
"php": "8.3.*",
|
||||
"ext-json": "*",
|
||||
"ext-sodium": "*",
|
||||
"ext-curl": "*",
|
||||
|
||||
@@ -31,6 +31,13 @@
|
||||
"pattern": "^[A-Z_]+$"
|
||||
}
|
||||
},
|
||||
"cap_drop": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"pattern": "^[A-Z_]+$"
|
||||
}
|
||||
},
|
||||
"depends_on": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
|
||||
@@ -65,6 +65,9 @@
|
||||
"/usr/local/apache2/logs",
|
||||
"/tmp",
|
||||
"/home/www-data"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -112,6 +115,9 @@
|
||||
"read_only": true,
|
||||
"tmpfs": [
|
||||
"/var/run/postgresql"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -140,7 +146,8 @@
|
||||
"NEXTCLOUD_PASSWORD",
|
||||
"TURN_SECRET",
|
||||
"SIGNALING_SECRET",
|
||||
"FULLTEXTSEARCH_PASSWORD"
|
||||
"FULLTEXTSEARCH_PASSWORD",
|
||||
"IMAGINARY_SECRET"
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
@@ -214,7 +221,8 @@
|
||||
"APACHE_PORT=%APACHE_PORT%",
|
||||
"APACHE_IP_BINDING=%APACHE_IP_BINDING%",
|
||||
"ADDITIONAL_TRUSTED_PROXY=%CADDY_IP_ADDRESS%",
|
||||
"THIS_IS_AIO=true"
|
||||
"THIS_IS_AIO=true",
|
||||
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
|
||||
],
|
||||
"stop_grace_period": 600,
|
||||
"restart": "unless-stopped",
|
||||
@@ -226,6 +234,9 @@
|
||||
],
|
||||
"networks": [
|
||||
"nextcloud-aio"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -263,7 +274,10 @@
|
||||
"networks": [
|
||||
"nextcloud-aio"
|
||||
],
|
||||
"read_only": true
|
||||
"read_only": true,
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
"container_name": "nextcloud-aio-redis",
|
||||
@@ -295,7 +309,10 @@
|
||||
"networks": [
|
||||
"nextcloud-aio"
|
||||
],
|
||||
"read_only": true
|
||||
"read_only": true,
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
"container_name": "nextcloud-aio-collabora",
|
||||
@@ -328,6 +345,9 @@
|
||||
],
|
||||
"cap_add": [
|
||||
"MKNOD"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -380,6 +400,9 @@
|
||||
"/opt/eturnal/run",
|
||||
"/conf",
|
||||
"/tmp"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -414,6 +437,9 @@
|
||||
"tmpfs": [
|
||||
"/tmp",
|
||||
"/conf"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -472,6 +498,9 @@
|
||||
"cap_add": [
|
||||
"SYS_ADMIN"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
],
|
||||
"apparmor_unconfined": true,
|
||||
"read_only": true,
|
||||
"tmpfs": [
|
||||
@@ -494,7 +523,10 @@
|
||||
"writeable": false
|
||||
}
|
||||
],
|
||||
"read_only": true
|
||||
"read_only": true,
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
"container_name": "nextcloud-aio-domaincheck",
|
||||
@@ -521,6 +553,9 @@
|
||||
"tmpfs": [
|
||||
"/etc/lighttpd",
|
||||
"/var/www/domaincheck"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -556,6 +591,9 @@
|
||||
"/var/lock",
|
||||
"/var/log/clamav",
|
||||
"/tmp"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -594,6 +632,9 @@
|
||||
],
|
||||
"networks": [
|
||||
"nextcloud-aio"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -607,12 +648,16 @@
|
||||
],
|
||||
"internal_port": "9000",
|
||||
"environment": [
|
||||
"TZ=%TIMEZONE%"
|
||||
"TZ=%TIMEZONE%",
|
||||
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
|
||||
],
|
||||
"restart": "unless-stopped",
|
||||
"cap_add": [
|
||||
"SYS_NICE"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
],
|
||||
"profiles": [
|
||||
"imaginary"
|
||||
],
|
||||
@@ -622,6 +667,9 @@
|
||||
"read_only": true,
|
||||
"tmpfs": [
|
||||
"/tmp"
|
||||
],
|
||||
"secrets": [
|
||||
"IMAGINARY_SECRET"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -662,6 +710,9 @@
|
||||
],
|
||||
"secrets": [
|
||||
"FULLTEXTSEARCH_PASSWORD"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -685,6 +736,9 @@
|
||||
"read_only": true,
|
||||
"tmpfs": [
|
||||
"/tmp"
|
||||
],
|
||||
"cap_drop": [
|
||||
"NET_RAW"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<files psalm-version="5.21.1@8c473e2437be8b6a8fd8f630f0f11a16b114c494"/>
|
||||
<files psalm-version="5.22.2@d768d914152dbbf3486c36398802f74e80cfde48"/>
|
||||
|
||||
@@ -48,6 +48,15 @@ class DockerController
|
||||
}
|
||||
}
|
||||
|
||||
// Check if docker hub is reachable in order to make sure that we do not try to pull an image if it is down
|
||||
// and try to mitigate issues that are arising due to that
|
||||
if ($pullImage) {
|
||||
if (!$this->dockerActionManager->isDockerHubReachable($container)) {
|
||||
$pullImage = false;
|
||||
error_log('Not pulling the image for the ' . $container->GetContainerName() . ' container because docker hub does not seem to be reachable.');
|
||||
}
|
||||
}
|
||||
|
||||
$this->dockerActionManager->DeleteContainer($container);
|
||||
$this->dockerActionManager->CreateVolumes($container);
|
||||
if ($pullImage) {
|
||||
|
||||
@@ -186,7 +186,11 @@ class DockerActionManager
|
||||
|
||||
public function StartContainer(Container $container) : void {
|
||||
$url = $this->BuildApiUrl(sprintf('containers/%s/start', urlencode($container->GetIdentifier())));
|
||||
$this->guzzleClient->post($url);
|
||||
try {
|
||||
$this->guzzleClient->post($url);
|
||||
} catch (RequestException $e) {
|
||||
throw new \Exception("Could not start container " . $container->GetIdentifier() . ": " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function CreateVolumes(Container $container): void
|
||||
@@ -562,6 +566,9 @@ class DockerActionManager
|
||||
}
|
||||
$mounts[] = ["Type" => "bind", "Source" => $volume->name, "Target" => $volume->mountPoint, "ReadOnly" => !$volume->isWritable, "BindOptions" => [ "Propagation" => "rshared"]];
|
||||
}
|
||||
// Special things for the caddy community container
|
||||
} elseif ($container->GetIdentifier() === 'nextcloud-aio-caddy') {
|
||||
$requestBody['HostConfig']['ExtraHosts'] = ['host.docker.internal:host-gateway'];
|
||||
}
|
||||
|
||||
if (count($mounts) > 0) {
|
||||
@@ -578,11 +585,26 @@ class DockerActionManager
|
||||
]
|
||||
);
|
||||
} catch (RequestException $e) {
|
||||
throw new \Exception("Could not start container " . $container->GetIdentifier() . ": " . $e->getMessage());
|
||||
throw new \Exception("Could not create container " . $container->GetIdentifier() . ": " . $e->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function isDockerHubReachable(Container $container) : bool {
|
||||
$tag = $container->GetImageTag();
|
||||
if ($tag === '%AIO_CHANNEL%') {
|
||||
$tag = $this->GetCurrentChannel();
|
||||
}
|
||||
|
||||
$remoteDigest = $this->dockerHubManager->GetLatestDigestOfTag($container->GetContainerName(), $tag);
|
||||
|
||||
if ($remoteDigest === null) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public function PullImage(Container $container) : void
|
||||
{
|
||||
$imageName = $this->BuildImageName($container);
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</header>
|
||||
|
||||
<div class="content">
|
||||
<h1>Nextcloud AIO v7.12.1</h1>
|
||||
<h1>Nextcloud AIO v8.0.0</h1>
|
||||
|
||||
{# Add 2nd tab warning #}
|
||||
<script type="text/javascript" src="second-tab-warning.js"></script>
|
||||
@@ -28,7 +28,7 @@
|
||||
{% set isBackupOrRestoreRunning = false %}
|
||||
{% set isApacheStarting = false %}
|
||||
{# Setting newMajorVersion to '' will hide corresponding options/elements, can be set to an integer like 26 in order to show corresponding elements. If set, also increase installLatestMajor in https://github.com/nextcloud/all-in-one/blob/main/php/src/Controller/DockerController.php #}
|
||||
{% set newMajorVersion = 28 %}
|
||||
{% set newMajorVersion = '' %}
|
||||
|
||||
{% if is_backup_container_running == true %}
|
||||
{% if borg_backup_mode == 'backup' or borg_backup_mode == 'restore' %}
|
||||
|
||||
11
readme.md
11
readme.md
@@ -103,7 +103,7 @@ The following instructions are meant for installations without a web server or r
|
||||
<summary>Explanation of the command</summary>
|
||||
|
||||
- `sudo docker run` This command spins up a new docker container. Docker commands can optionally be used without `sudo` if the user is added to the docker group (this is not the same as docker rootless, see FAQ below).
|
||||
- `--init` This option makes sure that no zombie-processes are created, ever. See https://docs.docker.com/engine/reference/run/#specify-an-init-process
|
||||
- `--init` This option makes sure that no zombie-processes are created, ever. See [the Docker documentation](https://docs.docker.com/reference/cli/docker/container/run/#init).
|
||||
- `--sig-proxy=false` This option allows to exit the container shell that gets attached automatically when using `docker run` by using `[CTRL] + [C]` without shutting down the container.
|
||||
- `--name nextcloud-aio-mastercontainer` This is the name of the container. This line is not allowed to be changed, since mastercontainer updates would fail.
|
||||
- `--restart always` This is the "restart policy". `always` means that the container should always get started with the Docker daemon. See the Docker documentation for further detail about restart policies: https://docs.docker.com/config/containers/start-containers-automatically/
|
||||
@@ -688,6 +688,15 @@ After you are done modifying/adding/deleting files/folders, don't forget to appl
|
||||
You can move the whole docker library and all its files including all Nextcloud AIO files and folders to a separate drive by first mounting the drive in the host OS (NTFS is not supported and ext4 is recommended as FS) and then following this tutorial: https://www.guguweb.com/2019/02/07/how-to-move-docker-data-directory-to-another-location-on-ubuntu/<br>
|
||||
(Of course docker needs to be installed first for this to work.)
|
||||
|
||||
⚠️ If you encounter errors from richdocuments in your Nextcloud logs, check in your Collabora container if the message "Capabilities are not set for the coolforkit program." appears. If so, follow these steps:
|
||||
|
||||
1. Stop all the containers from the AIO Interface.
|
||||
2. Go to your terminal and delete the Collabora container (`docker rm nextcloud-aio-collabora`) AND the Collabora image (`docker image rm nextcloud/aio-collabora`).
|
||||
3. You might also want to prune your Docker (`docker system prune`) (no data will be lost).
|
||||
4. Restart your containers from the AIO Interface.
|
||||
|
||||
This should solve the problem.
|
||||
|
||||
### 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user