Compare commits

...

13 Commits

Author SHA1 Message Date
Simon L
9a9d83825a Merge pull request #2626 from nextcloud/enh/noid/update-manual-conf
manual-install - reorder example.conf and list todo values last
2023-05-30 19:37:53 +02:00
Simon L
0ea456ace1 fix SC
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-30 19:36:19 +02:00
Simon L
e61b55ceab manual-install - reorder example.conf and list todo values last
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-30 19:34:07 +02:00
Simon L
0e9d9ac215 increase to 6.0.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-30 17:41:13 +02:00
Simon L
a4ad1bfe9a increase aio app version to 0.4.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-30 16:44:43 +02:00
Simon L
bd550313bd print out borg_prune_opts
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-30 16:25:24 +02:00
Simon L
28b1e249a8 Merge pull request #2621 from nextcloud/enh/noid/rework-getbackupvolumes
rework getbackupvolumes and getallbackupvolumes to be a bit more easy…
2023-05-30 15:02:59 +02:00
Simon L
0b50fbd7f1 Merge pull request #2497 from nextcloud/nextcloud-dockerfile
optimize nextcloud Dockerfile
2023-05-30 13:01:24 +02:00
Simon L
e2dd2f8fcf rework getbackupvolumes and getallbackupvolumes to be a bit more easy to read and understand
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-30 12:42:29 +02:00
Simon L
c854e68188 fix build
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-30 12:22:47 +02:00
Simon L
675de94bcf adjust review
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-30 12:00:20 +02:00
Simon L
d18b58d2a1 re-order some things
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-30 11:50:42 +02:00
Zoey
c50132a27a optimize nextcloud Dockerfile
Signed-off-by: Zoey <zoey@z0ey.de>
2023-05-30 11:50:23 +02:00
6 changed files with 64 additions and 100 deletions

View File

@@ -167,9 +167,8 @@ if [ "$BORG_MODE" = backup ]; then
rm -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/skip.update"
# Prune options
set -x
read -ra BORG_PRUNE_OPTS <<< "$BORG_RETENTION_POLICY"
set +x
echo "BORG_PRUNE_OPTS are ${BORG_PRUNE_OPTS[*]}"
# Prune archives
echo "Pruning the archives..."

View File

