mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-05-21 19:00:33 +00:00
Compare commits
39 Commits
v11.8.0
...
Anvil5465-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65932affdc | ||
|
|
cfec618f36 | ||
|
|
4df0b05707 | ||
|
|
90404fbbf1 | ||
|
|
fd3627baca | ||
|
|
95161cf486 | ||
|
|
0ab32770c7 | ||
|
|
a65580096e | ||
|
|
40ea376f7f | ||
|
|
66daa4487d | ||
|
|
b70cb57027 | ||
|
|
5f1380ff4e | ||
|
|
d52b34644b | ||
|
|
f121855dc5 | ||
|
|
76ed52c68f | ||
|
|
5e3d8df19b | ||
|
|
9b6c1bced1 | ||
|
|
68c006b8c6 | ||
|
|
e67f391581 | ||
|
|
1ad8fb5cfb | ||
|
|
d66ea5b9b9 | ||
|
|
30cb49707b | ||
|
|
9b8e0a839d | ||
|
|
44426d5898 | ||
|
|
73179bb43c | ||
|
|
d978493978 | ||
|
|
07cc588eb3 | ||
|
|
a6b01ecfe0 | ||
|
|
e77ed84641 | ||
|
|
aee3b05b6a | ||
|
|
39c43c5c1d | ||
|
|
05237e5d51 | ||
|
|
766d659e13 | ||
|
|
fd6f57e618 | ||
|
|
1172b74b11 | ||
|
|
715d84b34b | ||
|
|
7f54b8258d | ||
|
|
7ea3fc91a9 | ||
|
|
4f0665978f |
7
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
7
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
@@ -6,10 +6,9 @@ labels: 0. Needs triage
|
||||
|
||||
<!---
|
||||
- Before submitting a bug report, please read through the documentation available at https://github.com/nextcloud/all-in-one#faq
|
||||
- Additional documentation is available here: https://github.com/nextcloud/all-in-one/discussions/categories/wiki
|
||||
- You should also read through existing questions and their answer here: https://github.com/nextcloud/all-in-one/discussions/categories/questions
|
||||
- Additional threads can be found here: https://help.nextcloud.com/tag/aio
|
||||
- Existing feature requests are listed here: https://github.com/nextcloud/all-in-one/discussions/categories/ideas
|
||||
- If you use Cloudflare Tunnel or Cloudflare Proxy, see https://github.com/nextcloud/all-in-one#notes-on-cloudflare-proxytunnel for known issues/limitations and workarounds.
|
||||
- For issues with Collabora or Talk, make sure to follow https://github.com/nextcloud/all-in-one/discussions/1358. It may already resolve your issue and makes it easier to help you.
|
||||
|
||||
--->
|
||||
|
||||
<!--- Please fill out the whole template below -->
|
||||
|
||||
7
.github/ISSUE_TEMPLATE/config.yml
vendored
7
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -3,12 +3,15 @@ contact_links:
|
||||
- name: 📘 Documentation on Nextcloud AIO
|
||||
url: https://github.com/nextcloud/all-in-one#faq
|
||||
about: Please read the docs first before submitting any report or request!
|
||||
- name: ⛑️ Questions and support
|
||||
- name: ⛑️ General questions and support
|
||||
url: https://help.nextcloud.com/tag/aio
|
||||
about: For questions, support and help
|
||||
about: For general questions, support and help
|
||||
- name: 💡 Suggest a new feature or discuss one
|
||||
url: https://github.com/nextcloud/all-in-one/discussions/categories/ideas
|
||||
about: For new feature requests and discussion of existing ones
|
||||
- name: ❓ Questions about Nextcloud AIO
|
||||
url: https://github.com/nextcloud/all-in-one/discussions/categories/questions
|
||||
about: For questions specifically about AIO
|
||||
- name: 💼 Nextcloud Enterprise
|
||||
url: https://portal.nextcloud.com/
|
||||
about: If you are a Nextcloud Enterprise customer, or need Professional support, so it can be resolved directly by our dedicated engineers more quickly
|
||||
|
||||
2
.github/workflows/codespell.yml
vendored
2
.github/workflows/codespell.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
- name: Check spelling
|
||||
uses: codespell-project/actions-codespell@406322ec52dd7b488e48c1c4b82e2a8b3a1bf630 # v2
|
||||
with:
|
||||
|
||||
2
.github/workflows/community-containers.yml
vendored
2
.github/workflows/community-containers.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
- name: Validate structure
|
||||
run: |
|
||||
CONTAINERS="$(find ./community-containers -mindepth 1 -maxdepth 1 -type d)"
|
||||
|
||||
4
.github/workflows/dependency-updates.yml
vendored
4
.github/workflows/dependency-updates.yml
vendored
@@ -10,8 +10,8 @@ jobs:
|
||||
name: Run dependency update script
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2
|
||||
- uses: actions/checkout@v4
|
||||
- uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
|
||||
with:
|
||||
php-version: 8.4
|
||||
extensions: apcu
|
||||
|
||||
2
.github/workflows/docker-lint.yml
vendored
2
.github/workflows/docker-lint.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install hadolint
|
||||
run: |
|
||||
|
||||
6
.github/workflows/helm-release.yml
vendored
6
.github/workflows/helm-release.yml
vendored
@@ -13,10 +13,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Turnstyle
|
||||
uses: softprops/turnstyle@bff843227669a0c34c7f791ebd53a4b7c2a3febd # v2
|
||||
uses: softprops/turnstyle@807f6009e7cee5c2c9faa41ccef03a8bb24b06ab # v2
|
||||
with:
|
||||
continue-after-seconds: 180
|
||||
env:
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
|
||||
# See https://github.com/helm/chart-releaser-action/issues/6
|
||||
- name: Set up Helm
|
||||
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4
|
||||
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4
|
||||
with:
|
||||
version: v3.6.3
|
||||
|
||||
|
||||
2
.github/workflows/imaginary-update.yml
vendored
2
.github/workflows/imaginary-update.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
name: update to latest imaginary commit on master branch
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
- name: Run imaginary-update
|
||||
run: |
|
||||
# Imaginary
|
||||
|
||||
2
.github/workflows/json-validator.yml
vendored
2
.github/workflows/json-validator.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
- name: Validate Json
|
||||
run: |
|
||||
sudo apt-get update
|
||||
|
||||
4
.github/workflows/lint-helm.yml
vendored
4
.github/workflows/lint-helm.yml
vendored
@@ -11,12 +11,12 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4
|
||||
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4
|
||||
with:
|
||||
version: v3.11.1
|
||||
|
||||
|
||||
4
.github/workflows/lint-php.yml
vendored
4
.github/workflows/lint-php.yml
vendored
@@ -33,10 +33,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.1.1
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2
|
||||
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
coverage: none
|
||||
|
||||
2
.github/workflows/nextcloud-update.yml
vendored
2
.github/workflows/nextcloud-update.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
name: Run nextcloud-update script
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
- name: Run nextcloud-update script
|
||||
run: |
|
||||
# Inspired by https://github.com/nextcloud/docker/blob/master/update.sh
|
||||
|
||||
@@ -16,9 +16,9 @@ jobs:
|
||||
name: PHP Deprecation Detector
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2
|
||||
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
|
||||
with:
|
||||
php-version: 8.4
|
||||
extensions: apcu
|
||||
|
||||
22
.github/workflows/playwright.yml
vendored
22
.github/workflows/playwright.yml
vendored
@@ -13,9 +13,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v5
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
|
||||
@@ -45,14 +45,7 @@ jobs:
|
||||
sleep 10
|
||||
|
||||
- name: Run Playwright tests for initial setup
|
||||
run: |
|
||||
cd php/tests
|
||||
export DEBUG=pw:api
|
||||
if ! npx playwright test tests/initial-setup.spec.js; then
|
||||
docker logs nextcloud-aio-mastercontainer
|
||||
docker logs nextcloud-aio-borgbackup
|
||||
exit 1
|
||||
fi
|
||||
run: cd php/tests && DEBUG=pw:api npx playwright test tests/initial-setup.spec.js
|
||||
|
||||
- name: Start fresh development server
|
||||
run: |
|
||||
@@ -73,14 +66,7 @@ jobs:
|
||||
sleep 10
|
||||
|
||||
- name: Run Playwright tests for backup restore
|
||||
run: |
|
||||
cd php/tests
|
||||
export DEBUG=pw:api
|
||||
if ! npx playwright test tests/restore-instance.spec.js; then
|
||||
docker logs nextcloud-aio-mastercontainer
|
||||
docker logs nextcloud-aio-borgbackup
|
||||
exit 1
|
||||
fi
|
||||
run: cd php/tests && DEBUG=pw:api npx playwright test tests/restore-instance.spec.js
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: ${{ !cancelled() }}
|
||||
|
||||
4
.github/workflows/psalm-update-baseline.yml
vendored
4
.github/workflows/psalm-update-baseline.yml
vendored
@@ -10,10 +10,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2
|
||||
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
|
||||
with:
|
||||
php-version: 8.4
|
||||
extensions: apcu
|
||||
|
||||
4
.github/workflows/psalm.yml
vendored
4
.github/workflows/psalm.yml
vendored
@@ -26,10 +26,10 @@ jobs:
|
||||
name: static-psalm-analysis
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.1.1
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2
|
||||
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
|
||||
with:
|
||||
php-version: 8.4
|
||||
extensions: apcu
|
||||
|
||||
2
.github/workflows/shellcheck.yml
vendored
2
.github/workflows/shellcheck.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
name: Check Shell
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
- name: Run Shellcheck
|
||||
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # v2.0.0
|
||||
with:
|
||||
|
||||
2
.github/workflows/talk.yml
vendored
2
.github/workflows/talk.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
name: update talk
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
- name: Run talk-container-update
|
||||
run: |
|
||||
# Recording
|
||||
|
||||
4
.github/workflows/twig-lint.yml
vendored
4
.github/workflows/twig-lint.yml
vendored
@@ -24,10 +24,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2
|
||||
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
|
||||
with:
|
||||
php-version: 8.4
|
||||
extensions: apcu
|
||||
|
||||
2
.github/workflows/update-copyright.yml
vendored
2
.github/workflows/update-copyright.yml
vendored
@@ -8,4 +8,4 @@ jobs:
|
||||
name: update copyright
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
2
.github/workflows/update-helm.yml
vendored
2
.github/workflows/update-helm.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
- name: update helm chart
|
||||
run: |
|
||||
set -x
|
||||
|
||||
2
.github/workflows/update-yaml.yml
vendored
2
.github/workflows/update-yaml.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v4
|
||||
- name: update yaml files
|
||||
run: |
|
||||
sudo bash manual-install/update-yaml.sh
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM alpine:3.22.1
|
||||
FROM alpine:3.21.3
|
||||
|
||||
RUN set -ex; \
|
||||
apk upgrade --no-cache -a
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
}
|
||||
|
||||
https://{$ADDITIONAL_TRUSTED_DOMAIN}:443,
|
||||
http://{$APACHE_HOST}:23973, # For Collabora callback and WOPI requests, see containers.json
|
||||
{$PROTOCOL}://{$NC_DOMAIN}:{$APACHE_PORT} {
|
||||
header -Server
|
||||
header -X-Powered-By
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM caddy:2.10.2-alpine AS caddy
|
||||
FROM caddy:2.10.0-alpine AS caddy
|
||||
|
||||
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
|
||||
FROM httpd:2.4.65-alpine3.22
|
||||
FROM httpd:2.4.63-alpine3.21
|
||||
|
||||
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy
|
||||
|
||||
|
||||
@@ -46,9 +46,7 @@ echo "$CADDYFILE" > /tmp/Caddyfile
|
||||
|
||||
# Change the trusted_proxies in case of reverse proxies
|
||||
if [ "$APACHE_PORT" != '443' ]; then
|
||||
# Here the 100.64.0.0/10 range gets added which is the CGNAT range used by Tailscale nodes
|
||||
# See https://github.com/nextcloud/all-in-one/pull/6703 for reference
|
||||
CADDYFILE="$(sed 's|# trusted_proxies placeholder|trusted_proxies static private_ranges 100.64.0.0/10|' /tmp/Caddyfile)"
|
||||
CADDYFILE="$(sed 's|# trusted_proxies placeholder|trusted_proxies static private_ranges|' /tmp/Caddyfile)"
|
||||
else
|
||||
CADDYFILE="$(sed "s|# trusted_proxies placeholder|trusted_proxies static $IPv4_ADDRESS|" /tmp/Caddyfile)"
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM alpine:3.22.1
|
||||
FROM alpine:3.21.3
|
||||
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
||||
@@ -1,26 +1,24 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM alpine:3.22.1
|
||||
FROM alpine:3.21.3
|
||||
|
||||
RUN set -ex; \
|
||||
apk upgrade --no-cache -a; \
|
||||
apk add --no-cache tzdata clamav supervisor bash; \
|
||||
mkdir -p /var/lib/clamav /run/clamav /var/log/supervisord /var/run/supervisord; \
|
||||
mkdir -p /run/clamav /var/log/supervisord /var/run/supervisord; \
|
||||
chmod 777 -R /run/clamav /var/log/clamav /var/log/supervisord /var/run/supervisord; \
|
||||
chown -R 100:100 /var/lib/clamav; \
|
||||
sed -i "s|#\?MaxDirectoryRecursion.*|MaxDirectoryRecursion 30|g" /etc/clamav/clamd.conf; \
|
||||
sed -i "s|#\?MaxFileSize.*|MaxFileSize 2G|g" /etc/clamav/clamd.conf; \
|
||||
sed -i "s|#\?PCREMaxFileSize.*|PCREMaxFileSize aio-placeholder|g" /etc/clamav/clamd.conf; \
|
||||
sed -i "s|#\?StreamMaxLength.*|StreamMaxLength aio-placeholder|g" /etc/clamav/clamd.conf; \
|
||||
sed -i "s|#\?TCPSocket|TCPSocket|g" /etc/clamav/clamd.conf; \
|
||||
sed -i "s|^LocalSocket .*|LocalSocket /tmp/clamd.sock|g" /etc/clamav/clamd.conf
|
||||
sed -i "s|^LocalSocket .*|LocalSocket /tmp/clamd.sock|g" /etc/clamav/clamd.conf; \
|
||||
freshclam --foreground --stdout
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||
COPY --chmod=664 supervisord.conf /supervisord.conf
|
||||
|
||||
USER 100
|
||||
RUN set -ex; \
|
||||
freshclam --foreground --stdout
|
||||
VOLUME /var/lib/clamav
|
||||
ENTRYPOINT ["/start.sh"]
|
||||
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
|
||||
sed "s|aio-placeholder|$MAX_SIZE|" /etc/clamav/clamd.conf > /tmp/clamd.conf
|
||||
|
||||
# Print out clamav version for compliance reasons
|
||||
clamscan --version
|
||||
|
||||
echo "Clamav started"
|
||||
|
||||
exec "$@"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/blob/master/docker/from-packages/Dockerfile
|
||||
FROM collabora/code:25.04.5.2.1
|
||||
FROM collabora/code:25.04.2.2.1
|
||||
|
||||
USER root
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM haproxy:3.2.4-alpine
|
||||
FROM haproxy:3.2.1-alpine
|
||||
|
||||
# hadolint ignore=DL3002
|
||||
USER root
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM alpine:3.22.1
|
||||
FROM alpine:3.21.3
|
||||
RUN set -ex; \
|
||||
apk upgrade --no-cache -a; \
|
||||
apk add --no-cache bash lighttpd netcat-openbsd; \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
|
||||
FROM elasticsearch:8.19.3
|
||||
FROM elasticsearch:8.18.2
|
||||
|
||||
USER root
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM golang:1.25.1-alpine3.22 AS go
|
||||
FROM golang:1.24.4-alpine3.21 AS go
|
||||
|
||||
ENV IMAGINARY_HASH=1d4e251cfcd58ea66f8361f8721d7b8cc85002a3
|
||||
|
||||
@@ -14,7 +14,7 @@ RUN set -ex; \
|
||||
build-base; \
|
||||
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
|
||||
|
||||
FROM alpine:3.22.1
|
||||
FROM alpine:3.21.3
|
||||
RUN set -ex; \
|
||||
apk upgrade --no-cache -a; \
|
||||
apk add --no-cache \
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# Docker CLI is a requirement
|
||||
FROM docker:28.4.0-cli AS docker
|
||||
FROM docker:28.2.2-cli AS docker
|
||||
|
||||
# Caddy is a requirement
|
||||
FROM caddy:2.10.2-alpine AS caddy
|
||||
FROM caddy:2.10.0-alpine AS caddy
|
||||
|
||||
# From https://github.com/docker-library/php/blob/master/8.4/alpine3.22/fpm/Dockerfile
|
||||
FROM php:8.4.12-fpm-alpine3.22
|
||||
# From https://github.com/docker-library/php/blob/master/8.4/alpine3.21/fpm/Dockerfile
|
||||
FROM php:8.4.8-fpm-alpine3.21
|
||||
|
||||
EXPOSE 80
|
||||
EXPOSE 8080
|
||||
@@ -15,13 +15,6 @@ EXPOSE 8443
|
||||
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy
|
||||
COPY --from=docker /usr/local/bin/docker /usr/local/bin/docker
|
||||
|
||||
COPY community-containers /var/www/docker-aio/community-containers
|
||||
COPY php /var/www/docker-aio/php
|
||||
COPY --chmod=775 Containers/mastercontainer/*.sh /
|
||||
COPY --chmod=664 Containers/mastercontainer/Caddyfile /Caddyfile
|
||||
COPY --chmod=664 Containers/mastercontainer/supervisord.conf /supervisord.conf
|
||||
COPY Containers/mastercontainer/mastercontainer.conf /etc/apache2/sites-available/mastercontainer.conf
|
||||
|
||||
WORKDIR /var/www/docker-aio
|
||||
|
||||
# hadolint ignore=SC2086,DL3047,DL3003,DL3004
|
||||
@@ -49,7 +42,7 @@ RUN set -ex; \
|
||||
apk add --no-cache --virtual .build-deps \
|
||||
autoconf \
|
||||
build-base; \
|
||||
pecl install APCu-5.1.27; \
|
||||
pecl install APCu-5.1.24; \
|
||||
docker-php-ext-enable apcu; \
|
||||
rm -r /tmp/pear; \
|
||||
runDeps="$( \
|
||||
@@ -71,6 +64,8 @@ RUN set -ex; \
|
||||
wget https://getcomposer.org/installer -O - | php -- --install-dir=/usr/local/bin --filename=composer; \
|
||||
chmod +x /usr/local/bin/composer; \
|
||||
cd /var/www/docker-aio; \
|
||||
git clone https://github.com/nextcloud-releases/all-in-one.git --depth 1 .; \
|
||||
find ./ -maxdepth 1 -mindepth 1 -not -path ./php -not -path ./community-containers -exec rm -r {} \; ; \
|
||||
rm -r ./php/tests; \
|
||||
chown www-data:www-data -R /var/www/docker-aio; \
|
||||
cd php; \
|
||||
@@ -122,6 +117,11 @@ RUN set -ex; \
|
||||
mkdir /var/log/supervisord; \
|
||||
mkdir /var/run/supervisord;
|
||||
|
||||
COPY --chmod=775 *.sh /
|
||||
COPY --chmod=664 Caddyfile /Caddyfile
|
||||
COPY --chmod=664 supervisord.conf /supervisord.conf
|
||||
COPY mastercontainer.conf /etc/apache2/sites-available/mastercontainer.conf
|
||||
|
||||
LABEL org.label-schema.vendor="Nextcloud"
|
||||
|
||||
# hadolint ignore=DL3002
|
||||
|
||||
@@ -2,13 +2,6 @@
|
||||
|
||||
echo "Daily backup script has started"
|
||||
|
||||
# Check if initial configuration has been done, otherwise this script should do nothing.
|
||||
CONFIG_FILE=/mnt/docker-aio-config/data/configuration.json
|
||||
if ! [ -f "$CONFIG_FILE" ] || ! grep -q "wasStartButtonClicked.*1" "$CONFIG_FILE"; then
|
||||
echo "Initial configuration via AIO interface not done yet. Exiting..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Daily backup and backup check cannot be run at the same time
|
||||
if [ "$DAILY_BACKUP" = 1 ] && [ "$CHECK_BACKUP" = 1 ]; then
|
||||
echo "Daily backup and backup check cannot be run at the same time. Exiting..."
|
||||
@@ -64,12 +57,6 @@ if [ "$AUTOMATIC_UPDATES" = 1 ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
# Update container images to reduce downtime later on
|
||||
if [ "$AUTOMATIC_UPDATES" = 1 ]; then
|
||||
echo "Updating container images..."
|
||||
sudo -u www-data php /var/www/docker-aio/php/src/Cron/PullContainerImages.php
|
||||
fi
|
||||
|
||||
# Stop containers if required
|
||||
# shellcheck disable=SC2235
|
||||
if [ "$CHECK_BACKUP" != 1 ] && ([ "$DAILY_BACKUP" != 1 ] || [ "$STOP_CONTAINERS" = 1 ]); then
|
||||
|
||||
@@ -33,24 +33,16 @@ if [ "$*" != "" ]; then
|
||||
fi
|
||||
|
||||
# Check if socket is available and readable
|
||||
if ! [ -e "/var/run/docker.sock" ]; then
|
||||
if ! [ -a "/var/run/docker.sock" ]; then
|
||||
print_red "Docker socket is not available. Cannot continue."
|
||||
echo "Please make sure to mount the docker socket into /var/run/docker.sock inside the container!"
|
||||
echo "If you did this by purpose because you don't want the container to have access to the docker socket, see https://github.com/nextcloud/all-in-one/tree/main/manual-install."
|
||||
echo "And https://github.com/nextcloud/all-in-one/blob/main/manual-install/latest.yml"
|
||||
exit 1
|
||||
elif ! mountpoint -q "/mnt/docker-aio-config"; then
|
||||
print_red "/mnt/docker-aio-config is not a mountpoint. Cannot proceed!"
|
||||
echo "Please make sure to mount the nextcloud_aio_mastercontainer docker volume into /mnt/docker-aio-config inside the container!"
|
||||
echo "If you are on TrueNas SCALE, see https://github.com/nextcloud/all-in-one#can-i-run-aio-on-truenas-scale"
|
||||
exit 1
|
||||
elif mountpoint -q /var/www/docker-aio/php/containers.json; then
|
||||
print_red "/var/www/docker-aio/php/containers.json is a mountpoint. Cannot proceed!"
|
||||
echo "This is a not-supported customization of the mastercontainer!"
|
||||
echo "Please remove this bind-mount from the mastercontainer."
|
||||
echo "If you need to customize things, feel free to use https://github.com/nextcloud/all-in-one/tree/main/manual-install"
|
||||
echo "See https://github.com/nextcloud/all-in-one/blob/main/manual-install/latest.yml"
|
||||
exit 1
|
||||
elif ! sudo -u www-data test -r /var/run/docker.sock; then
|
||||
echo "Trying to fix docker.sock permissions internally..."
|
||||
DOCKER_GROUP=$(stat -c '%G' /var/run/docker.sock)
|
||||
@@ -277,7 +269,6 @@ if ! curl --no-progress-meter https://ghcr.io/v2/ >/dev/null; then
|
||||
echo "Most likely is something blocking access to it."
|
||||
echo "You should be able to fix this by following https://dockerlabs.collabnix.com/intermediate/networking/Configuring_DNS.html"
|
||||
echo "Another solution is using https://github.com/nextcloud/all-in-one/tree/main/manual-install"
|
||||
echo "See https://github.com/nextcloud/all-in-one/blob/main/manual-install/latest.yml"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -288,13 +279,6 @@ if [ -n "$TZ" ]; then
|
||||
# Disable exit since it seems to be by default set on unraid and we dont want to break these instances
|
||||
# exit 1
|
||||
fi
|
||||
# Check that http proxy or no_proxy variable is not set which AIO does not support
|
||||
if [ -n "$HTTP_PROXY" ] || [ -n "$http_proxy" ] || [ -n "$HTTPS_PROXY" ] || [ -n "$https_proxy" ] || [ -n "$NO_PROXY" ] || [ -n "$no_proxy" ]; then
|
||||
print_red "The environmental variable HTTP_PROXY, http_proxy, HTTPS_PROXY, https_proxy, NO_PROXY or no_proxy has been set which is not supported by AIO."
|
||||
echo "If you need this, then you should use https://github.com/nextcloud/all-in-one/tree/main/manual-install"
|
||||
echo "See https://github.com/nextcloud/all-in-one/blob/main/manual-install/latest.yml"
|
||||
exit 1
|
||||
fi
|
||||
if mountpoint -q /etc/localtime; then
|
||||
print_red "/etc/localtime has been mounted into the container which is not allowed because AIO only supports running in the default Etc/UTC timezone!"
|
||||
echo "The correct timezone can be set in the AIO interface later on!"
|
||||
@@ -382,4 +366,4 @@ caddy fmt --overwrite /Caddyfile
|
||||
chmod 777 /root
|
||||
|
||||
# Start supervisord
|
||||
exec /usr/bin/supervisord -c /supervisord.conf
|
||||
/usr/bin/supervisord -c /supervisord.conf
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM php:8.3.25-fpm-alpine3.22
|
||||
FROM php:8.3.22-fpm-alpine3.21
|
||||
|
||||
ENV PHP_MEMORY_LIMIT=512M
|
||||
ENV PHP_UPLOAD_LIMIT=16G
|
||||
@@ -8,20 +8,16 @@ ENV SOURCE_LOCATION=/usr/src/nextcloud
|
||||
ENV REDIS_DB_INDEX=0
|
||||
|
||||
# AIO settings start # Do not remove or change this line!
|
||||
ENV NEXTCLOUD_VERSION=31.0.9
|
||||
ENV NEXTCLOUD_VERSION=31.0.6
|
||||
ENV AIO_TOKEN=123456
|
||||
ENV AIO_URL=localhost
|
||||
# AIO settings end # Do not remove or change this line!
|
||||
|
||||
COPY --chmod=775 Containers/nextcloud/*.sh /
|
||||
COPY --chmod=774 Containers/nextcloud/upgrade.exclude /upgrade.exclude
|
||||
COPY Containers/nextcloud/config/*.php /
|
||||
COPY Containers/nextcloud/supervisord.conf /supervisord.conf
|
||||
|
||||
# AIO cloning start # Do not remove or change this line!
|
||||
COPY app /usr/src/nextcloud/apps/nextcloud-aio
|
||||
COPY Containers/nextcloud/root.motd /root.motd
|
||||
# AIO cloning 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
|
||||
COPY root.motd /root.motd
|
||||
|
||||
VOLUME /mnt/ncdata
|
||||
VOLUME /var/www/html
|
||||
@@ -83,7 +79,7 @@ RUN set -ex; \
|
||||
\
|
||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||
pecl install -o igbinary-3.2.16; \
|
||||
pecl install APCu-5.1.27; \
|
||||
pecl install APCu-5.1.24; \
|
||||
pecl install -D 'enable-memcached-igbinary="yes"' memcached-3.3.0; \
|
||||
pecl install -oD 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' redis-6.2.0; \
|
||||
pecl install -o imagick-3.8.0; \
|
||||
@@ -111,7 +107,7 @@ RUN set -ex; \
|
||||
} >> /usr/local/etc/php/conf.d/docker-php-ext-igbinary.ini; \
|
||||
\
|
||||
# set recommended PHP.ini settings
|
||||
# see https://docs.nextcloud.com/server/stable/admin_manual/installation/server_tuning.html#enable-php-opcache and below
|
||||
# see https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/server_tuning.html#enable-php-opcache
|
||||
{ \
|
||||
echo 'opcache.max_accelerated_files=10000'; \
|
||||
echo 'opcache.memory_consumption=256'; \
|
||||
@@ -246,7 +242,15 @@ 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; \
|
||||
\
|
||||
echo "[ -n \"\$TERM\" ] && [ -f /root.motd ] && cat /root.motd" >> /root/.bashrc; \
|
||||
# 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/; \
|
||||
echo "[ -n \"\$TERM\" ] && cat /root.motd" >> /root/.bashrc; \
|
||||
# AIO cloning end # Do not remove or change this line!
|
||||
\
|
||||
chown www-data:root -R /usr/src && \
|
||||
chmod 777 -R /usr/local/etc/php/conf.d && \
|
||||
|
||||
@@ -16,6 +16,3 @@ $CONFIG = array (
|
||||
if (getenv('APPS_ALLOWLIST')) {
|
||||
$CONFIG['appsallowlist'] = explode(" ", getenv('APPS_ALLOWLIST'));
|
||||
}
|
||||
if (getenv('NEXTCLOUD_APP_STORE_URL')) {
|
||||
$CONFIG['appstoreurl'] = getenv('NEXTCLOUD_APP_STORE_URL');
|
||||
}
|
||||
|
||||
@@ -198,18 +198,6 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
|
||||
echo "Initializing nextcloud $image_version ..."
|
||||
rsync -rlD --delete --exclude-from=/upgrade.exclude "$SOURCE_LOCATION/" /var/www/html/
|
||||
|
||||
# Copy custom_apps from Nextcloud archive
|
||||
if ! directory_empty "$SOURCE_LOCATION/custom_apps"; then
|
||||
set -x
|
||||
for app in "$SOURCE_LOCATION/custom_apps"/*; do
|
||||
app_id="$(basename "$app")"
|
||||
mkdir -p "/var/www/html/custom_apps/$app_id"
|
||||
rsync -rlD --delete --include "/$app_id/" --exclude '/*' "$SOURCE_LOCATION/custom_apps/" /var/www/html/custom_apps/
|
||||
done
|
||||
set +x
|
||||
fi
|
||||
|
||||
# Copy over initial data from Nextcloud archive
|
||||
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 '/*' "$SOURCE_LOCATION/" /var/www/html/
|
||||
@@ -246,7 +234,6 @@ DATADIR_PERMISSION_CONF
|
||||
if [ -z "$POSTGRES_PORT" ]; then
|
||||
POSTGRES_PORT=5432
|
||||
fi
|
||||
# shellcheck disable=SC2153
|
||||
INSTALL_OPTIONS+=(--database "$DATABASE_TYPE" --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST" --database-port "$POSTGRES_PORT")
|
||||
|
||||
echo "Starting Nextcloud installation..."
|
||||
@@ -368,7 +355,7 @@ DATADIR_PERMISSION_CONF
|
||||
read -ra STARTUP_APPS_ARRAY <<< "$STARTUP_APPS"
|
||||
for app in "${STARTUP_APPS_ARRAY[@]}"; do
|
||||
if ! echo "$app" | grep -q '^-'; then
|
||||
if [ -z "$(find /var/www/html/apps /var/www/html/custom_apps -type d -maxdepth 1 -mindepth 1 -name "$app" )" ]; then
|
||||
if [ -z "$(find /var/www/html/apps -type d -maxdepth 1 -mindepth 1 -name "$app" )" ]; then
|
||||
# If not shipped, install and enable the app
|
||||
php /var/www/html/occ app:install "$app"
|
||||
else
|
||||
@@ -590,24 +577,6 @@ else
|
||||
fi
|
||||
# AIO app end # Do not remove or change this line!
|
||||
|
||||
# Allow to add custom certs to Nextcloud's trusted cert store
|
||||
if env | grep -q NEXTCLOUD_TRUSTED_CERTIFICATES_; then
|
||||
set -x
|
||||
TRUSTED_CERTIFICATES="$(env | grep NEXTCLOUD_TRUSTED_CERTIFICATES_ | grep -oP '^[A-Z_a-z0-9]+')"
|
||||
mapfile -t TRUSTED_CERTIFICATES <<< "$TRUSTED_CERTIFICATES"
|
||||
CERTIFICATES_ROOT_DIR="/var/www/html/data/certificates"
|
||||
mkdir -p "$CERTIFICATES_ROOT_DIR"
|
||||
for certificate in "${TRUSTED_CERTIFICATES[@]}"; do
|
||||
# shellcheck disable=SC2001
|
||||
CERTIFICATE_NAME="$(echo "$certificate" | sed 's|^NEXTCLOUD_TRUSTED_CERTIFICATES_||')"
|
||||
if ! [ -f "$CERTIFICATES_ROOT_DIR/$CERTIFICATE_NAME" ]; then
|
||||
echo "${!certificate}" > "$CERTIFICATES_ROOT_DIR/$CERTIFICATE_NAME"
|
||||
php /var/www/html/occ security:certificates:import "$CERTIFICATES_ROOT_DIR/$CERTIFICATE_NAME"
|
||||
fi
|
||||
done
|
||||
set +x
|
||||
fi
|
||||
|
||||
# Notify push
|
||||
if ! [ -d "/var/www/html/custom_apps/notify_push" ]; then
|
||||
php /var/www/html/occ app:install notify_push
|
||||
@@ -707,12 +676,7 @@ fi
|
||||
|
||||
# OnlyOffice
|
||||
if [ "$ONLYOFFICE_ENABLED" = 'yes' ]; then
|
||||
if echo "$ONLYOFFICE_HOST" | grep -q "nextcloud-.*-onlyoffice"; then
|
||||
ONLYOFFICE_PORT=80
|
||||
else
|
||||
ONLYOFFICE_PORT=443
|
||||
fi
|
||||
while ! nc -z "$ONLYOFFICE_HOST" "$ONLYOFFICE_PORT"; do
|
||||
while ! nc -z "$ONLYOFFICE_HOST" 80; do
|
||||
echo "waiting for OnlyOffice to become available..."
|
||||
sleep 5
|
||||
done
|
||||
@@ -726,11 +690,7 @@ if [ "$ONLYOFFICE_ENABLED" = 'yes' ]; then
|
||||
php /var/www/html/occ config:system:set onlyoffice jwt_secret --value="$ONLYOFFICE_SECRET"
|
||||
php /var/www/html/occ config:app:set onlyoffice jwt_secret --value="$ONLYOFFICE_SECRET"
|
||||
php /var/www/html/occ config:system:set onlyoffice jwt_header --value="AuthorizationJwt"
|
||||
if echo "$ONLYOFFICE_HOST" | grep -q "nextcloud-.*-onlyoffice"; then
|
||||
ONLYOFFICE_HOST="$NC_DOMAIN/onlyoffice"
|
||||
export ONLYOFFICE_HOST
|
||||
fi
|
||||
php /var/www/html/occ config:app:set onlyoffice DocumentServerUrl --value="https://$ONLYOFFICE_HOST"
|
||||
php /var/www/html/occ config:app:set onlyoffice DocumentServerUrl --value="https://$NC_DOMAIN/onlyoffice"
|
||||
else
|
||||
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/onlyoffice" ] && [ -n "$ONLYOFFICE_SECRET" ] && [ "$(php /var/www/html/occ config:system:get onlyoffice jwt_secret)" = "$ONLYOFFICE_SECRET" ]; then
|
||||
php /var/www/html/occ app:remove onlyoffice
|
||||
@@ -840,54 +800,45 @@ fi
|
||||
|
||||
# Fulltextsearch
|
||||
if [ "$FULLTEXTSEARCH_ENABLED" = 'yes' ]; then
|
||||
count=0
|
||||
while ! nc -z "$FULLTEXTSEARCH_HOST" "$FULLTEXTSEARCH_PORT" && [ "$count" -lt 90 ]; do
|
||||
while ! nc -z "$FULLTEXTSEARCH_HOST" 9200; do
|
||||
echo "waiting for Fulltextsearch to become available..."
|
||||
count=$((count+5))
|
||||
sleep 5
|
||||
done
|
||||
if [ "$count" -ge 90 ]; then
|
||||
echo "Fulltextsearch did not start in time. Skipping initialization and disabling fulltextsearch apps."
|
||||
php /var/www/html/occ app:disable fulltextsearch
|
||||
php /var/www/html/occ app:disable fulltextsearch_elasticsearch
|
||||
php /var/www/html/occ app:disable files_fulltextsearch
|
||||
else
|
||||
if ! [ -d "/var/www/html/custom_apps/fulltextsearch" ]; then
|
||||
php /var/www/html/occ app:install fulltextsearch
|
||||
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch enabled)" != "yes" ]; then
|
||||
php /var/www/html/occ app:enable fulltextsearch
|
||||
elif [ "$SKIP_UPDATE" != 1 ]; then
|
||||
php /var/www/html/occ app:update fulltextsearch
|
||||
fi
|
||||
if ! [ -d "/var/www/html/custom_apps/fulltextsearch_elasticsearch" ]; then
|
||||
php /var/www/html/occ app:install fulltextsearch_elasticsearch
|
||||
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch_elasticsearch enabled)" != "yes" ]; then
|
||||
php /var/www/html/occ app:enable fulltextsearch_elasticsearch
|
||||
elif [ "$SKIP_UPDATE" != 1 ]; then
|
||||
php /var/www/html/occ app:update fulltextsearch_elasticsearch
|
||||
fi
|
||||
if ! [ -d "/var/www/html/custom_apps/files_fulltextsearch" ]; then
|
||||
php /var/www/html/occ app:install files_fulltextsearch
|
||||
elif [ "$(php /var/www/html/occ config:app:get files_fulltextsearch enabled)" != "yes" ]; then
|
||||
php /var/www/html/occ app:enable files_fulltextsearch
|
||||
elif [ "$SKIP_UPDATE" != 1 ]; then
|
||||
php /var/www/html/occ app:update files_fulltextsearch
|
||||
fi
|
||||
php /var/www/html/occ fulltextsearch:configure '{"search_platform":"OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform"}'
|
||||
php /var/www/html/occ fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"http://$FULLTEXTSEARCH_USER:$FULLTEXTSEARCH_PASSWORD@$FULLTEXTSEARCH_HOST:$FULLTEXTSEARCH_PORT\",\"elastic_index\":\"$FULLTEXTSEARCH_INDEX\"}"
|
||||
php /var/www/html/occ files_fulltextsearch:configure "{\"files_pdf\":\"1\",\"files_office\":\"1\"}"
|
||||
if ! [ -d "/var/www/html/custom_apps/fulltextsearch" ]; then
|
||||
php /var/www/html/occ app:install fulltextsearch
|
||||
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch enabled)" != "yes" ]; then
|
||||
php /var/www/html/occ app:enable fulltextsearch
|
||||
elif [ "$SKIP_UPDATE" != 1 ]; then
|
||||
php /var/www/html/occ app:update fulltextsearch
|
||||
fi
|
||||
if ! [ -d "/var/www/html/custom_apps/fulltextsearch_elasticsearch" ]; then
|
||||
php /var/www/html/occ app:install fulltextsearch_elasticsearch
|
||||
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch_elasticsearch enabled)" != "yes" ]; then
|
||||
php /var/www/html/occ app:enable fulltextsearch_elasticsearch
|
||||
elif [ "$SKIP_UPDATE" != 1 ]; then
|
||||
php /var/www/html/occ app:update fulltextsearch_elasticsearch
|
||||
fi
|
||||
if ! [ -d "/var/www/html/custom_apps/files_fulltextsearch" ]; then
|
||||
php /var/www/html/occ app:install files_fulltextsearch
|
||||
elif [ "$(php /var/www/html/occ config:app:get files_fulltextsearch enabled)" != "yes" ]; then
|
||||
php /var/www/html/occ app:enable files_fulltextsearch
|
||||
elif [ "$SKIP_UPDATE" != 1 ]; then
|
||||
php /var/www/html/occ app:update files_fulltextsearch
|
||||
fi
|
||||
php /var/www/html/occ fulltextsearch:configure '{"search_platform":"OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform"}'
|
||||
php /var/www/html/occ fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"http://elastic:$FULLTEXTSEARCH_PASSWORD@$FULLTEXTSEARCH_HOST:9200\",\"elastic_index\":\"nextcloud-aio\"}"
|
||||
php /var/www/html/occ files_fulltextsearch:configure "{\"files_pdf\":\"1\",\"files_office\":\"1\"}"
|
||||
|
||||
# Do the index
|
||||
if ! [ -f "$NEXTCLOUD_DATA_DIR/fts-index.done" ]; then
|
||||
echo "Waiting 10s before activating FTS..."
|
||||
sleep 10
|
||||
echo "Activating fulltextsearch..."
|
||||
if php /var/www/html/occ fulltextsearch:test && php /var/www/html/occ fulltextsearch:index "{\"errors\": \"reset\"}" --no-readline; then
|
||||
touch "$NEXTCLOUD_DATA_DIR/fts-index.done"
|
||||
else
|
||||
echo "Fulltextsearch failed. Could not index."
|
||||
echo "Feel free to follow https://github.com/nextcloud/all-in-one/discussions/1709 if you want to skip the indexing in the future."
|
||||
fi
|
||||
# Do the index
|
||||
if ! [ -f "$NEXTCLOUD_DATA_DIR/fts-index.done" ]; then
|
||||
echo "Waiting 10s before activating FTS..."
|
||||
sleep 10
|
||||
echo "Activating fulltextsearch..."
|
||||
if php /var/www/html/occ fulltextsearch:test && php /var/www/html/occ fulltextsearch:index "{\"errors\": \"reset\"}" --no-readline; then
|
||||
touch "$NEXTCLOUD_DATA_DIR/fts-index.done"
|
||||
else
|
||||
echo "Fulltextsearch failed. Could not index."
|
||||
echo "Feel free to follow https://github.com/nextcloud/all-in-one/discussions/1709 if you want to skip the indexing in the future."
|
||||
fi
|
||||
fi
|
||||
else
|
||||
|
||||
@@ -26,11 +26,4 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
signal_handler() {
|
||||
exit 0
|
||||
}
|
||||
|
||||
trap signal_handler SIGINT SIGTERM
|
||||
|
||||
sleep inf &
|
||||
wait $!
|
||||
sleep inf
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM alpine:3.22.1
|
||||
FROM alpine:3.21.3
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
|
||||
FROM onlyoffice/documentserver:9.0.4.1
|
||||
FROM onlyoffice/documentserver:8.3.3.1
|
||||
|
||||
# USER root is probably used
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From https://github.com/docker-library/postgres/blob/master/17/alpine3.22/Dockerfile
|
||||
FROM postgres:17.6-alpine
|
||||
# From https://github.com/docker-library/postgres/blob/master/17/alpine3.21/Dockerfile
|
||||
FROM postgres:17.5-alpine
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||
|
||||
@@ -128,9 +128,7 @@ EOSQL
|
||||
fi
|
||||
|
||||
# Shut down the database to be able to start it again
|
||||
# The smart mode disallows new connections, then waits for all existing clients to disconnect and any online backup to finish
|
||||
# Wait for 1800s to make sure that a checkpoint is completed successfully
|
||||
pg_ctl stop -m smart -t 1800
|
||||
pg_ctl stop -m fast
|
||||
|
||||
# Change database port back to default
|
||||
export PGPORT=5432
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From https://github.com/docker-library/redis/blob/master/7.2/alpine/Dockerfile
|
||||
FROM redis:7.2.10-alpine
|
||||
FROM redis:7.2.9-alpine
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM python:3.13.7-alpine3.22
|
||||
FROM python:3.13.4-alpine3.21
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM nats:2.11.9-scratch AS nats
|
||||
FROM nats:2.11.4-scratch AS nats
|
||||
FROM eturnal/eturnal:1.12.1 AS eturnal
|
||||
FROM strukturag/nextcloud-spreed-signaling:2.0.4 AS signaling
|
||||
FROM alpine:3.22.1 AS janus
|
||||
FROM strukturag/nextcloud-spreed-signaling:2.0.3 AS signaling
|
||||
FROM alpine:3.21.3 AS janus
|
||||
|
||||
ARG JANUS_VERSION=v1.3.2
|
||||
ARG JANUS_VERSION=v1.3.1
|
||||
WORKDIR /src
|
||||
RUN set -ex; \
|
||||
apk upgrade --no-cache -a; \
|
||||
@@ -35,9 +35,8 @@ RUN set -ex; \
|
||||
make configs; \
|
||||
rename -v ".jcfg.sample" ".jcfg" /usr/local/etc/janus/*.jcfg.sample
|
||||
|
||||
FROM alpine:3.22.1
|
||||
FROM alpine:3.21.3
|
||||
ENV ETURNAL_ETC_DIR="/conf"
|
||||
ENV SKIP_CERT_VERIFY=false
|
||||
COPY --from=janus --chmod=777 --chown=1000:1000 /usr/local /usr/local
|
||||
COPY --from=eturnal --chmod=777 --chown=1000:1000 /opt/eturnal /opt/eturnal
|
||||
COPY --from=nats --chmod=777 --chown=1000:1000 /nats-server /usr/local/bin/nats-server
|
||||
|
||||
@@ -84,8 +84,7 @@ internalsecret = the-shared-secret-for-internal-clients
|
||||
# For backend type "etcd":
|
||||
# Key prefix of backend entries. All keys below will be watched and assumed to
|
||||
# contain a JSON document with the following entries:
|
||||
# - "urls": List of urls of the Nextcloud instance.
|
||||
# - "url": Url of the Nextcloud instance (deprecated).
|
||||
# - "url": Url of the Nextcloud instance.
|
||||
# - "secret": Shared secret for requests from and to the backend servers.
|
||||
#
|
||||
# Additional optional entries:
|
||||
@@ -94,8 +93,8 @@ internalsecret = the-shared-secret-for-internal-clients
|
||||
# - "sessionlimit": Number of sessions that are allowed to connect.
|
||||
#
|
||||
# Example:
|
||||
# "/signaling/backend/one" -> {"urls": ["https://nextcloud.domain1.invalid"], ...}
|
||||
# "/signaling/backend/two" -> {"urls": ["https://domain2.invalid/nextcloud"], ...}
|
||||
# "/signaling/backend/one" -> {"url": "https://nextcloud.domain1.invalid", ...}
|
||||
# "/signaling/backend/two" -> {"url": "https://domain2.invalid/nextcloud", ...}
|
||||
#backendprefix = /signaling/backend
|
||||
|
||||
# Allow any hostname as backend endpoint. This is extremely insecure and should
|
||||
@@ -123,8 +122,8 @@ connectionsperhost = 8
|
||||
# Backend configurations as defined in the "[backend]" section above. The
|
||||
# section names must match the ids used in "backends" above.
|
||||
#[backend-id]
|
||||
# Comma-separated list of urls of the Nextcloud instance
|
||||
#urls = https://cloud.domain.invalid
|
||||
# URL of the Nextcloud instance
|
||||
#url = https://cloud.domain.invalid
|
||||
|
||||
# Shared secret for requests from and to the backend servers. Leave empty to use
|
||||
# the common shared secret from above.
|
||||
@@ -144,8 +143,8 @@ connectionsperhost = 8
|
||||
#maxscreenbitrate = 2097152
|
||||
|
||||
#[another-backend]
|
||||
# Comma-separated list of urls of the Nextcloud instance
|
||||
#urls = https://cloud.otherdomain.invalid
|
||||
# URL of the Nextcloud instance
|
||||
#url = https://cloud.otherdomain.invalid
|
||||
|
||||
# Shared secret for requests from and to the backend servers. Leave empty to use
|
||||
# the common shared secret from above.
|
||||
@@ -180,13 +179,6 @@ connectionsperhost = 8
|
||||
# proxy server that is used.
|
||||
#maxscreenbitrate = 2097152
|
||||
|
||||
# List of IP addresses / subnets that are allowed to be used by clients in
|
||||
# candidates. The allowed list has preference over the blocked list below.
|
||||
#allowedcandidates = 10.0.0.0/8
|
||||
|
||||
# List of IP addresses / subnets to filter from candidates received by clients.
|
||||
#blockedcandidates = 1.2.3.0/24
|
||||
|
||||
# For type "proxy": timeout in seconds for requests to the proxy server.
|
||||
#proxytimeout = 2
|
||||
|
||||
|
||||
@@ -95,10 +95,9 @@ backends = backend-1
|
||||
allowall = false
|
||||
timeout = 10
|
||||
connectionsperhost = 8
|
||||
skipverify = ${SKIP_CERT_VERIFY}
|
||||
|
||||
[backend-1]
|
||||
urls = https://${NC_DOMAIN}
|
||||
url = https://${NC_DOMAIN}
|
||||
secret = ${SIGNALING_SECRET}
|
||||
maxstreambitrate = ${TALK_MAX_STREAM_BITRATE}
|
||||
maxscreenbitrate = ${TALK_MAX_SCREEN_BITRATE}
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM ghcr.io/nicholas-fedor/watchtower:1.11.8 AS watchtower
|
||||
FROM golang:1.24.4-alpine3.21 AS go
|
||||
|
||||
FROM alpine:3.22.1
|
||||
RUN set -ex; \
|
||||
apk upgrade --no-cache -a; \
|
||||
apk add --no-cache \
|
||||
build-base; \
|
||||
go install github.com/containrrr/watchtower@76f9cea516593fabb8ca91ff13de55caa6aa0a8b;
|
||||
|
||||
FROM alpine:3.21.3
|
||||
|
||||
RUN set -ex; \
|
||||
apk upgrade --no-cache -a; \
|
||||
apk add --no-cache bash ca-certificates tzdata
|
||||
|
||||
COPY --from=watchtower /watchtower /watchtower
|
||||
COPY --from=go /go/bin/watchtower /watchtower
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if socket is available and readable
|
||||
if ! [ -e "/var/run/docker.sock" ]; then
|
||||
if ! [ -a "/var/run/docker.sock" ]; then
|
||||
echo "Docker socket is not available. Cannot continue."
|
||||
exit 1
|
||||
elif ! test -r /var/run/docker.sock; then
|
||||
@@ -9,13 +9,6 @@ elif ! test -r /var/run/docker.sock; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f /run/.containerenv ]; then
|
||||
# If running under podman disable memory_swappiness setting in watchtower.
|
||||
# It is a necessary workaround until https://github.com/containers/podman/issues/23824 gets fixed.
|
||||
echo "Running under Podman. Setting WATCHTOWER_DISABLE_MEMORY_SWAPPINESS to 1."
|
||||
export WATCHTOWER_DISABLE_MEMORY_SWAPPINESS=1
|
||||
fi
|
||||
|
||||
if [ -n "$CONTAINER_TO_UPDATE" ]; then
|
||||
exec /watchtower --cleanup --debug --run-once "$CONTAINER_TO_UPDATE"
|
||||
else
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
|
||||
FROM ghcr.io/nextcloud-releases/whiteboard:v1.2.0
|
||||
FROM ghcr.io/nextcloud-releases/whiteboard:v1.0.5
|
||||
|
||||
USER root
|
||||
RUN set -ex; \
|
||||
|
||||
@@ -10,7 +10,7 @@ declare(strict_types=1);
|
||||
*/
|
||||
/** @var array $_ */ ?>
|
||||
<div id="allinone" class="section">
|
||||
<h2><?php p($l->t('Nextcloud All-in-One'));?></h2><br/>
|
||||
<h2><?php p($l->t('Nextcloud All-in-One'));?></h2>
|
||||
<a href="<?php p($_['AIOLoginUrl']);?>" class="button" target="_blank">Open Nextcloud AIO Interface ↗</a><br><br>
|
||||
<p><a href="https://github.com/nextcloud/all-in-one#how-to-easily-log-in-to-the-aio-interface">Click here for more infos on this feature (e.g. also on how to change the link in the button)</a></p>
|
||||
</div>
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
"environment": [
|
||||
"TZ=%TIMEZONE%",
|
||||
"NC_DOMAIN=%NC_DOMAIN%",
|
||||
"APACHE_PORT=%APACHE_PORT%",
|
||||
"NEXTCLOUD_EXPORTER_CADDY_PASSWORD=%NEXTCLOUD_EXPORTER_CADDY_PASSWORD%"
|
||||
"APACHE_PORT=%APACHE_PORT%"
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
@@ -38,9 +37,6 @@
|
||||
"writeable": false
|
||||
}
|
||||
],
|
||||
"secrets": [
|
||||
"NEXTCLOUD_EXPORTER_CADDY_PASSWORD"
|
||||
],
|
||||
"aio_variables": [
|
||||
"apache_ip_binding=@INTERNAL",
|
||||
"apache_port=11000"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
## Caddy with geoblocking
|
||||
This container bundles caddy and auto-configures it for you. It also covers [vaultwarden](https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden) by listening on `bw.$NC_DOMAIN`, if installed. It also covers [stalwart](https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart) by listening on `mail.$NC_DOMAIN`, if installed. It also covers [jellyfin](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin) by listening on `media.$NC_DOMAIN`, if installed. It also covers [lldap](https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap) by listening on `ldap.$NC_DOMAIN`, if installed. It also covers [nocodb](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb) by listening on `tables.$NC_DOMAIN`, if installed. It also covers [jellyseerr](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr) by listening on `requests.$NC_DOMAIN`, if installed. It also covers [nextcloud-exporter](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nextcloud-exporter) by listening on `metrics.$NC_DOMAIN`, if installed.
|
||||
This container bundles caddy and auto-configures it for you. It also covers [vaultwarden](https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden) by listening on `bw.$NC_DOMAIN`, if installed. It also covers [stalwart](https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart) by listening on `mail.$NC_DOMAIN`, if installed. It also covers [jellyfin](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin) by listening on `media.$NC_DOMAIN`, if installed. It also covers [lldap](https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap) by listening on `ldap.$NC_DOMAIN`, if installed. It also covers [nocodb](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb) by listening on `tables.$NC_DOMAIN`, if installed. It also covers [jellyseerr](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr) by listening on `requests.$NC_DOMAIN`, if installed. It also covers [mollysocket](https://github.com/nextcloud/all-in-one/tree/main/community-containers/mollysocket) by listening on `mollysocket.$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!
|
||||
@@ -10,9 +10,9 @@ This container bundles caddy and auto-configures it for you. It also covers [vau
|
||||
- If you want to use this with [lldap](https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap), make sure that you point `ldap.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for lldap.
|
||||
- If you want to use this with [nocodb](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb), make sure that you point `tables.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for nocodb.
|
||||
- If you want to use this with [jellyseerr](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr), make sure that you point `requests.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for jellyseerr.
|
||||
- If you want to use this with [nextcloud-exporter](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nextcloud-exporter), make sure that you point `metrics.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for nextcloud-exporter.
|
||||
- If you want to use this with [mollysocket](https://github.com/nextcloud/all-in-one/tree/main/community-containers/mollysocket), make sure that you point `mollysocket.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for mollysocket.
|
||||
- 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. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
|
||||
- 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
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"aio_services_v1": [
|
||||
{
|
||||
"container_name": "nextcloud-aio-container-management",
|
||||
"display_name": "Container Management",
|
||||
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management",
|
||||
"image": "ghcr.io/szaimen/aio-container-management",
|
||||
"image_tag": "v1",
|
||||
"internal_port": "5804",
|
||||
"restart": "unless-stopped",
|
||||
"ports": [
|
||||
{
|
||||
"ip_binding": "",
|
||||
"port_number": "5804",
|
||||
"protocol": "tcp"
|
||||
}
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"source": "%WATCHTOWER_DOCKER_SOCKET_PATH%",
|
||||
"destination": "/var/run/docker.sock",
|
||||
"writeable": false
|
||||
}
|
||||
],
|
||||
"environment": [
|
||||
"TZ=%TIMEZONE%",
|
||||
"SECURE_CONNECTION=1",
|
||||
"WEB_AUTHENTICATION=1",
|
||||
"USER_ID=0",
|
||||
"GROUP_ID=0",
|
||||
"WEB_AUTHENTICATION_USERNAME=container-management",
|
||||
"WEB_AUTHENTICATION_PASSWORD=%CONTAINER_MANAGEMENT_PASSWORD%",
|
||||
"WEB_LISTENING_PORT=5804"
|
||||
],
|
||||
"secrets": [
|
||||
"CONTAINER_MANAGEMENT_PASSWORD"
|
||||
],
|
||||
"ui_secret": "CONTAINER_MANAGEMENT_PASSWORD"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
## Container-Management
|
||||
This container allows to manage insides of other containers via a GUI inside a Web session by allowing to run docker commands from inside this container.
|
||||
|
||||
### Notes
|
||||
- After adding and starting the container, you need to visit `https://ip.address.of.this.server:5804` in order to log in with the user `container-management` and the password that you can see next to the container in the AIO interface. (The web page uses a self-signed certificate, so you need to accept the warning).
|
||||
- Then, you should see a terminal. There you can use any docker command. ⚠️ Be very carefully while doing that as can break your instance!
|
||||
- There are also some pre-made scripts that make configuring some of the community containers easier. For example scripts for [LLDAP](https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap) and [Facerecognition](https://github.com/nextcloud/all-in-one/tree/main/community-containers/facerecognition).
|
||||
- ⚠️ After you are done doing your operations, remove the container for better security again from the stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-remove-containers-from-aios-stack
|
||||
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
|
||||
|
||||
### Repository
|
||||
https://github.com/szaimen/aio-container-management
|
||||
|
||||
### Maintainer
|
||||
https://github.com/szaimen
|
||||
@@ -10,21 +10,18 @@
|
||||
"restart": "unless-stopped",
|
||||
"environment": [
|
||||
"TZ=%TIMEZONE%",
|
||||
"API_KEY=%FACERECOGNITION_API_KEY%",
|
||||
"API_KEY=some-super-secret-api-key",
|
||||
"FACE_MODEL=3"
|
||||
],
|
||||
"aio_variables": [
|
||||
"nextcloud_memory_limit=2048M"
|
||||
],
|
||||
"secrets": [
|
||||
"FACERECOGNITION_API_KEY"
|
||||
],
|
||||
"enable_nvidia_gpu": false,
|
||||
"nextcloud_exec_commands": [
|
||||
"php /var/www/html/occ app:install facerecognition",
|
||||
"php /var/www/html/occ app:enable facerecognition",
|
||||
"php /var/www/html/occ config:system:set facerecognition.external_model_url --value nextcloud-aio-facerecognition:5000",
|
||||
"php /var/www/html/occ config:system:set facerecognition.external_model_api_key --value %FACERECOGNITION_API_KEY%",
|
||||
"php /var/www/html/occ config:system:set facerecognition.external_model_api_key --value some-super-secret-api-key",
|
||||
"php /var/www/html/occ face:setup -m 5",
|
||||
"php /var/www/html/occ face:setup -M 1G",
|
||||
"php /var/www/html/occ config:app:set facerecognition analysis_image_area --value 4320000",
|
||||
|
||||
@@ -4,8 +4,7 @@ This container bundles the external model of facerecognition and auto-configures
|
||||
### Notes
|
||||
- This container needs imaginary in order to analyze modern file format images. Make sure to enable imaginary in the AIO interface before adding this container.
|
||||
- The image analysis is currently set to fixed value of `1G`. See [this](https://github.com/search?q=repo%3Anextcloud%2Fall-in-one+1G+path%3A%2F%5Ecommunity-containers%5C%2Ffacerecognition%5C%2F%2F&type=code)
|
||||
- Facerecognition is by default disabled for all users. If you want to enable facerecognition for all users, you can run the following commands before adding this container:<br>
|
||||
**Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management. This script below can be run from inside the container-management container via `bash /facerecognition.sh`.
|
||||
- Facerecognition is by default disabled for all users, if you want to enable facerecognition for all users, you can run the following before adding this container:
|
||||
```bash
|
||||
# Go into the container
|
||||
sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
|
||||
@@ -23,8 +22,7 @@ This container bundles the external model of facerecognition and auto-configures
|
||||
# Exit the container shell
|
||||
exit
|
||||
```
|
||||
- If facerecognition shall analyze shared files & folders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_shared_files --value true`), groupfolders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_group_files --value true`) and/or external storages (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_external_files --value true`) in Nextcloud, you need to enable support for it manually first by running the mentioned commands before adding this container. See https://github.com/matiasdelellis/facerecognition/wiki/Settings#hidden-settings for further notes on each of these settings.<br>
|
||||
**Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
|
||||
- If facerecognition shall analyze shared files & folders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_shared_files --value true`), groupfolders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_group_files --value true`) and/or external storages (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_external_files --value true`) in Nextcloud, you need to enable support for it manually first by running the mentioned commands before adding this container. See https://github.com/matiasdelellis/facerecognition/wiki/Settings#hidden-settings for further notes on each of these settings.
|
||||
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
|
||||
|
||||
### Repository
|
||||
|
||||
@@ -4,7 +4,7 @@ This container bundles fail2ban and auto-configures it for you in order to block
|
||||
### Notes
|
||||
- If you get an error like `"ip6tables v1.8.9 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?)"`, you need to enable ip6tables on your host via `sudo modprobe ip6table_filter`.
|
||||
- If you get an error like `stderr: 'iptables: No chain/target/match by that name.'` and `stderr: 'ip6tables: No chain/target/match by that name.'`, you need to follow https://github.com/szaimen/aio-fail2ban/issues/9#issuecomment-2026898790 in order to resolve this.
|
||||
- You can unban ip addresses like so for example: `docker exec -it nextcloud-aio-fail2ban fail2ban-client set nextcloud unbanip 203.113.167.162`. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
|
||||
- You can unban ip addresses like so for example: `docker exec -it nextcloud-aio-fail2ban fail2ban-client set nextcloud unbanip 203.113.167.162`.
|
||||
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
|
||||
|
||||
### Repository
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"aio_services_v1": [
|
||||
{
|
||||
"container_name": "nextcloud-aio-libretranslate",
|
||||
"display_name": "LibreTranslate (deprecated)",
|
||||
"display_name": "LibreTranslate",
|
||||
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/libretranslate",
|
||||
"image": "ghcr.io/szaimen/aio-libretranslate",
|
||||
"image_tag": "v1",
|
||||
|
||||
@@ -23,8 +23,7 @@ First, you need to retrieve the LLDAP admin password, this will be used later on
|
||||
sudo docker inspect nextcloud-aio-lldap | grep LLDAP_LDAP_USER_PASS
|
||||
```
|
||||
|
||||
Now go into the Nextcloud container:<br>
|
||||
**Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management. This script below can be run from inside the container-management container via `bash /lldap.sh`.
|
||||
Now go into the Nextcloud container:
|
||||
```bash
|
||||
sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
|
||||
```
|
||||
|
||||
37
community-containers/mollysocket/mollysocket.json
Normal file
37
community-containers/mollysocket/mollysocket.json
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"aio_services_v1": [
|
||||
{
|
||||
"container_name": "nextcloud-aio-mollysocket",
|
||||
"display_name": "MollySocket",
|
||||
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/mollysocket",
|
||||
"image": "ghcr.io/mollyim/mollysocket",
|
||||
"image_tag": "1",
|
||||
"restart": "unless-stopped",
|
||||
"ports": [
|
||||
{
|
||||
"ip_binding": "%APACHE_IP_BINDING%",
|
||||
"port_number": "8020",
|
||||
"protocol": "tcp"
|
||||
}
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"source": "nextcloud_aio_mollysocket",
|
||||
"destination": "/data",
|
||||
"writeable": true
|
||||
}
|
||||
],
|
||||
"working_dir": "/data",
|
||||
"command": "server",
|
||||
"environment": [
|
||||
"TZ=%TIMEZONE%",
|
||||
"MOLLY_DB=/data/mollysocket.db",
|
||||
"MOLLY_ALLOWED_ENDPOINTS=[\"*\",\"https://mollysocket.%NC_DOMAIN%\"]",
|
||||
"MOLLY_ALLOWED_UUIDS=[\"*\"]",
|
||||
"MOLLY_HOST=0.0.0.0",
|
||||
"MOLLY_PORT=8020",
|
||||
"RUST_LOG=error"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
13
community-containers/mollysocket/readme.md
Normal file
13
community-containers/mollysocket/readme.md
Normal file
@@ -0,0 +1,13 @@
|
||||
## MollySocket
|
||||
This container bundles MollySocket and auto-configures it for you.
|
||||
|
||||
### Notes
|
||||
- This container is only intended to be used over https behind a reverse proxy. You can You can set up a reverse proxy following [these instructions](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) OR use the [Caddy community container](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) that will automatically configure mollysocket.$NC_DOMAIN to redirect to your MollySocket.
|
||||
- This will work with a locally hosted UnifiedPush provider such as [NextPush](https://codeberg.org/NextPush/uppush) if it is hosted at https://mollysocket.$NC_DOMAIN.
|
||||
- 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/mollyim/mollysocket
|
||||
|
||||
### Maintainer
|
||||
https://github.com/Anvil5465
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
"aio_services_v1": [
|
||||
{
|
||||
"container_name": "nextcloud-aio-nextcloud-exporter",
|
||||
"display_name": "Prometheus Nextcloud Exporter",
|
||||
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/nextcloud-exporter",
|
||||
"image": "ghcr.io/xperimental/nextcloud-exporter",
|
||||
"image_tag": "0.8.0",
|
||||
"internal_port": "9205",
|
||||
"restart": "unless-stopped",
|
||||
"ports": [
|
||||
{
|
||||
"ip_binding": "127.0.0.1",
|
||||
"port_number": "9205",
|
||||
"protocol": "tcp"
|
||||
}
|
||||
],
|
||||
"environment": [
|
||||
"TZ=%TIMEZONE%",
|
||||
"NEXTCLOUD_SERVER=https://%NC_DOMAIN%",
|
||||
"NEXTCLOUD_AUTH_TOKEN=%NEXTCLOUD_EXPORTER_TOKEN%",
|
||||
"NEXTCLOUD_LISTEN_ADDRESS=0.0.0.0:9205",
|
||||
"NEXTCLOUD_TIMEOUT=5s"
|
||||
],
|
||||
"ui_secret": "NEXTCLOUD_EXPORTER_CADDY_PASSWORD",
|
||||
"secrets": [
|
||||
"NEXTCLOUD_EXPORTER_TOKEN",
|
||||
"NEXTCLOUD_EXPORTER_CADDY_PASSWORD"
|
||||
],
|
||||
"nextcloud_exec_commands": [
|
||||
"php /var/www/html/occ config:app:set serverinfo token --value %NEXTCLOUD_EXPORTER_TOKEN%"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
## Prometheus Nextcloud Exporter
|
||||
|
||||
A Prometheus exporter that collects metrics from your Nextcloud instance for monitoring and alerting.
|
||||
|
||||
### How to install
|
||||
|
||||
See the [Community Containers documentation](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers) for instructions on how to install this in your Nextcloud All-in-One setup.
|
||||
|
||||
### Security & Access
|
||||
|
||||
**Important:** This container is configured to bind only to `127.0.0.1` (localhost) for security reasons. Prometheus exporters typically don't include authentication, so direct network exposure is not recommended.
|
||||
|
||||
#### Access Options
|
||||
|
||||
1. **With Caddy Container (Recommended)**: If you also install the [Caddy community container](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy), it will automatically configure secure HTTPS access to your metrics with authentication at `metrics.your-domain.com`
|
||||
|
||||
**Getting Authentication Credentials**:
|
||||
- **Username**: Always `metrics`
|
||||
- **Password**: After deploying the nextcloud-exporter container, the automatically generated password will be displayed in the AIO interface. Look for it in the container section below the container name "Prometheus Nextcloud Exporter".
|
||||
|
||||
2. **Custom Reverse Proxy**: Set up your own reverse proxy (nginx, Apache, etc.) to provide HTTPS and authentication. See configuration guides:
|
||||
- [NGINX Authentication](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html) + [Reverse Proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/)
|
||||
- [Apache Authentication](https://httpd.apache.org/docs/2.4/howto/auth.html) + [Reverse Proxy](https://httpd.apache.org/docs/2.4/mod/mod_proxy.html)
|
||||
- [Traefik BasicAuth](https://doc.traefik.io/traefik/middlewares/http/basicauth/)
|
||||
- [Prometheus Security Best Practices](https://prometheus.io/docs/operating/security/)
|
||||
|
||||
3. **Direct Local Access**: Access metrics directly from the server at `http://127.0.0.1:9205/metrics` (no authentication)
|
||||
|
||||
### What it monitors
|
||||
- User activity (active users hourly, daily)
|
||||
- File counts and storage usage
|
||||
- System health and database size
|
||||
- App statistics and update availability
|
||||
- Nextcloud performance metrics
|
||||
|
||||
### Prometheus Configuration
|
||||
|
||||
For **local server access** (if Prometheus runs on the same server):
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: 'nextcloud'
|
||||
scrape_interval: 90s
|
||||
static_configs:
|
||||
- targets: ['127.0.0.1:9205']
|
||||
metrics_path: /metrics
|
||||
scheme: http
|
||||
```
|
||||
|
||||
For **Caddy integration** (secure external access):
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: 'nextcloud'
|
||||
scrape_interval: 90s
|
||||
static_configs:
|
||||
- targets: ['metrics.your-domain.com']
|
||||
metrics_path: /
|
||||
scheme: https
|
||||
basic_auth:
|
||||
username: 'metrics'
|
||||
password: 'your-generated-password'
|
||||
```
|
||||
|
||||
### Visualization
|
||||
|
||||
Compatible with Grafana for creating monitoring dashboards:
|
||||
- Pre-built dashboard available: [Grafana Dashboard #20716](https://grafana.com/grafana/dashboards/20716-nextcloud/)
|
||||
|
||||
### Repository
|
||||
https://github.com/xperimental/nextcloud-exporter
|
||||
|
||||
### Maintainer
|
||||
https://github.com/grotax
|
||||
@@ -8,7 +8,7 @@ This container contains a fork of the Nginx Proxy Manager, which is a WebUI for
|
||||
- After the container was started the first time, please check the logs for errors. Then you can open NPMplus on `https://<ip>:81` and change the password.
|
||||
- The default password is `iArhP1j7p1P6TA92FA2FMbbUGYqwcYzxC4AVEe12Wbi94FY9gNN62aKyF1shrvG4NycjjX9KfmDQiwkLZH1ZDR9xMjiG2QmoHXi` and the default email is `admin@example.org`
|
||||
- If you want to use NPMplus behind a domain and outside localhost just create a new proxy host inside the NPMplus which proxies to `https`, `127.0.0.1` and port `81` - all other settings should be the same as for the AIO host.
|
||||
- If you want to set env options from this [compose.yaml](https://github.com/ZoeyVid/NPMplus/blob/develop/compose.yaml), please set them inside the `.env` file which you can find in the `nextcloud_aio_npmplus` volume **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
|
||||
- If you want to set env options from this [compose.yaml](https://github.com/ZoeyVid/NPMplus/blob/develop/compose.yaml), please set them inside the `.env` file which you can find in the `nextcloud_aio_npmplus` volume
|
||||
- The data (certs, configs, etc.) of NPMplus will be automatically included in AIOs backup solution!
|
||||
- **Important:** you always need to enable https for your hosts, since `DISABLE_HTTP` is set to true by default
|
||||
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
|
||||
|
||||
@@ -17,4 +17,4 @@ Yes, see [this list](https://github.com/nextcloud/all-in-one/issues/5251) for al
|
||||
## How to remove containers from AIOs stack?
|
||||
You can remove containers now via the web interface.
|
||||
|
||||
After removing the containers, there might be some data left on your server that you might want to remove. You can get rid of the data by first running `sudo docker rm nextcloud-aio-container1`, (adjust `container1` accordingly) per community-container that you removed. Then run `sudo docker image prune -a` in order to remove all images that are not used anymore. As last step you can get rid of persistent data of these containers that is stored in volumes. You can check if there is some by running `sudo docker volume ls` and look for any volume that matches the ones that you removed. If so, you can remove them with `sudo docker volume rm nextcloud_aio_volume-id` (of course you need to adjust the `volume-id`). **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
|
||||
After removing the containers, there might be some data left on your server that you might want to remove. You can get rid of the data by first running `sudo docker rm nextcloud-aio-container1`, (adjust `container1` accordingly) per community-container that you removed. Then run `sudo docker image prune -a` in order to remove all images that are not used anymore. As last step you can get rid of persistent data of these containers that is stored in volumes. You can check if there is some by running `sudo docker volume ls` and look for any volume that matches the ones that you removed. If so, you can remove them with `sudo docker volume rm nextcloud_aio_volume-id` (of course you need to adjust the `volume-id`).
|
||||
|
||||
@@ -48,8 +48,7 @@
|
||||
"environment": [
|
||||
"TZ=%TIMEZONE%",
|
||||
"NC_DOMAIN=%NC_DOMAIN%",
|
||||
"STALWART_USER_PASS=%STALWART_USER_PASS%",
|
||||
"CLAMAV_ENABLED=%CLAMAV_ENABLED%"
|
||||
"STALWART_USER_PASS=%STALWART_USER_PASS%"
|
||||
],
|
||||
"secrets": [
|
||||
"STALWART_USER_PASS"
|
||||
|
||||
22
compose.yaml
22
compose.yaml
@@ -1,19 +1,17 @@
|
||||
services:
|
||||
nextcloud-aio-mastercontainer:
|
||||
image: ghcr.io/nextcloud-releases/all-in-one:latest # This is the container image used. You can switch to ghcr.io/nextcloud-releases/all-in-one:beta if you want to help testing new releases. See https://github.com/nextcloud/all-in-one#how-to-switch-the-channel
|
||||
init: true # This setting makes sure that signals from main process inside the container are correctly forwarded to children. See https://docs.docker.com/reference/compose-file/services/#init
|
||||
restart: always # This makes sure that the container starts always together with the host OS. See https://docs.docker.com/reference/compose-file/services/#restart
|
||||
image: ghcr.io/nextcloud-releases/all-in-one:latest
|
||||
init: true
|
||||
restart: always
|
||||
container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed as otherwise AIO will not work correctly
|
||||
volumes:
|
||||
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed as otherwise the built-in backup solution will not work
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'WATCHTOWER_DOCKER_SOCKET_PATH'!
|
||||
network_mode: bridge # This adds the container to the same network as docker run would do. Comment this line and uncomment the line below and the networks section at the end of the file if you want to define a custom MTU size for the docker network
|
||||
# networks: ["nextcloud-aio"]
|
||||
network_mode: bridge # add to the same network as docker run would do
|
||||
ports:
|
||||
- 80:80 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
|
||||
- 8080:8080 # This is the AIO interface, served via https and self-signed certificate. See https://github.com/nextcloud/all-in-one#explanation-of-used-ports
|
||||
- 8080:8080
|
||||
- 8443:8443 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
|
||||
# security_opt: ["label:disable"] # Is needed when using SELinux. See https://github.com/nextcloud/all-in-one#are-there-known-problems-when-selinux-is-enabled
|
||||
# environment: # Is needed when using any of the options below
|
||||
# AIO_DISABLE_BACKUP_SECTION: false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section
|
||||
# APACHE_PORT: 11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
|
||||
@@ -37,9 +35,10 @@ services:
|
||||
# SKIP_DOMAIN_VALIDATION: false # This should only be set to true if things are correctly configured. See https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-skip-the-domain-validation
|
||||
# TALK_PORT: 3478 # This allows to adjust the port that the talk container is using which is exposed on the host. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port
|
||||
# WATCHTOWER_DOCKER_SOCKET_PATH: /var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
|
||||
# security_opt: ["label:disable"] # Is needed when using SELinux
|
||||
|
||||
# # Optional: Caddy reverse proxy. See https://github.com/nextcloud/all-in-one/discussions/575
|
||||
# # Alternatively, use Tailscale if you don't have a domain yet. See https://github.com/nextcloud/all-in-one/discussions/6817
|
||||
# # Alternatively, use Tailscale if you don't have a domain yet. See https://github.com/nextcloud/all-in-one/discussions/5439
|
||||
# # Hint: You need to uncomment APACHE_PORT: 11000 above, adjust cloud.example.com to your domain and uncomment the necessary docker volumes at the bottom of this file in order to make it work
|
||||
# # You can find further examples here: https://github.com/nextcloud/all-in-one/discussions/588
|
||||
# caddy:
|
||||
@@ -70,10 +69,3 @@ volumes: # If you want to store the data on a different drive, see https://githu
|
||||
# caddy_config:
|
||||
# caddy_data:
|
||||
# caddy_sites:
|
||||
|
||||
# # Adjust the MTU size of the docker network. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-mtu-size-of-the-docker-network
|
||||
# networks:
|
||||
# nextcloud-aio:
|
||||
# name: nextcloud-aio
|
||||
# driver_opts:
|
||||
# com.docker.network.driver.mtu: 1440
|
||||
|
||||
25
develop.md
25
develop.md
@@ -26,7 +26,7 @@ Simply use https://github.com/nextcloud/all-in-one/issues/6198 as template.
|
||||
Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/repo-sync.yml and run the workflow that will first sync the repo and then build new container that automatically get published to `develop` and `develop-arm64`.
|
||||
|
||||
## How to test things correctly?
|
||||
Before testing, make sure that at least the amd64 containers are built successfully by checking the last workflow here: https://github.com/nextcloud-releases/all-in-one/actions/workflows/build_images.yml.
|
||||
Before testing, make sure that at least the amd64 containers are built successfully by checking the last workflow here: https://github.com/nextcloud-releases/all-in-one/actions/workflows/build_images.yml.
|
||||
|
||||
There is a testing-VM available for the maintainer of AIO that allows for some final testing before releasing new version. See [this](https://cloud.nextcloud.com/apps/collectives/Nextcloud%20Handbook/Technical/AIO%20testing%20VM?fileId=6350152) for details.
|
||||
|
||||
@@ -47,26 +47,3 @@ This is documented here: https://github.com/nextcloud-releases/all-in-one/tree/m
|
||||
|
||||
## How to connect to the database?
|
||||
Simply run `sudo docker exec -it nextcloud-aio-database psql -U oc_nextcloud nextcloud_database` and you should be in.
|
||||
|
||||
## How to locally build and test changes to mastercontainer
|
||||
1. Ensure you are on the developer channel per the instructions above.
|
||||
1. Use the commands below from the project root to build the mastercontainer image:
|
||||
```
|
||||
docker buildx build --file Containers/mastercontainer/Dockerfile --tag ghcr.io/nextcloud-releases/all-in-one:develop --load .
|
||||
```
|
||||
1. Start a container with above built image.
|
||||
1. Since the hash of a locally built image doesn't match the latest release mastercontainer, it prompts for a mandatory update. To temporarily bypass the update suffix `?bypass_mastercontainer_update` to the URL. Eg: `https://localhost:8080/containers?bypass_mastercontainer_update`
|
||||
|
||||
## How to locally build and test changes to other containers using the bypass_container_update param
|
||||
1. Ensure you are on the developer channel per the instructions above.
|
||||
1. Use the commands below from the project root to build the container image:
|
||||
```
|
||||
# For the "nextcloud" container
|
||||
docker buildx build --file Containers/nextcloud/Dockerfile --tag ghcr.io/nextcloud-releases/aio-nextcloud:develop --load .
|
||||
|
||||
# For all other containers
|
||||
docker buildx build --file Containers/{container}/Dockerfile --tag ghcr.io/nextcloud-releases/aio-{container}:develop --load Containers/{container}
|
||||
```
|
||||
1. Stop the containers using the AIO admin interface.
|
||||
1. Reload the AIO admin interface with the param `bypass_container_update` to avoid overwriting your local changes, e.g. `https://localhost:8080/containers?bypass_container_update`.
|
||||
1. Click "Start and update containers" and test your changes. Containers will not be updated, despite the button text.
|
||||
|
||||
@@ -4,23 +4,19 @@
|
||||
First of all upgrade your docker installation to v27.0.1 or higher.
|
||||
1. Then edit `/etc/docker/daemon.json` (or `~/.config/docker/daemon.json` in case of docker-rootless), add the below json:
|
||||
|
||||
> [!WARNING]
|
||||
> This will enable ipv6 for all new docker networks by default! You can alternatively create the `nextcloud-aio` network with ipv6 support by hand manually via docker network create or via compose.yaml.
|
||||
```json
|
||||
{
|
||||
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
|
||||
}
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
|
||||
}
|
||||
```
|
||||
|
||||
And save the file.
|
||||
Save the file.
|
||||
|
||||
2. Reload the Docker configuration file.
|
||||
|
||||
```console
|
||||
sudo systemctl restart docker
|
||||
```
|
||||
|
||||
```console
|
||||
sudo systemctl restart docker
|
||||
```
|
||||
3. Make sure that ipv6 is enabled for the internal `nextcloud-aio` network by running `sudo docker network inspect nextcloud-aio | grep EnableIPv6`. On a new instance, this command should return that it did not find a network with this name. Then you can run `sudo docker network create nextcloud-aio` in order to create the network with ipv6-support. However if it finds the network and its value `EnableIPv6` is set to false, make sure to follow https://github.com/nextcloud/all-in-one/discussions/4989 in order to recreate the network and enable ipv6 for it.
|
||||
|
||||
## Docker Desktop (Windows and macOS)
|
||||
@@ -29,12 +25,9 @@ Then, on Windows and macOS which use Docker Desktop, you need to go into the set
|
||||
|
||||
1. You need to now adjust this json file:
|
||||
|
||||
> [!WARNING]
|
||||
> This will enable ipv6 for all new docker networks by default! You can alternatively create the `nextcloud-aio` network with ipv6 support by hand manually via docker network create or via compose.yaml.
|
||||
|
||||
```json
|
||||
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
|
||||
```
|
||||
```
|
||||
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
|
||||
```
|
||||
|
||||
2. Add these values to the json and make sure to keep the other currently values and that you don't see `Unexpected token in JSON at position ...` before attempting to restart by clicking on `Apply & restart`.
|
||||
3. Make sure that ipv6 is enabled for the internal `nextcloud-aio` network by running `sudo docker network inspect nextcloud-aio | grep EnableIPv6`. On a new instance, this command should return that it did not find a network with this name. Then you can run `sudo docker network create nextcloud-aio` in order to create the network with ipv6-support. However if it finds the network and its value `EnableIPv6` is set to false, make sure to follow https://github.com/nextcloud/all-in-one/discussions/4989 in order to recreate the network and enable ipv6 for it.
|
||||
|
||||
@@ -9,7 +9,7 @@ It is possible due to several reasons that you do not want or cannot open Nextcl
|
||||
- [5. Buy a certificate and use that](#5-buy-a-certificate-and-use-that)
|
||||
|
||||
## 1. Tailscale
|
||||
This is the recommended way. For a reverse proxy example guide for Tailscale, see this guide by [@Perseus333](https://github.com/Perseus333): https://github.com/nextcloud/all-in-one/discussions/6817
|
||||
This is the recommended way. For a reverse proxy example guide for Tailscale, see this guide by @flll: https://github.com/nextcloud/all-in-one/discussions/5439
|
||||
|
||||
## 2. The normal way
|
||||
The normal way is the following:
|
||||
|
||||
@@ -10,15 +10,15 @@ services:
|
||||
nextcloud-aio-talk:
|
||||
condition: service_started
|
||||
required: false
|
||||
nextcloud-aio-nextcloud:
|
||||
condition: service_started
|
||||
required: false
|
||||
nextcloud-aio-notify-push:
|
||||
condition: service_started
|
||||
required: false
|
||||
nextcloud-aio-whiteboard:
|
||||
condition: service_started
|
||||
required: false
|
||||
nextcloud-aio-nextcloud:
|
||||
condition: service_started
|
||||
required: false
|
||||
image: ghcr.io/nextcloud-releases/aio-apache:latest
|
||||
user: "33"
|
||||
init: true
|
||||
@@ -165,9 +165,6 @@ services:
|
||||
- PHP_MEMORY_LIMIT=${NEXTCLOUD_MEMORY_LIMIT}
|
||||
- FULLTEXTSEARCH_ENABLED
|
||||
- FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch
|
||||
- FULLTEXTSEARCH_PORT=9200
|
||||
- FULLTEXTSEARCH_USER=elastic
|
||||
- FULLTEXTSEARCH_INDEX=nextcloud-aio
|
||||
- PHP_MAX_TIME=${NEXTCLOUD_MAX_TIME}
|
||||
- TRUSTED_CACERTS_DIR=${NEXTCLOUD_TRUSTED_CACERTS_DIR}
|
||||
- STARTUP_APPS=${NEXTCLOUD_STARTUP_APPS}
|
||||
@@ -255,8 +252,8 @@ services:
|
||||
expose:
|
||||
- "9980"
|
||||
environment:
|
||||
- aliasgroup1=https://${NC_DOMAIN}:443,http://nextcloud-aio-apache:23973
|
||||
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:logging.level_startup=warning --o:home_mode.enable=true --o:remote_font_config.url=https://${NC_DOMAIN}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
|
||||
- aliasgroup1=https://${NC_DOMAIN}:443
|
||||
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true --o:remote_font_config.url=https://${NC_DOMAIN}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
|
||||
- dictionaries=${COLLABORA_DICTIONARIES}
|
||||
- TZ=${TIMEZONE}
|
||||
- server_name=${NC_DOMAIN}
|
||||
@@ -267,8 +264,6 @@ services:
|
||||
cap_add:
|
||||
- MKNOD
|
||||
- SYS_ADMIN
|
||||
- SYS_CHROOT
|
||||
- FOWNER
|
||||
- CHOWN
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
@@ -442,7 +437,7 @@ services:
|
||||
- bootstrap.memory_lock=true
|
||||
- cluster.name=nextcloud-aio
|
||||
- discovery.type=single-node
|
||||
- logger.level=WARN
|
||||
- logger.org.elasticsearch.discovery=WARN
|
||||
- http.port=9200
|
||||
- xpack.license.self_generated.type=basic
|
||||
- xpack.security.enabled=false
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: nextcloud-aio-helm-chart
|
||||
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
||||
version: 11.7.0
|
||||
version: 11.1.0
|
||||
apiVersion: v2
|
||||
keywords:
|
||||
- latest
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
name: nextcloud-aio-apache
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
spec:
|
||||
@@ -61,7 +61,7 @@ spec:
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
- name: WHITEBOARD_HOST
|
||||
value: nextcloud-aio-whiteboard
|
||||
image: ghcr.io/nextcloud-releases/aio-apache:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-apache:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
name: nextcloud-aio-apache
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
name: nextcloud-aio-clamav
|
||||
@@ -18,7 +18,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
spec:
|
||||
@@ -36,7 +36,7 @@ spec:
|
||||
{{- end }}
|
||||
initContainers:
|
||||
- name: init-subpath
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
|
||||
command:
|
||||
- mkdir
|
||||
- "-p"
|
||||
@@ -59,7 +59,7 @@ spec:
|
||||
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-clamav:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-clamav:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
name: nextcloud-aio-clamav
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
name: nextcloud-aio-collabora
|
||||
@@ -16,7 +16,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
spec:
|
||||
@@ -32,10 +32,10 @@ spec:
|
||||
- name: dictionaries
|
||||
value: "{{ .Values.COLLABORA_DICTIONARIES }}"
|
||||
- name: extra_params
|
||||
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:logging.level_startup=warning --o:home_mode.enable=true --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
|
||||
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
|
||||
- name: server_name
|
||||
value: "{{ .Values.NC_DOMAIN }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-collabora:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-collabora:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
@@ -61,7 +61,5 @@ spec:
|
||||
add:
|
||||
- MKNOD
|
||||
- CAP_SYS_ADMIN
|
||||
- SYS_CHROOT
|
||||
- FOWNER
|
||||
- CHOWN
|
||||
{{- end }}
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
name: nextcloud-aio-collabora
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
name: nextcloud-aio-database
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
spec:
|
||||
@@ -35,7 +35,7 @@ spec:
|
||||
{{- end }}
|
||||
initContainers:
|
||||
- name: init-subpath
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
|
||||
command:
|
||||
- mkdir
|
||||
- "-p"
|
||||
@@ -64,7 +64,7 @@ spec:
|
||||
value: nextcloud
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-postgresql:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-postgresql:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
name: nextcloud-aio-database
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
name: nextcloud-aio-fulltextsearch
|
||||
@@ -18,13 +18,13 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
@@ -48,13 +48,13 @@ spec:
|
||||
value: single-node
|
||||
- name: http.port
|
||||
value: "9200"
|
||||
- name: logger.level
|
||||
- name: logger.org.elasticsearch.discovery
|
||||
value: WARN
|
||||
- name: xpack.license.self_generated.type
|
||||
value: basic
|
||||
- name: xpack.security.enabled
|
||||
value: "false"
|
||||
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
name: nextcloud-aio-fulltextsearch
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
name: nextcloud-aio-imaginary
|
||||
@@ -16,7 +16,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
spec:
|
||||
@@ -38,7 +38,7 @@ spec:
|
||||
value: "{{ .Values.IMAGINARY_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-imaginary:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-imaginary:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
name: nextcloud-aio-imaginary
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
name: nextcloud-aio-nextcloud
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
spec:
|
||||
@@ -38,7 +38,7 @@ spec:
|
||||
# AIO settings start # Do not remove or change this line!
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
@@ -110,14 +110,8 @@ spec:
|
||||
value: "{{ .Values.FULLTEXTSEARCH_ENABLED }}"
|
||||
- name: FULLTEXTSEARCH_HOST
|
||||
value: nextcloud-aio-fulltextsearch
|
||||
- name: FULLTEXTSEARCH_INDEX
|
||||
value: nextcloud-aio
|
||||
- name: FULLTEXTSEARCH_PASSWORD
|
||||
value: "{{ .Values.FULLTEXTSEARCH_PASSWORD }}"
|
||||
- name: FULLTEXTSEARCH_PORT
|
||||
value: "9200"
|
||||
- name: FULLTEXTSEARCH_USER
|
||||
value: elastic
|
||||
- name: IMAGINARY_ENABLED
|
||||
value: "{{ .Values.IMAGINARY_ENABLED }}"
|
||||
- name: IMAGINARY_HOST
|
||||
@@ -188,7 +182,7 @@ spec:
|
||||
value: "{{ .Values.WHITEBOARD_ENABLED }}"
|
||||
- name: WHITEBOARD_SECRET
|
||||
value: "{{ .Values.WHITEBOARD_SECRET }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250619_082329
|
||||
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
|
||||
securityContext:
|
||||
# The items below only work in container context
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
name: nextcloud-aio-nextcloud
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-notify-push
|
||||
name: nextcloud-aio-notify-push
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-notify-push
|
||||
spec:
|
||||
@@ -55,7 +55,7 @@ spec:
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-notify-push:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-notify-push:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-notify-push
|
||||
name: nextcloud-aio-notify-push
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
@@ -18,13 +18,13 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250619_082329
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
@@ -42,7 +42,7 @@ spec:
|
||||
value: "{{ .Values.ONLYOFFICE_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
name: nextcloud-aio-redis
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
spec:
|
||||
@@ -39,7 +39,7 @@ spec:
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-redis:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-redis:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -2,7 +2,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
name: nextcloud-aio-redis
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk
|
||||
@@ -16,7 +16,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
spec:
|
||||
@@ -52,7 +52,7 @@ spec:
|
||||
value: "{{ .Values.TURN_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-talk:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-talk:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk-recording
|
||||
name: nextcloud-aio-talk-recording
|
||||
@@ -18,7 +18,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk-recording
|
||||
spec:
|
||||
@@ -44,7 +44,7 @@ spec:
|
||||
value: "{{ .Values.RECORDING_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-talk-recording:20250905_100617
|
||||
image: ghcr.io/nextcloud-releases/aio-talk-recording:20250619_082329
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -3,7 +3,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk-recording
|
||||
name: nextcloud-aio-talk-recording
|
||||
|
||||
@@ -4,7 +4,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk-public
|
||||
@@ -28,7 +28,7 @@ apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.version: 1.37.0 (fb0539e64)
|
||||
kompose.version: 1.36.0 (ae2a39403)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user