@@ -1,6 +1,19 @@
# From https://github.com/nextcloud/docker/blob/master/23/fpm-alpine/Dockerfile
FROM php:8.1.19-fpm-alpine3.17
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
ENV PHP_MAX_TIME 3600
ENV NEXTCLOUD_VERSION 26.0.2
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
# Custom: change id of www-data user as it needs to be the same like on old installations
RUN set -ex; \
apk add --no-cache shadow; \
@@ -8,22 +21,14 @@ RUN set -ex; \
groupmod -g 333 xfs; \
usermod -u 333 -g 333 xfs; \
addgroup -g 33 -S www-data; \
adduser -u 33 -D -S -G www-data www-data
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
adduser -u 33 -D -S -G www-data www-data; \
\
# entrypoint.sh and cron.sh dependencies
apk add --no-cache \
rsync \
;
; \
# install the PHP extensions we need
# see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
ENV PHP_MAX_TIME 3600
RUN set -ex; \
\
apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
autoconf \
@@ -80,11 +85,11 @@ RUN set -ex; \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps
apk del .build-deps; \
\
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/server_tuning.html#enable-php-opcache
RUN { \
{ \
echo 'opcache.interned_strings_buffer=32'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=60'; \
@@ -102,15 +107,10 @@ RUN { \
echo 'max_input_time=${PHP_MAX_TIME}'; \
} > /usr/local/etc/php/conf.d/nextcloud.ini; \
\
mkdir /var/www/data; \
mkdir -p /var/www/data; \
chown -R www-data:root /var/www; \
chmod -R g=u /var/www
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 26.0.2
RUN set -ex; \
chmod -R g=u /var/www; \
\
apk add --no-cache --virtual .fetch-deps \
bzip2 \
gnupg \
@@ -130,27 +130,18 @@ RUN set -ex; \
mkdir -p /usr/src/nextcloud/data; \
mkdir -p /usr/src/nextcloud/custom_apps; \
chmod +x /usr/src/nextcloud/occ; \
apk del .fetch-deps
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/
ENTRYPOINT ["/entrypoint.sh"]
CMD ["php-fpm"]
# Template from https://github.com/nextcloud/docker/blob/master/.examples/dockerfiles/full/fpm-alpine/Dockerfile
RUN set -ex; \
mkdir -p /usr/src/nextcloud/config; \
mv /*.php /usr/src/nextcloud/config/; \
apk del .fetch-deps; \
\
# Template from https://github.com/nextcloud/docker/blob/master/.examples/dockerfiles/full/fpm-alpine/Dockerfile
apk add --no-cache \
ffmpeg \
procps \
samba-client \
supervisor \
# libreoffice \
;
RUN set -ex; \
; \
\
apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
@@ -178,21 +169,12 @@ RUN set -ex; \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps
RUN mkdir -p \
apk del .build-deps; \
\
mkdir -p \
/var/log/supervisord \
/var/run/supervisord \
;
COPY supervisord.conf /
ENV NEXTCLOUD_UPDATE=1
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
# Custom:
RUN set -ex; \
; \
\
apk add --no-cache \
bash \
@@ -206,60 +188,38 @@ RUN set -ex; \
sudo \
grep \
nodejs \
coreutils;
RUN set -ex; \
coreutils; \
\
grep -q '^pm = dynamic' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm = dynamic/pm = ondemand/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.max_children =.*/pm.max_children = 80/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.start_servers =.*/pm.start_servers = 2/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.min_spare_servers =.*/pm.min_spare_servers = 1/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.max_spare_servers =.*/pm.max_spare_servers = 3/' /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
RUN set -ex; \
sed -i 's|access.log = /proc/self/fd/2|access.log = /proc/self/fd/1|' /usr/local/etc/php-fpm.d/docker.conf; \
\
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/
RUN set -ex; \
cp -r ./app/* /usr/src/nextcloud/apps/nextcloud-aio/; \
\
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 && \
rm -r /usr/src/nextcloud/apps/updatenotification
COPY start.sh /
COPY notify.sh /
COPY notify-all.sh /
RUN set -ex; \
chmod +x /start.sh && \
chmod +x /entrypoint.sh && \
chmod +r /upgrade.exclude && \
chmod +x /cron.sh && \
chmod +x /notify.sh && \
chmod +x /notify-all.sh && \
chmod +x /run-exec-commands.sh && \
chmod +x /healthcheck.sh
RUN set -ex; \
mkdir /mnt/ncdata; \
chown www-data:www-data /mnt/ncdata;
VOLUME /mnt/ncdata
RUN set -ex; \
rm -r /usr/src/nextcloud/apps/updatenotification; \
\
mkdir -p /nc-updater; \
chown -R www-data:www-data /nc-updater; \
chmod -R 770 /nc-updater
chmod -R 770 /nc-updater; \
\
# Give root a random password
RUN echo "root:$(openssl rand -base64 12)" | chpasswd
echo "root:$(openssl rand -base64 12)" | chpasswd
USER root
ENTRYPOINT ["/start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD sudo -E -u www-data bash /healthcheck.sh
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -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.3.0</version>
<version>0.4.0</version>
<licence>agpl</licence>
<author>Azul</author>
<namespace>AllInOne</namespace>

View File

@@ -89,6 +89,16 @@ sed -i 's|INSTALL_LATEST_MAJOR=|INSTALL_LATEST_MAJOR=no # Setting this to
sed -i 's|=$|= # TODO! This needs to be a unique and good password!|' sample.conf
echo 'IPV6_NETWORK=fd12:3456:789a:2::/64 # IPv6 subnet to use' >> sample.conf
grep '# TODO!' sample.conf > todo.conf
grep -v '# TODO!\|_ENABLED' sample.conf > temp.conf
grep '_ENABLED' sample.conf > enabled.conf
cat todo.conf > sample.conf
# shellcheck disable=SC2129
echo '' >> sample.conf
cat enabled.conf >> sample.conf
echo '' >> sample.conf
cat temp.conf >> sample.conf
rm todo.conf temp.conf enabled.conf
cat sample.conf
OUTPUT="$(cat containers.yml)"

View File

@@ -514,29 +514,24 @@ class DockerActionManager
}
}
private function getBackupVolumes(string $id) : array
private function getBackupVolumes(string $id) : string
{
$container = $this->containerDefinitionFetcher->GetContainerById($id);
$backupVolumes = $container->GetBackupVolumes();
$backupVolumes = '';
foreach ($container->GetBackupVolumes() as $backupVolume) {
$backupVolumes .= $backupVolume . ' ';
}
foreach ($container->GetDependsOn() as $dependency) {
$backupVolumes[] = $this->getBackupVolumes($dependency);
$backupVolumes .= $this->getBackupVolumes($dependency);
}
return $backupVolumes;
}
private function getAllBackupVolumes() : array {
$id = 'nextcloud-aio-apache';
$backupVolumesArray = $this->getBackupVolumes($id);
// Flatten array
$backupVolumesArrayFlat = iterator_to_array(
new \RecursiveIteratorIterator(
new \RecursiveArrayIterator($backupVolumesArray)
),
$use_keys = false
);
return array_unique($backupVolumesArrayFlat);
$backupVolumesArray = explode(' ', $this->getBackupVolumes($id));
return array_unique($backupVolumesArray);
}
private function GetNextcloudExecCommands(string $id) : string

View File

@@ -16,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v5.2.2</h1>
<h1>Nextcloud AIO v6.0.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>