mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-06-10 08:37:02 +00:00
Compare commits
52 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9b981918b0 | |||
| 4bbd561aba | |||
| aa56b603ab | |||
| 4a35fda9d2 | |||
| 3a6ffcd9e9 | |||
| e659d3e047 | |||
| 7c2d0128ff | |||
| 3de2d79cd6 | |||
| 5b17e9368e | |||
| f22ed12c4b | |||
| e30f416d55 | |||
| 0ca4307bcb | |||
| 313c39d2bc | |||
| f7f107a3e5 | |||
| fe1ad77a45 | |||
| 8018fc9802 | |||
| 0c80e3071e | |||
| bec4f533cb | |||
| d6c6601b29 | |||
| 851cc26663 | |||
| d6644fd6a3 | |||
| 4c998aff73 | |||
| 99b5c181b1 | |||
| bc5ca59675 | |||
| 5a7f543754 | |||
| e2380aa521 | |||
| 39f4808376 | |||
| aadadf4460 | |||
| 52f8dc9043 | |||
| e96f5b43fa | |||
| 1f91919dca | |||
| 9c276df668 | |||
| 95f1691352 | |||
| 6cbf5eeefb | |||
| 25c7b8f7ef | |||
| 5393ffbb81 | |||
| 3cee8b2dda | |||
| 6375921282 | |||
| 792549c904 | |||
| 50eea8421b | |||
| 9ea710ba0e | |||
| 4940ece62a | |||
| eed6c74e0c | |||
| ee7d639a0e | |||
| 7fc2a134b7 | |||
| bd1d52b220 | |||
| d8e42d2fd8 | |||
| 8b6ff83c19 | |||
| 82f2e9dca1 | |||
| 414ef03706 | |||
| f668767765 | |||
| 2b8de735dc |
@@ -31,12 +31,12 @@ updates:
|
|||||||
- "/Containers/collabora"
|
- "/Containers/collabora"
|
||||||
- "/Containers/docker-socket-proxy"
|
- "/Containers/docker-socket-proxy"
|
||||||
- "/Containers/domaincheck"
|
- "/Containers/domaincheck"
|
||||||
|
- "/Containers/eurooffice"
|
||||||
- "/Containers/fulltextsearch"
|
- "/Containers/fulltextsearch"
|
||||||
- "/Containers/imaginary"
|
- "/Containers/imaginary"
|
||||||
- "/Containers/mastercontainer"
|
- "/Containers/mastercontainer"
|
||||||
- "/Containers/nextcloud"
|
- "/Containers/nextcloud"
|
||||||
- "/Containers/notify-push"
|
- "/Containers/notify-push"
|
||||||
- "/Containers/onlyoffice"
|
|
||||||
- "/Containers/postgresql"
|
- "/Containers/postgresql"
|
||||||
- "/Containers/redis"
|
- "/Containers/redis"
|
||||||
- "/Containers/talk"
|
- "/Containers/talk"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Check spelling
|
- name: Check spelling
|
||||||
uses: codespell-project/actions-codespell@8f01853be192eb0f849a5c7d721450e7a467c579 # v2
|
uses: codespell-project/actions-codespell@8f01853be192eb0f849a5c7d721450e7a467c579 # v2
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ jobs:
|
|||||||
name: update collabora
|
name: update collabora
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Run collabora-profile-update
|
- name: Run collabora-profile-update
|
||||||
run: |
|
run: |
|
||||||
rm -f php/cool-seccomp-profile.json
|
rm -f php/cool-seccomp-profile.json
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Validate structure
|
- name: Validate structure
|
||||||
run: |
|
run: |
|
||||||
CONTAINERS="$(find ./community-containers -mindepth 1 -maxdepth 1 -type d)"
|
CONTAINERS="$(find ./community-containers -mindepth 1 -maxdepth 1 -type d)"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ jobs:
|
|||||||
name: Run dependency update script
|
name: Run dependency update script
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
|
- uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.5
|
php-version: 8.5
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
|
||||||
- name: Install hadolint
|
- name: Install hadolint
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
|
||||||
- name: Turnstyle
|
- name: Turnstyle
|
||||||
uses: softprops/turnstyle@e15e934b3f69ee283ba389ea05c8886baa656d93 # v2
|
uses: softprops/turnstyle@e15e934b3f69ee283ba389ea05c8886baa656d93 # v2
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ jobs:
|
|||||||
name: update to latest imaginary commit on master branch
|
name: update to latest imaginary commit on master branch
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Run imaginary-update
|
- name: Run imaginary-update
|
||||||
run: |
|
run: |
|
||||||
# Imaginary
|
# Imaginary
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Validate Json
|
- name: Validate Json
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.1
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.1
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ jobs:
|
|||||||
name: Run nextcloud-update script
|
name: Run nextcloud-update script
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Run nextcloud-update script
|
- name: Run nextcloud-update script
|
||||||
run: |
|
run: |
|
||||||
# Inspired by https://github.com/nextcloud/docker/blob/master/update.sh
|
# Inspired by https://github.com/nextcloud/docker/blob/master/update.sh
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ jobs:
|
|||||||
name: PHP Deprecation Detector
|
name: PHP Deprecation Detector
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Set up php
|
- name: Set up php
|
||||||
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
|
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
|
||||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
|
||||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
|
||||||
- name: Set up php
|
- name: Set up php
|
||||||
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
|
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: static-psalm-analysis
|
name: static-psalm-analysis
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ jobs:
|
|||||||
name: Check Shell
|
name: Check Shell
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Run Shellcheck
|
- name: Run Shellcheck
|
||||||
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # v2.0.0
|
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # v2.0.0
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -42,14 +42,14 @@ jobs:
|
|||||||
require: admin
|
require: admin
|
||||||
|
|
||||||
- name: Checkout workflow repository
|
- name: Checkout workflow repository
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
path: source
|
path: source
|
||||||
repository: nextcloud/.github
|
repository: nextcloud/.github
|
||||||
|
|
||||||
- name: Checkout app
|
- name: Checkout app
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
path: target
|
path: target
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ jobs:
|
|||||||
name: update talk
|
name: update talk
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Run talk-container-update
|
- name: Run talk-container-update
|
||||||
run: |
|
run: |
|
||||||
# Recording
|
# Recording
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
|
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
|
||||||
|
|||||||
@@ -8,4 +8,4 @@ jobs:
|
|||||||
name: update copyright
|
name: update copyright
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: update helm chart
|
- name: update helm chart
|
||||||
run: |
|
run: |
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: update yaml files
|
- name: update yaml files
|
||||||
run: |
|
run: |
|
||||||
sudo bash manual-install/update-yaml.sh
|
sudo bash manual-install/update-yaml.sh
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ jobs:
|
|||||||
name: update watchtower
|
name: update watchtower
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Run watchtower-container-update
|
- name: Run watchtower-container-update
|
||||||
run: |
|
run: |
|
||||||
# Watchtower
|
# Watchtower
|
||||||
|
|||||||
@@ -47,7 +47,14 @@ http://{$APACHE_HOST}.nextcloud-aio:23973, # For Collabora callback and WOPI req
|
|||||||
uri strip_prefix /onlyoffice
|
uri strip_prefix /onlyoffice
|
||||||
reverse_proxy {$ONLYOFFICE_HOST}:80 {
|
reverse_proxy {$ONLYOFFICE_HOST}:80 {
|
||||||
header_up X-Forwarded-Host {http.request.hostport}/onlyoffice
|
header_up X-Forwarded-Host {http.request.hostport}/onlyoffice
|
||||||
header_up X-Forwarded-Proto https
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# EuroOffice
|
||||||
|
route /eurooffice/* {
|
||||||
|
uri strip_prefix /eurooffice
|
||||||
|
reverse_proxy {$EUROOFFICE_HOST}:80 {
|
||||||
|
header_up X-Forwarded-Prefix /eurooffice
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM caddy:2.11.3-alpine AS caddy
|
FROM caddy:2.11.4-alpine AS caddy
|
||||||
|
|
||||||
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
|
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
|
||||||
FROM httpd:2.4.67-alpine3.23
|
FROM httpd:2.4.68-alpine3.23
|
||||||
|
|
||||||
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy
|
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/blob/master/docker/from-packages/Dockerfile
|
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/blob/master/docker/from-packages/Dockerfile
|
||||||
FROM collabora/code:25.04.10.3.1
|
FROM collabora/code:26.04.1.4.1
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM haproxy:3.3.10-alpine
|
FROM haproxy:3.4.0-alpine
|
||||||
|
|
||||||
# hadolint ignore=DL3002
|
# hadolint ignore=DL3002
|
||||||
USER root
|
USER root
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# syntax=docker/dockerfile:latest
|
||||||
|
FROM ghcr.io/euro-office/documentserver:v9.3.1-beta.1
|
||||||
|
|
||||||
|
# USER root is probably used
|
||||||
|
|
||||||
|
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||||
|
|
||||||
|
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
|
||||||
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
|
wud.watch="false" \
|
||||||
|
dockhand.update="false" \
|
||||||
|
org.opencontainers.image.title="EuroOffice for Nextcloud AIO" \
|
||||||
|
org.opencontainers.image.description="EuroOffice Document Server for Nextcloud All-in-One" \
|
||||||
|
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
|
||||||
|
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
|
||||||
|
org.opencontainers.image.vendor="Nextcloud" \
|
||||||
|
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
|
|
||||||
|
nc -z 127.0.0.1 80 || exit 1
|
||||||
@@ -4,4 +4,4 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
|
|||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
|
|
||||||
curl -fs -u "elastic:$FULLTEXTSEARCH_PASSWORD" "http://127.0.0.1:9200/_cluster/health?filter_path=status" | grep -qE '"status":"(green|yellow)"' || exit 1
|
curl -fs -u "elastic:$ELASTIC_PASSWORD" "http://127.0.0.1:9200/_cluster/health?filter_path=status" | grep -qE '"status":"(green|yellow)"' || exit 1
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM golang:1.26.3-alpine3.23 AS go
|
FROM golang:1.26.4-alpine3.23 AS go
|
||||||
|
|
||||||
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
|
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# Docker CLI is a requirement
|
# Docker CLI is a requirement
|
||||||
FROM docker:29.5.2-cli AS docker
|
FROM docker:29.5.3-cli AS docker
|
||||||
|
|
||||||
ARG CADDY_REMOTE_HOST_HASH=e80a9931765a8dbcbb47db415863387f0df0e1b3
|
ARG CADDY_REMOTE_HOST_HASH=e80a9931765a8dbcbb47db415863387f0df0e1b3
|
||||||
|
|
||||||
# Caddy is a requirement
|
# Caddy is a requirement
|
||||||
FROM caddy:2.11.3-builder-alpine AS caddy
|
FROM caddy:2.11.4-builder-alpine AS caddy
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
xcaddy build --with github.com/muety/caddy-remote-host@"$CADDY_REMOTE_HOST_HASH"; \
|
xcaddy build --with github.com/muety/caddy-remote-host@"$CADDY_REMOTE_HOST_HASH"; \
|
||||||
/usr/bin/caddy list-modules
|
/usr/bin/caddy list-modules
|
||||||
|
|
||||||
# From https://github.com/docker-library/php/blob/master/8.5/alpine3.23/fpm/Dockerfile
|
# From https://github.com/docker-library/php/blob/master/8.5/alpine3.23/fpm/Dockerfile
|
||||||
FROM php:8.5.6-fpm-alpine3.23
|
FROM php:8.5.7-fpm-alpine3.23
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|||||||
@@ -867,6 +867,58 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# EuroOffice
|
||||||
|
if [ "$EUROOFFICE_ENABLED" = 'yes' ]; then
|
||||||
|
# Determine EuroOffice port based on host pattern
|
||||||
|
if echo "$EUROOFFICE_HOST" | grep -q "nextcloud-.*-eurooffice"; then
|
||||||
|
EUROOFFICE_PORT=80
|
||||||
|
else
|
||||||
|
EUROOFFICE_PORT=443
|
||||||
|
fi
|
||||||
|
|
||||||
|
count=0
|
||||||
|
while ! nc -z "$EUROOFFICE_HOST" "$EUROOFFICE_PORT" && [ "$count" -lt 90 ]; do
|
||||||
|
echo "Waiting for EuroOffice to become available..."
|
||||||
|
count=$((count+5))
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
|
if [ "$count" -ge 90 ]; then
|
||||||
|
bash /notify.sh "EuroOffice did not start in time!" "Skipping initialization and disabling eurooffice app."
|
||||||
|
php /var/www/html/occ app:disable eurooffice
|
||||||
|
else
|
||||||
|
# Install or enable EuroOffice app as needed
|
||||||
|
if ! [ -d "/var/www/html/custom_apps/eurooffice" ]; then
|
||||||
|
php /var/www/html/occ app:install eurooffice
|
||||||
|
elif [ "$(php /var/www/html/occ config:app:get eurooffice enabled)" != "yes" ]; then
|
||||||
|
php /var/www/html/occ app:enable eurooffice
|
||||||
|
elif [ "$SKIP_UPDATE" != 1 ]; then
|
||||||
|
php /var/www/html/occ app:update eurooffice
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set EuroOffice configuration
|
||||||
|
php /var/www/html/occ config:system:set eurooffice editors_check_interval --value="0" --type=integer
|
||||||
|
php /var/www/html/occ config:system:set eurooffice jwt_secret --value="$EUROOFFICE_SECRET"
|
||||||
|
php /var/www/html/occ config:app:set eurooffice jwt_secret --value="$EUROOFFICE_SECRET"
|
||||||
|
php /var/www/html/occ config:system:set eurooffice jwt_header --value="AuthorizationJwt"
|
||||||
|
|
||||||
|
# Adjust the EuroOffice host if using internal pattern
|
||||||
|
if echo "$EUROOFFICE_HOST" | grep -q "nextcloud-.*-eurooffice"; then
|
||||||
|
EUROOFFICE_HOST="$NC_DOMAIN/eurooffice"
|
||||||
|
export EUROOFFICE_HOST
|
||||||
|
fi
|
||||||
|
|
||||||
|
php /var/www/html/occ config:app:set eurooffice DocumentServerUrl --value="https://$EUROOFFICE_HOST"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Remove EuroOffice app if disabled and removal is requested
|
||||||
|
if [ "$REMOVE_DISABLED_APPS" = yes ] && \
|
||||||
|
[ -d "/var/www/html/custom_apps/eurooffice" ] && \
|
||||||
|
[ -n "$EUROOFFICE_SECRET" ] && \
|
||||||
|
[ "$(php /var/www/html/occ config:system:get eurooffice jwt_secret)" = "$EUROOFFICE_SECRET" ]; then
|
||||||
|
php /var/www/html/occ app:remove eurooffice
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Talk
|
# Talk
|
||||||
if [ "$TALK_ENABLED" = 'yes' ]; then
|
if [ "$TALK_ENABLED" = 'yes' ]; then
|
||||||
set -x
|
set -x
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ esac)"
|
|||||||
export POSTGRES_LOG_MIN_MESSAGES
|
export POSTGRES_LOG_MIN_MESSAGES
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
|
GREP_STRING='Name: oc_appconfig; Type: TABLE; Schema: public; Owner:'
|
||||||
|
export GREP_STRING
|
||||||
DATADIR="/var/lib/postgresql/data"
|
DATADIR="/var/lib/postgresql/data"
|
||||||
export DUMP_DIR="/mnt/data"
|
export DUMP_DIR="/mnt/data"
|
||||||
DUMP_FILE="$DUMP_DIR/database-dump.sql"
|
DUMP_FILE="$DUMP_DIR/database-dump.sql"
|
||||||
@@ -103,7 +105,6 @@ if ( [ -f "$DATADIR/PG_VERSION" ] && [ "$PG_MAJOR" != "$(cat "$DATADIR/PG_VERSIO
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Check if the line we grep for later on is there
|
# Check if the line we grep for later on is there
|
||||||
GREP_STRING='Name: oc_appconfig; Type: TABLE; Schema: public; Owner:'
|
|
||||||
if ! grep -qa "$GREP_STRING" "$DUMP_FILE"; then
|
if ! grep -qa "$GREP_STRING" "$DUMP_FILE"; then
|
||||||
echo "The needed oc_appconfig line is not there which is unexpected."
|
echo "The needed oc_appconfig line is not there which is unexpected."
|
||||||
echo "Please report this to https://github.com/nextcloud/all-in-one/issues. Thanks!"
|
echo "Please report this to https://github.com/nextcloud/all-in-one/issues. Thanks!"
|
||||||
@@ -239,6 +240,12 @@ do_database_dump() {
|
|||||||
rm -f "$DUMP_FILE"
|
rm -f "$DUMP_FILE"
|
||||||
mv "$DUMP_FILE.temp" "$DUMP_FILE"
|
mv "$DUMP_FILE.temp" "$DUMP_FILE"
|
||||||
pg_ctl stop -m fast
|
pg_ctl stop -m fast
|
||||||
|
if ! grep -qa "$GREP_STRING" "$DUMP_FILE"; then
|
||||||
|
echo "Database dump was successful but the expected grep string does not exist."
|
||||||
|
echo "This is not expected!"
|
||||||
|
echo "Please report this to https://github.com/nextcloud/all-in-one/issues."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
rm "$DUMP_DIR/export.failed"
|
rm "$DUMP_DIR/export.failed"
|
||||||
echo 'Database dump successful!'
|
echo 'Database dump successful!'
|
||||||
if [ "$AIO_LOG_LEVEL" != 'debug' ]; then
|
if [ "$AIO_LOG_LEVEL" != 'debug' ]; then
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM nats:2.14.1-scratch AS nats
|
FROM nats:2.14.2-scratch AS nats
|
||||||
FROM eturnal/eturnal:1.12.2-alpine AS eturnal
|
FROM eturnal/eturnal:1.12.2-alpine AS eturnal
|
||||||
FROM strukturag/nextcloud-spreed-signaling:2.1.1 AS signaling
|
FROM strukturag/nextcloud-spreed-signaling:2.1.1 AS signaling
|
||||||
FROM alpine:3.23.4 AS janus
|
FROM alpine:3.23.4 AS janus
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM golang:1.26.3-alpine3.23 AS go
|
FROM golang:1.26.4-alpine3.23 AS go
|
||||||
|
|
||||||
ENV WATCHTOWER_COMMIT_HASH=9d0048403a7242943084bede951f6f966f7691ba
|
ENV WATCHTOWER_COMMIT_HASH=9d0048403a7242943084bede951f6f966f7691ba
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,9 @@
|
|||||||
"writeable": false
|
"writeable": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"cap_add": [
|
||||||
|
"SYS_RAWIO"
|
||||||
|
],
|
||||||
"environment": [
|
"environment": [
|
||||||
"TZ=%TIMEZONE%",
|
"TZ=%TIMEZONE%",
|
||||||
"SECURE_CONNECTION=1",
|
"SECURE_CONNECTION=1",
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ services:
|
|||||||
nextcloud-aio-onlyoffice:
|
nextcloud-aio-onlyoffice:
|
||||||
condition: service_started
|
condition: service_started
|
||||||
required: false
|
required: false
|
||||||
|
nextcloud-aio-eurooffice:
|
||||||
|
condition: service_started
|
||||||
|
required: false
|
||||||
nextcloud-aio-collabora:
|
nextcloud-aio-collabora:
|
||||||
condition: service_started
|
condition: service_started
|
||||||
required: false
|
required: false
|
||||||
@@ -41,6 +44,7 @@ services:
|
|||||||
- APACHE_PORT
|
- APACHE_PORT
|
||||||
- AIO_LOG_LEVEL
|
- AIO_LOG_LEVEL
|
||||||
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
|
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
|
||||||
|
- EUROOFFICE_HOST=nextcloud-aio-eurooffice
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- APACHE_MAX_SIZE
|
- APACHE_MAX_SIZE
|
||||||
- APACHE_MAX_TIME=${NEXTCLOUD_MAX_TIME}
|
- APACHE_MAX_TIME=${NEXTCLOUD_MAX_TIME}
|
||||||
@@ -150,15 +154,18 @@ services:
|
|||||||
- TURN_SECRET
|
- TURN_SECRET
|
||||||
- SIGNALING_SECRET
|
- SIGNALING_SECRET
|
||||||
- ONLYOFFICE_SECRET
|
- ONLYOFFICE_SECRET
|
||||||
|
- EUROOFFICE_SECRET
|
||||||
- AIO_LOG_LEVEL
|
- AIO_LOG_LEVEL
|
||||||
- NEXTCLOUD_MOUNT
|
- NEXTCLOUD_MOUNT
|
||||||
- CLAMAV_ENABLED
|
- CLAMAV_ENABLED
|
||||||
- CLAMAV_HOST=nextcloud-aio-clamav
|
- CLAMAV_HOST=nextcloud-aio-clamav
|
||||||
- ONLYOFFICE_ENABLED
|
- ONLYOFFICE_ENABLED
|
||||||
|
- EUROOFFICE_ENABLED
|
||||||
- COLLABORA_ENABLED
|
- COLLABORA_ENABLED
|
||||||
- COLLABORA_HOST=nextcloud-aio-collabora
|
- COLLABORA_HOST=nextcloud-aio-collabora
|
||||||
- TALK_ENABLED
|
- TALK_ENABLED
|
||||||
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
|
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
|
||||||
|
- EUROOFFICE_HOST=nextcloud-aio-eurooffice
|
||||||
- UPDATE_NEXTCLOUD_APPS
|
- UPDATE_NEXTCLOUD_APPS
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- TALK_PORT
|
- TALK_PORT
|
||||||
@@ -406,6 +413,33 @@ services:
|
|||||||
cap_drop:
|
cap_drop:
|
||||||
- NET_RAW
|
- NET_RAW
|
||||||
|
|
||||||
|
nextcloud-aio-eurooffice:
|
||||||
|
image: ghcr.io/nextcloud-releases/aio-eurooffice:latest
|
||||||
|
init: true
|
||||||
|
healthcheck:
|
||||||
|
start_period: 60s
|
||||||
|
test: /healthcheck.sh
|
||||||
|
interval: 30s
|
||||||
|
timeout: 30s
|
||||||
|
start_interval: 5s
|
||||||
|
retries: 9
|
||||||
|
expose:
|
||||||
|
- "80"
|
||||||
|
environment:
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
|
- LOG_LEVEL=${AIO_LOG_LEVEL}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
- JWT_ENABLED=true
|
||||||
|
- JWT_HEADER=AuthorizationJwt
|
||||||
|
- JWT_SECRET=${EUROOFFICE_SECRET}
|
||||||
|
volumes:
|
||||||
|
- nextcloud_aio_eurooffice:/var/lib/euro-office:rw
|
||||||
|
restart: unless-stopped
|
||||||
|
profiles:
|
||||||
|
- eurooffice
|
||||||
|
cap_drop:
|
||||||
|
- NET_RAW
|
||||||
|
|
||||||
nextcloud-aio-imaginary:
|
nextcloud-aio-imaginary:
|
||||||
image: ghcr.io/nextcloud-releases/aio-imaginary:latest
|
image: ghcr.io/nextcloud-releases/aio-imaginary:latest
|
||||||
user: "65534"
|
user: "65534"
|
||||||
@@ -455,11 +489,13 @@ services:
|
|||||||
- discovery.type=single-node
|
- discovery.type=single-node
|
||||||
- http.port=9200
|
- http.port=9200
|
||||||
- xpack.license.self_generated.type=basic
|
- xpack.license.self_generated.type=basic
|
||||||
- xpack.security.enabled=false
|
- xpack.security.enabled=true
|
||||||
|
- xpack.security.http.ssl.enabled=false
|
||||||
|
- xpack.security.transport.ssl.enabled=false
|
||||||
- indices.fielddata.cache.size=20%
|
- indices.fielddata.cache.size=20%
|
||||||
- indices.memory.index_buffer_size=20%
|
- indices.memory.index_buffer_size=20%
|
||||||
- thread_pool.write.queue_size=1000
|
- thread_pool.write.queue_size=1000
|
||||||
- FULLTEXTSEARCH_PASSWORD
|
- ELASTIC_PASSWORD=${FULLTEXTSEARCH_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud_aio_elasticsearch:/usr/share/elasticsearch/data:rw
|
- nextcloud_aio_elasticsearch:/usr/share/elasticsearch/data:rw
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -511,6 +547,8 @@ volumes:
|
|||||||
name: nextcloud_aio_database_dump
|
name: nextcloud_aio_database_dump
|
||||||
nextcloud_aio_elasticsearch:
|
nextcloud_aio_elasticsearch:
|
||||||
name: nextcloud_aio_elasticsearch
|
name: nextcloud_aio_elasticsearch
|
||||||
|
nextcloud_aio_eurooffice:
|
||||||
|
name: nextcloud_aio_eurooffice
|
||||||
nextcloud_aio_nextcloud:
|
nextcloud_aio_nextcloud:
|
||||||
name: nextcloud_aio_nextcloud
|
name: nextcloud_aio_nextcloud
|
||||||
nextcloud_aio_onlyoffice:
|
nextcloud_aio_onlyoffice:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
DATABASE_PASSWORD= # TODO! This needs to be a unique and good password!
|
DATABASE_PASSWORD= # TODO! This needs to be a unique and good password!
|
||||||
|
EUROOFFICE_SECRET= # TODO! This needs to be a unique and good password!
|
||||||
FULLTEXTSEARCH_PASSWORD= # TODO! This needs to be a unique and good password!
|
FULLTEXTSEARCH_PASSWORD= # TODO! This needs to be a unique and good password!
|
||||||
IMAGINARY_SECRET= # TODO! This needs to be a unique and good password!
|
IMAGINARY_SECRET= # TODO! This needs to be a unique and good password!
|
||||||
NC_DOMAIN=yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
|
NC_DOMAIN=yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
|
||||||
@@ -14,6 +15,7 @@ WHITEBOARD_SECRET= # TODO! This needs to be a unique and good password!
|
|||||||
|
|
||||||
CLAMAV_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
CLAMAV_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
COLLABORA_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
COLLABORA_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
|
EUROOFFICE_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
FULLTEXTSEARCH_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
FULLTEXTSEARCH_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
IMAGINARY_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
IMAGINARY_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
ONLYOFFICE_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
ONLYOFFICE_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: nextcloud-aio-helm-chart
|
name: nextcloud-aio-helm-chart
|
||||||
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
||||||
version: 13.1.0
|
version: 13.2.1
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
keywords:
|
keywords:
|
||||||
- latest
|
- latest
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ spec:
|
|||||||
value: "{{ .Values.APACHE_PORT }}"
|
value: "{{ .Values.APACHE_PORT }}"
|
||||||
- name: COLLABORA_HOST
|
- name: COLLABORA_HOST
|
||||||
value: nextcloud-aio-collabora
|
value: nextcloud-aio-collabora
|
||||||
|
- name: EUROOFFICE_HOST
|
||||||
|
value: nextcloud-aio-eurooffice
|
||||||
- name: NC_DOMAIN
|
- name: NC_DOMAIN
|
||||||
value: "{{ .Values.NC_DOMAIN }}"
|
value: "{{ .Values.NC_DOMAIN }}"
|
||||||
- name: NEXTCLOUD_HOST
|
- name: NEXTCLOUD_HOST
|
||||||
@@ -63,7 +65,7 @@ spec:
|
|||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
- name: WHITEBOARD_HOST
|
- name: WHITEBOARD_HOST
|
||||||
value: nextcloud-aio-whiteboard
|
value: nextcloud-aio-whiteboard
|
||||||
image: ghcr.io/nextcloud-releases/aio-apache:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-apache:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-subpath
|
- name: init-subpath
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260609_115915
|
||||||
command:
|
command:
|
||||||
- mkdir
|
- mkdir
|
||||||
- "-p"
|
- "-p"
|
||||||
@@ -61,7 +61,7 @@ spec:
|
|||||||
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
|
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-clamav:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-clamav:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -38,9 +38,9 @@ spec:
|
|||||||
- name: server_name
|
- name: server_name
|
||||||
value: "{{ .Values.NC_DOMAIN }}"
|
value: "{{ .Values.NC_DOMAIN }}"
|
||||||
{{- if contains "--o:support_key=" (join " " (.Values.ADDITIONAL_COLLABORA_OPTIONS | default list)) }}
|
{{- if contains "--o:support_key=" (join " " (.Values.ADDITIONAL_COLLABORA_OPTIONS | default list)) }}
|
||||||
image: ghcr.io/nextcloud-releases/aio-collabora-online:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-collabora-online:20260609_115915
|
||||||
{{- else }}
|
{{- else }}
|
||||||
image: ghcr.io/nextcloud-releases/aio-collabora:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-collabora:20260609_115915
|
||||||
{{- end }}
|
{{- end }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-subpath
|
- name: init-subpath
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260609_115915
|
||||||
command:
|
command:
|
||||||
- mkdir
|
- mkdir
|
||||||
- "-p"
|
- "-p"
|
||||||
@@ -66,7 +66,7 @@ spec:
|
|||||||
value: nextcloud
|
value: nextcloud
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-postgresql:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-postgresql:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
+77
@@ -0,0 +1,77 @@
|
|||||||
|
{{- if eq .Values.EUROOFFICE_ENABLED "yes" }}
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: nextcloud-aio-eurooffice
|
||||||
|
name: nextcloud-aio-eurooffice
|
||||||
|
namespace: "{{ .Values.NAMESPACE }}"
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
io.kompose.service: nextcloud-aio-eurooffice
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: nextcloud-aio-eurooffice
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: init-volumes
|
||||||
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260609_115915
|
||||||
|
command:
|
||||||
|
- chmod
|
||||||
|
- "777"
|
||||||
|
- /nextcloud-aio-eurooffice
|
||||||
|
volumeMounts:
|
||||||
|
- name: nextcloud-aio-eurooffice
|
||||||
|
mountPath: /nextcloud-aio-eurooffice
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
|
- name: JWT_ENABLED
|
||||||
|
value: "true"
|
||||||
|
- name: JWT_HEADER
|
||||||
|
value: AuthorizationJwt
|
||||||
|
- name: JWT_SECRET
|
||||||
|
value: "{{ .Values.EUROOFFICE_SECRET }}"
|
||||||
|
- name: LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
|
- name: TZ
|
||||||
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
|
image: ghcr.io/nextcloud-releases/aio-eurooffice:20260609_115915
|
||||||
|
readinessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /healthcheck.sh
|
||||||
|
failureThreshold: 9
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
periodSeconds: 30
|
||||||
|
timeoutSeconds: 30
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /healthcheck.sh
|
||||||
|
failureThreshold: 9
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
periodSeconds: 30
|
||||||
|
timeoutSeconds: 30
|
||||||
|
name: nextcloud-aio-eurooffice
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /var/lib/euro-office
|
||||||
|
name: nextcloud-aio-eurooffice
|
||||||
|
volumes:
|
||||||
|
- name: nextcloud-aio-eurooffice
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: nextcloud-aio-eurooffice
|
||||||
|
{{- end }}
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
{{- if eq .Values.EUROOFFICE_ENABLED "yes" }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
io.kompose.service: nextcloud-aio-eurooffice
|
||||||
|
name: nextcloud-aio-eurooffice
|
||||||
|
namespace: "{{ .Values.NAMESPACE }}"
|
||||||
|
spec:
|
||||||
|
{{- if .Values.STORAGE_CLASS }}
|
||||||
|
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||||
|
{{- end }}
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.EUROOFFICE_STORAGE_SIZE }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{{- if eq .Values.EUROOFFICE_ENABLED "yes" }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.version: 1.38.0 (a8f5d1cbd)
|
||||||
|
labels:
|
||||||
|
io.kompose.service: nextcloud-aio-eurooffice
|
||||||
|
name: nextcloud-aio-eurooffice
|
||||||
|
namespace: "{{ .Values.NAMESPACE }}"
|
||||||
|
spec:
|
||||||
|
ipFamilyPolicy: PreferDualStack
|
||||||
|
ports:
|
||||||
|
- name: "80"
|
||||||
|
port: 80
|
||||||
|
targetPort: 80
|
||||||
|
selector:
|
||||||
|
io.kompose.service: nextcloud-aio-eurooffice
|
||||||
|
{{- end }}
|
||||||
@@ -24,7 +24,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-volumes
|
- name: init-volumes
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260609_115915
|
||||||
command:
|
command:
|
||||||
- chmod
|
- chmod
|
||||||
- "777"
|
- "777"
|
||||||
@@ -36,10 +36,10 @@ spec:
|
|||||||
- env:
|
- env:
|
||||||
- name: AIO_LOG_LEVEL
|
- name: AIO_LOG_LEVEL
|
||||||
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
|
- name: ELASTIC_PASSWORD
|
||||||
|
value: "{{ .Values.FULLTEXTSEARCH_PASSWORD }}"
|
||||||
- name: ES_JAVA_OPTS
|
- name: ES_JAVA_OPTS
|
||||||
value: "{{ .Values.FULLTEXTSEARCH_JAVA_OPTIONS | default "-Xms512M -Xmx512M" }}"
|
value: "{{ .Values.FULLTEXTSEARCH_JAVA_OPTIONS | default "-Xms512M -Xmx512M" }}"
|
||||||
- name: FULLTEXTSEARCH_PASSWORD
|
|
||||||
value: "{{ .Values.FULLTEXTSEARCH_PASSWORD }}"
|
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
- name: bootstrap.memory_lock
|
- name: bootstrap.memory_lock
|
||||||
@@ -59,8 +59,12 @@ spec:
|
|||||||
- name: xpack.license.self_generated.type
|
- name: xpack.license.self_generated.type
|
||||||
value: basic
|
value: basic
|
||||||
- name: xpack.security.enabled
|
- name: xpack.security.enabled
|
||||||
|
value: "true"
|
||||||
|
- name: xpack.security.http.ssl.enabled
|
||||||
value: "false"
|
value: "false"
|
||||||
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20260527_140826
|
- name: xpack.security.transport.ssl.enabled
|
||||||
|
value: "false"
|
||||||
|
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ spec:
|
|||||||
value: "{{ .Values.IMAGINARY_SECRET }}"
|
value: "{{ .Values.IMAGINARY_SECRET }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-imaginary:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-imaginary:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ spec:
|
|||||||
# AIO settings start # Do not remove or change this line!
|
# AIO settings start # Do not remove or change this line!
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-volumes
|
- name: init-volumes
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260609_115915
|
||||||
command:
|
command:
|
||||||
- chmod
|
- chmod
|
||||||
- "777"
|
- "777"
|
||||||
@@ -106,6 +106,12 @@ spec:
|
|||||||
value: "{{ .Values.COLLABORA_ENABLED }}"
|
value: "{{ .Values.COLLABORA_ENABLED }}"
|
||||||
- name: COLLABORA_HOST
|
- name: COLLABORA_HOST
|
||||||
value: nextcloud-aio-collabora
|
value: nextcloud-aio-collabora
|
||||||
|
- name: EUROOFFICE_ENABLED
|
||||||
|
value: "{{ .Values.EUROOFFICE_ENABLED }}"
|
||||||
|
- name: EUROOFFICE_HOST
|
||||||
|
value: nextcloud-aio-eurooffice
|
||||||
|
- name: EUROOFFICE_SECRET
|
||||||
|
value: "{{ .Values.EUROOFFICE_SECRET }}"
|
||||||
- name: FULLTEXTSEARCH_ENABLED
|
- name: FULLTEXTSEARCH_ENABLED
|
||||||
value: "{{ .Values.FULLTEXTSEARCH_ENABLED }}"
|
value: "{{ .Values.FULLTEXTSEARCH_ENABLED }}"
|
||||||
- name: FULLTEXTSEARCH_HOST
|
- name: FULLTEXTSEARCH_HOST
|
||||||
@@ -192,7 +198,7 @@ spec:
|
|||||||
value: "{{ .Values.WHITEBOARD_ENABLED }}"
|
value: "{{ .Values.WHITEBOARD_ENABLED }}"
|
||||||
- name: WHITEBOARD_SECRET
|
- name: WHITEBOARD_SECRET
|
||||||
value: "{{ .Values.WHITEBOARD_SECRET }}"
|
value: "{{ .Values.WHITEBOARD_SECRET }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-nextcloud:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-nextcloud:20260609_115915
|
||||||
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
|
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
|
||||||
securityContext:
|
securityContext:
|
||||||
# The items below only work in container context
|
# The items below only work in container context
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ spec:
|
|||||||
value: nextcloud-aio-nextcloud
|
value: nextcloud-aio-nextcloud
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-notify-push:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-notify-push:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-volumes
|
- name: init-volumes
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260609_115915
|
||||||
command:
|
command:
|
||||||
- chmod
|
- chmod
|
||||||
- "777"
|
- "777"
|
||||||
@@ -46,7 +46,7 @@ spec:
|
|||||||
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ spec:
|
|||||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-redis:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-redis:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ spec:
|
|||||||
value: "{{ .Values.TURN_SECRET }}"
|
value: "{{ .Values.TURN_SECRET }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-talk:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-talk:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ spec:
|
|||||||
value: "{{ .Values.RECORDING_SECRET }}"
|
value: "{{ .Values.RECORDING_SECRET }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-talk-recording:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-talk-recording:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ spec:
|
|||||||
value: redis
|
value: redis
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-whiteboard:20260527_140826
|
image: ghcr.io/nextcloud-releases/aio-whiteboard:20260609_115915
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ for variable in "${DEPLOYMENTS[@]}"; do
|
|||||||
sed -i "/^ spec:/r /tmp/initcontainers.clamav" "$variable"
|
sed -i "/^ spec:/r /tmp/initcontainers.clamav" "$variable"
|
||||||
elif echo "$variable" | grep -q "nextcloud-deployment.yaml"; then
|
elif echo "$variable" | grep -q "nextcloud-deployment.yaml"; then
|
||||||
sed -i "/^ spec:/r /tmp/initcontainers.nextcloud" "$variable"
|
sed -i "/^ spec:/r /tmp/initcontainers.nextcloud" "$variable"
|
||||||
elif echo "$variable" | grep -q "fulltextsearch" || echo "$variable" | grep -q "onlyoffice" || echo "$variable" | grep -q "collabora"; then
|
elif echo "$variable" | grep -q "fulltextsearch" || echo "$variable" | grep -q "onlyoffice" || echo "$variable" | grep -q "eurooffice" || echo "$variable" | grep -q "collabora"; then
|
||||||
sed -i "/^ spec:/r /tmp/initcontainers" "$variable"
|
sed -i "/^ spec:/r /tmp/initcontainers" "$variable"
|
||||||
fi
|
fi
|
||||||
volumeNames="$(grep -A1 mountPath "$variable" | grep -v mountPath | sed 's|.*name: ||' | sed '/^--$/d')"
|
volumeNames="$(grep -A1 mountPath "$variable" | grep -v mountPath | sed 's|.*name: ||' | sed '/^--$/d')"
|
||||||
@@ -499,7 +499,7 @@ cat << EOL > /tmp/security.conf
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
EOL
|
EOL
|
||||||
# shellcheck disable=SC1083
|
# shellcheck disable=SC1083
|
||||||
find ./ \( -not -name '*collabora-deployment.yaml*' -not -name '*apache-deployment.yaml*' -not -name '*onlyoffice-deployment.yaml*' -name "*deployment.yaml" \) -exec sed -i "/^ securityContext:$/r /tmp/security.conf" \{} \;
|
find ./ \( -not -name '*collabora-deployment.yaml*' -not -name '*apache-deployment.yaml*' -not -name '*onlyoffice-deployment.yaml*' -not -name '*eurooffice-deployment.yaml*' -name "*deployment.yaml" \) -exec sed -i "/^ securityContext:$/r /tmp/security.conf" \{} \;
|
||||||
|
|
||||||
# shellcheck disable=SC1083
|
# shellcheck disable=SC1083
|
||||||
find ./ -name '*collabora-deployment.yaml*' -exec sed -i "/ADDITIONAL_COLLABORA_OPTIONS_PLACEHOLDER/d" \{} \;
|
find ./ -name '*collabora-deployment.yaml*' -exec sed -i "/ADDITIONAL_COLLABORA_OPTIONS_PLACEHOLDER/d" \{} \;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
DATABASE_PASSWORD: # TODO! This needs to be a unique and good password!
|
DATABASE_PASSWORD: # TODO! This needs to be a unique and good password!
|
||||||
|
EUROOFFICE_SECRET: # TODO! This needs to be a unique and good password!
|
||||||
FULLTEXTSEARCH_PASSWORD: # TODO! This needs to be a unique and good password!
|
FULLTEXTSEARCH_PASSWORD: # TODO! This needs to be a unique and good password!
|
||||||
IMAGINARY_SECRET: # TODO! This needs to be a unique and good password!
|
IMAGINARY_SECRET: # TODO! This needs to be a unique and good password!
|
||||||
NC_DOMAIN: yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
|
NC_DOMAIN: yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
|
||||||
@@ -14,6 +15,7 @@ WHITEBOARD_SECRET: # TODO! This needs to be a unique and good password
|
|||||||
|
|
||||||
CLAMAV_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
CLAMAV_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
COLLABORA_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
COLLABORA_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
|
EUROOFFICE_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
FULLTEXTSEARCH_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
FULLTEXTSEARCH_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
IMAGINARY_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
IMAGINARY_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
ONLYOFFICE_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
ONLYOFFICE_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
@@ -46,6 +48,7 @@ CLAMAV_STORAGE_SIZE: 1Gi # You can change the size of the clamav volume th
|
|||||||
DATABASE_STORAGE_SIZE: 1Gi # You can change the size of the database volume that default to 1Gi with this value
|
DATABASE_STORAGE_SIZE: 1Gi # You can change the size of the database volume that default to 1Gi with this value
|
||||||
DATABASE_DUMP_STORAGE_SIZE: 1Gi # You can change the size of the database-dump volume that default to 1Gi with this value
|
DATABASE_DUMP_STORAGE_SIZE: 1Gi # You can change the size of the database-dump volume that default to 1Gi with this value
|
||||||
ELASTICSEARCH_STORAGE_SIZE: 1Gi # You can change the size of the elasticsearch volume that default to 1Gi with this value
|
ELASTICSEARCH_STORAGE_SIZE: 1Gi # You can change the size of the elasticsearch volume that default to 1Gi with this value
|
||||||
|
EUROOFFICE_STORAGE_SIZE: 1Gi # You can change the size of the eurooffice volume that default to 1Gi with this value
|
||||||
NEXTCLOUD_STORAGE_SIZE: 5Gi # You can change the size of the nextcloud volume that default to 1Gi with this value
|
NEXTCLOUD_STORAGE_SIZE: 5Gi # You can change the size of the nextcloud volume that default to 1Gi with this value
|
||||||
NEXTCLOUD_DATA_STORAGE_SIZE: 5Gi # You can change the size of the nextcloud-data volume that default to 1Gi with this value
|
NEXTCLOUD_DATA_STORAGE_SIZE: 5Gi # You can change the size of the nextcloud-data volume that default to 1Gi with this value
|
||||||
NEXTCLOUD_TRUSTED_CACERTS_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud-trusted-cacerts volume that default to 1Gi with this value
|
NEXTCLOUD_TRUSTED_CACERTS_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud-trusted-cacerts volume that default to 1Gi with this value
|
||||||
|
|||||||
Generated
+13
-13
@@ -64,16 +64,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/guzzle",
|
"name": "guzzlehttp/guzzle",
|
||||||
"version": "7.11.0",
|
"version": "7.11.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/guzzle/guzzle.git",
|
"url": "https://github.com/guzzle/guzzle.git",
|
||||||
"reference": "c987f8ce84b8434fa430795eca0f3430663da72b"
|
"reference": "5af96f374e0ab4ebd747b8310888c99d3adb0a8c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/c987f8ce84b8434fa430795eca0f3430663da72b",
|
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/5af96f374e0ab4ebd747b8310888c99d3adb0a8c",
|
||||||
"reference": "c987f8ce84b8434fa430795eca0f3430663da72b",
|
"reference": "5af96f374e0ab4ebd747b8310888c99d3adb0a8c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
"bamarni/composer-bin-plugin": "^1.8.2",
|
"bamarni/composer-bin-plugin": "^1.8.2",
|
||||||
"ext-curl": "*",
|
"ext-curl": "*",
|
||||||
"guzzle/client-integration-tests": "3.0.2",
|
"guzzle/client-integration-tests": "3.0.2",
|
||||||
"guzzlehttp/test-server": "^0.4",
|
"guzzlehttp/test-server": "^0.5",
|
||||||
"php-http/message-factory": "^1.1",
|
"php-http/message-factory": "^1.1",
|
||||||
"phpunit/phpunit": "^8.5.52 || ^9.6.34",
|
"phpunit/phpunit": "^8.5.52 || ^9.6.34",
|
||||||
"psr/log": "^1.1 || ^2.0 || ^3.0"
|
"psr/log": "^1.1 || ^2.0 || ^3.0"
|
||||||
@@ -172,7 +172,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/guzzle/guzzle/issues",
|
"issues": "https://github.com/guzzle/guzzle/issues",
|
||||||
"source": "https://github.com/guzzle/guzzle/tree/7.11.0"
|
"source": "https://github.com/guzzle/guzzle/tree/7.11.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -188,7 +188,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-06-02T12:40:51+00:00"
|
"time": "2026-06-07T22:54:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/promises",
|
"name": "guzzlehttp/promises",
|
||||||
@@ -1624,16 +1624,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-mbstring",
|
"name": "symfony/polyfill-mbstring",
|
||||||
"version": "v1.38.1",
|
"version": "v1.38.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||||
"reference": "14c5439eec4ccff081ac14eca2dc57feb2a66d92"
|
"reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/14c5439eec4ccff081ac14eca2dc57feb2a66d92",
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
|
||||||
"reference": "14c5439eec4ccff081ac14eca2dc57feb2a66d92",
|
"reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1685,7 +1685,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.1"
|
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1705,7 +1705,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-05-26T12:51:13+00:00"
|
"time": "2026-05-27T06:59:30+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php80",
|
"name": "symfony/polyfill-php80",
|
||||||
|
|||||||
+51
-1
@@ -6,6 +6,7 @@
|
|||||||
"documentation": "https://github.com/nextcloud/all-in-one/discussions/2105",
|
"documentation": "https://github.com/nextcloud/all-in-one/discussions/2105",
|
||||||
"depends_on": [
|
"depends_on": [
|
||||||
"nextcloud-aio-onlyoffice",
|
"nextcloud-aio-onlyoffice",
|
||||||
|
"nextcloud-aio-eurooffice",
|
||||||
"nextcloud-aio-collabora",
|
"nextcloud-aio-collabora",
|
||||||
"nextcloud-aio-talk",
|
"nextcloud-aio-talk",
|
||||||
"nextcloud-aio-notify-push",
|
"nextcloud-aio-notify-push",
|
||||||
@@ -47,6 +48,7 @@
|
|||||||
"APACHE_PORT=%APACHE_PORT%",
|
"APACHE_PORT=%APACHE_PORT%",
|
||||||
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
|
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
|
||||||
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
|
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
|
||||||
|
"EUROOFFICE_HOST=nextcloud-aio-eurooffice",
|
||||||
"TZ=%TIMEZONE%",
|
"TZ=%TIMEZONE%",
|
||||||
"APACHE_MAX_SIZE=%APACHE_MAX_SIZE%",
|
"APACHE_MAX_SIZE=%APACHE_MAX_SIZE%",
|
||||||
"APACHE_MAX_TIME=%NEXTCLOUD_MAX_TIME%",
|
"APACHE_MAX_TIME=%NEXTCLOUD_MAX_TIME%",
|
||||||
@@ -223,6 +225,7 @@
|
|||||||
"TURN_SECRET=%TURN_SECRET%",
|
"TURN_SECRET=%TURN_SECRET%",
|
||||||
"SIGNALING_SECRET=%SIGNALING_SECRET%",
|
"SIGNALING_SECRET=%SIGNALING_SECRET%",
|
||||||
"ONLYOFFICE_SECRET=%ONLYOFFICE_SECRET%",
|
"ONLYOFFICE_SECRET=%ONLYOFFICE_SECRET%",
|
||||||
|
"EUROOFFICE_SECRET=%EUROOFFICE_SECRET%",
|
||||||
"AIO_URL=%AIO_URL%",
|
"AIO_URL=%AIO_URL%",
|
||||||
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
|
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
|
||||||
"NC_AIO_VERSION=v%AIO_VERSION%",
|
"NC_AIO_VERSION=v%AIO_VERSION%",
|
||||||
@@ -230,10 +233,12 @@
|
|||||||
"CLAMAV_ENABLED=%CLAMAV_ENABLED%",
|
"CLAMAV_ENABLED=%CLAMAV_ENABLED%",
|
||||||
"CLAMAV_HOST=nextcloud-aio-clamav",
|
"CLAMAV_HOST=nextcloud-aio-clamav",
|
||||||
"ONLYOFFICE_ENABLED=%ONLYOFFICE_ENABLED%",
|
"ONLYOFFICE_ENABLED=%ONLYOFFICE_ENABLED%",
|
||||||
|
"EUROOFFICE_ENABLED=%EUROOFFICE_ENABLED%",
|
||||||
"COLLABORA_ENABLED=%COLLABORA_ENABLED%",
|
"COLLABORA_ENABLED=%COLLABORA_ENABLED%",
|
||||||
"COLLABORA_HOST=nextcloud-aio-collabora",
|
"COLLABORA_HOST=nextcloud-aio-collabora",
|
||||||
"TALK_ENABLED=%TALK_ENABLED%",
|
"TALK_ENABLED=%TALK_ENABLED%",
|
||||||
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
|
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
|
||||||
|
"EUROOFFICE_HOST=nextcloud-aio-eurooffice",
|
||||||
"UPDATE_NEXTCLOUD_APPS=%UPDATE_NEXTCLOUD_APPS%",
|
"UPDATE_NEXTCLOUD_APPS=%UPDATE_NEXTCLOUD_APPS%",
|
||||||
"TZ=%TIMEZONE%",
|
"TZ=%TIMEZONE%",
|
||||||
"TALK_PORT=%TALK_PORT%",
|
"TALK_PORT=%TALK_PORT%",
|
||||||
@@ -357,6 +362,7 @@
|
|||||||
"secrets": [
|
"secrets": [
|
||||||
"REDIS_PASSWORD",
|
"REDIS_PASSWORD",
|
||||||
"ONLYOFFICE_SECRET",
|
"ONLYOFFICE_SECRET",
|
||||||
|
"EUROOFFICE_SECRET",
|
||||||
"RECORDING_SECRET"
|
"RECORDING_SECRET"
|
||||||
],
|
],
|
||||||
"restart": "unless-stopped",
|
"restart": "unless-stopped",
|
||||||
@@ -717,7 +723,7 @@
|
|||||||
{
|
{
|
||||||
"container_name": "nextcloud-aio-onlyoffice",
|
"container_name": "nextcloud-aio-onlyoffice",
|
||||||
"image_tag": "%AIO_CHANNEL%",
|
"image_tag": "%AIO_CHANNEL%",
|
||||||
"display_name": "OnlyOffice",
|
"display_name": "OnlyOffice (deprecated)",
|
||||||
"image": "ghcr.io/nextcloud-releases/aio-onlyoffice",
|
"image": "ghcr.io/nextcloud-releases/aio-onlyoffice",
|
||||||
"init": true,
|
"init": true,
|
||||||
"healthcheck": {
|
"healthcheck": {
|
||||||
@@ -758,6 +764,50 @@
|
|||||||
"NET_RAW"
|
"NET_RAW"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"container_name": "nextcloud-aio-eurooffice",
|
||||||
|
"image_tag": "%AIO_CHANNEL%",
|
||||||
|
"display_name": "EuroOffice",
|
||||||
|
"image": "ghcr.io/nextcloud-releases/aio-eurooffice",
|
||||||
|
"init": true,
|
||||||
|
"healthcheck": {
|
||||||
|
"start_period": "60s",
|
||||||
|
"test": "/healthcheck.sh",
|
||||||
|
"interval": "30s",
|
||||||
|
"timeout": "30s",
|
||||||
|
"start_interval": "5s",
|
||||||
|
"retries": 9
|
||||||
|
},
|
||||||
|
"expose": [
|
||||||
|
"80"
|
||||||
|
],
|
||||||
|
"internal_port": "80",
|
||||||
|
"environment": [
|
||||||
|
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
|
||||||
|
"LOG_LEVEL=%AIO_LOG_LEVEL%",
|
||||||
|
"TZ=%TIMEZONE%",
|
||||||
|
"JWT_ENABLED=true",
|
||||||
|
"JWT_HEADER=AuthorizationJwt",
|
||||||
|
"JWT_SECRET=%EUROOFFICE_SECRET%"
|
||||||
|
],
|
||||||
|
"volumes": [
|
||||||
|
{
|
||||||
|
"source": "nextcloud_aio_eurooffice",
|
||||||
|
"destination": "/var/lib/euro-office",
|
||||||
|
"writeable": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"secrets": [
|
||||||
|
"EUROOFFICE_SECRET"
|
||||||
|
],
|
||||||
|
"restart": "unless-stopped",
|
||||||
|
"profiles": [
|
||||||
|
"eurooffice"
|
||||||
|
],
|
||||||
|
"cap_drop": [
|
||||||
|
"NET_RAW"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"container_name": "nextcloud-aio-imaginary",
|
"container_name": "nextcloud-aio-imaginary",
|
||||||
"image_tag": "%AIO_CHANNEL%",
|
"image_tag": "%AIO_CHANNEL%",
|
||||||
|
|||||||
@@ -22,9 +22,11 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
// Office suite radio buttons
|
// Office suite radio buttons
|
||||||
const collaboraRadio = document.getElementById('office-collabora');
|
const collaboraRadio = document.getElementById('office-collabora');
|
||||||
const onlyofficeRadio = document.getElementById('office-onlyoffice');
|
const onlyofficeRadio = document.getElementById('office-onlyoffice');
|
||||||
|
const euroofficeRadio = document.getElementById('office-eurooffice');
|
||||||
const noneRadio = document.getElementById('office-none');
|
const noneRadio = document.getElementById('office-none');
|
||||||
const collaboraHidden = document.getElementById('collabora');
|
const collaboraHidden = document.getElementById('collabora');
|
||||||
const onlyofficeHidden = document.getElementById('onlyoffice');
|
const onlyofficeHidden = document.getElementById('onlyoffice');
|
||||||
|
const euroofficeHidden = document.getElementById('eurooffice');
|
||||||
let initialOfficeSelection = null;
|
let initialOfficeSelection = null;
|
||||||
|
|
||||||
optionsContainersCheckboxes.forEach(checkbox => {
|
optionsContainersCheckboxes.forEach(checkbox => {
|
||||||
@@ -36,11 +38,13 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Store initial office suite selection
|
// Store initial office suite selection
|
||||||
if (collaboraRadio && onlyofficeRadio && noneRadio) {
|
if (collaboraRadio && onlyofficeRadio && euroofficeRadio && noneRadio) {
|
||||||
if (collaboraRadio.checked) {
|
if (collaboraRadio.checked) {
|
||||||
initialOfficeSelection = 'collabora';
|
initialOfficeSelection = 'collabora';
|
||||||
} else if (onlyofficeRadio.checked) {
|
} else if (onlyofficeRadio.checked) {
|
||||||
initialOfficeSelection = 'onlyoffice';
|
initialOfficeSelection = 'onlyoffice';
|
||||||
|
} else if (euroofficeRadio.checked) {
|
||||||
|
initialOfficeSelection = 'eurooffice';
|
||||||
} else {
|
} else {
|
||||||
initialOfficeSelection = 'none';
|
initialOfficeSelection = 'none';
|
||||||
}
|
}
|
||||||
@@ -57,20 +61,28 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Check office suite changes and sync to hidden inputs
|
// Check office suite changes and sync to hidden inputs
|
||||||
if (collaboraRadio && onlyofficeRadio && noneRadio && collaboraHidden && onlyofficeHidden) {
|
if (collaboraRadio && onlyofficeRadio && euroofficeRadio && noneRadio && collaboraHidden && onlyofficeHidden && euroofficeHidden) {
|
||||||
let currentOfficeSelection = null;
|
let currentOfficeSelection = null;
|
||||||
if (collaboraRadio.checked) {
|
if (collaboraRadio.checked) {
|
||||||
currentOfficeSelection = 'collabora';
|
currentOfficeSelection = 'collabora';
|
||||||
collaboraHidden.value = 'on';
|
collaboraHidden.value = 'on';
|
||||||
onlyofficeHidden.value = '';
|
onlyofficeHidden.value = '';
|
||||||
|
euroofficeHidden.value = '';
|
||||||
} else if (onlyofficeRadio.checked) {
|
} else if (onlyofficeRadio.checked) {
|
||||||
currentOfficeSelection = 'onlyoffice';
|
currentOfficeSelection = 'onlyoffice';
|
||||||
collaboraHidden.value = '';
|
collaboraHidden.value = '';
|
||||||
onlyofficeHidden.value = 'on';
|
onlyofficeHidden.value = 'on';
|
||||||
|
euroofficeHidden.value = '';
|
||||||
|
} else if (euroofficeRadio.checked) {
|
||||||
|
currentOfficeSelection = 'eurooffice';
|
||||||
|
collaboraHidden.value = '';
|
||||||
|
onlyofficeHidden.value = '';
|
||||||
|
euroofficeHidden.value = 'on';
|
||||||
} else {
|
} else {
|
||||||
currentOfficeSelection = 'none';
|
currentOfficeSelection = 'none';
|
||||||
collaboraHidden.value = '';
|
collaboraHidden.value = '';
|
||||||
onlyofficeHidden.value = '';
|
onlyofficeHidden.value = '';
|
||||||
|
euroofficeHidden.value = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentOfficeSelection !== initialOfficeSelection) {
|
if (currentOfficeSelection !== initialOfficeSelection) {
|
||||||
@@ -144,9 +156,10 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
handleTalkVisibility(); // Ensure talk-recording is correctly initialized
|
handleTalkVisibility(); // Ensure talk-recording is correctly initialized
|
||||||
|
|
||||||
// Add event listeners for office suite radio buttons
|
// Add event listeners for office suite radio buttons
|
||||||
if (collaboraRadio && onlyofficeRadio && noneRadio) {
|
if (collaboraRadio && onlyofficeRadio && euroofficeRadio && noneRadio) {
|
||||||
collaboraRadio.addEventListener('change', checkForOptionContainerChanges);
|
collaboraRadio.addEventListener('change', checkForOptionContainerChanges);
|
||||||
onlyofficeRadio.addEventListener('change', checkForOptionContainerChanges);
|
onlyofficeRadio.addEventListener('change', checkForOptionContainerChanges);
|
||||||
|
euroofficeRadio.addEventListener('change', checkForOptionContainerChanges);
|
||||||
noneRadio.addEventListener('change', checkForOptionContainerChanges);
|
noneRadio.addEventListener('change', checkForOptionContainerChanges);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,12 @@ document.addEventListener("DOMContentLoaded", function(event) {
|
|||||||
const onlyoffice = document.getElementById("office-onlyoffice");
|
const onlyoffice = document.getElementById("office-onlyoffice");
|
||||||
onlyoffice.disabled = true;
|
onlyoffice.disabled = true;
|
||||||
|
|
||||||
|
// EuroOffice
|
||||||
|
const eurooffice = document.getElementById("office-eurooffice");
|
||||||
|
if (eurooffice) {
|
||||||
|
eurooffice.disabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
// Imaginary
|
// Imaginary
|
||||||
let imaginary = document.getElementById("imaginary");
|
let imaginary = document.getElementById("imaginary");
|
||||||
imaginary.disabled = true;
|
imaginary.disabled = true;
|
||||||
|
|||||||
@@ -153,6 +153,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
|
|||||||
'current_channel' => $dockerActionManager->GetCurrentChannel(),
|
'current_channel' => $dockerActionManager->GetCurrentChannel(),
|
||||||
'is_clamav_enabled' => $configurationManager->isClamavEnabled,
|
'is_clamav_enabled' => $configurationManager->isClamavEnabled,
|
||||||
'is_onlyoffice_enabled' => $configurationManager->isOnlyofficeEnabled,
|
'is_onlyoffice_enabled' => $configurationManager->isOnlyofficeEnabled,
|
||||||
|
'is_eurooffice_enabled' => $configurationManager->isEuroofficeEnabled,
|
||||||
'is_collabora_enabled' => $configurationManager->isCollaboraEnabled,
|
'is_collabora_enabled' => $configurationManager->isCollaboraEnabled,
|
||||||
'is_talk_enabled' => $configurationManager->isTalkEnabled,
|
'is_talk_enabled' => $configurationManager->isTalkEnabled,
|
||||||
'borg_restore_password' => $configurationManager->borgRestorePassword,
|
'borg_restore_password' => $configurationManager->borgRestorePassword,
|
||||||
|
|||||||
+15
-3
@@ -487,10 +487,12 @@ input[type="checkbox"]:disabled:not(:checked) + label {
|
|||||||
height: min(400px, calc(100vh - 14rem));
|
height: min(400px, calc(100vh - 14rem));
|
||||||
border-radius: var(--border-radius-large);
|
border-radius: var(--border-radius-large);
|
||||||
border: solid thin rgb(192, 192, 192);
|
border: solid thin rgb(192, 192, 192);
|
||||||
|
background-color: var(--color-main-background);
|
||||||
}
|
}
|
||||||
|
|
||||||
.overlay-iframe {
|
.overlay-iframe {
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
|
font-family: monospace, system-ui, -apple-system, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader {
|
.loader {
|
||||||
@@ -606,13 +608,15 @@ input[type="checkbox"]:disabled:not(:checked) + label {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#office-collabora:checked + .office-card,
|
#office-collabora:checked + .office-card,
|
||||||
#office-onlyoffice:checked + .office-card {
|
#office-onlyoffice:checked + .office-card,
|
||||||
|
#office-eurooffice:checked + .office-card {
|
||||||
border-color: var(--color-nextcloud-blue);
|
border-color: var(--color-nextcloud-blue);
|
||||||
background: linear-gradient(135deg, rgba(0, 130, 201, 0.08) 0%, rgba(0, 130, 201, 0.02) 100%);
|
background: linear-gradient(135deg, rgba(0, 130, 201, 0.08) 0%, rgba(0, 130, 201, 0.02) 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-theme="dark"] #office-collabora:checked + .office-card,
|
[data-theme="dark"] #office-collabora:checked + .office-card,
|
||||||
[data-theme="dark"] #office-onlyoffice:checked + .office-card {
|
[data-theme="dark"] #office-onlyoffice:checked + .office-card,
|
||||||
|
[data-theme="dark"] #office-eurooffice:checked + .office-card {
|
||||||
background: linear-gradient(135deg, rgba(0, 145, 242, 0.15) 0%, rgba(0, 145, 242, 0.03) 100%);
|
background: linear-gradient(135deg, rgba(0, 145, 242, 0.15) 0%, rgba(0, 145, 242, 0.03) 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -631,13 +635,21 @@ input[type="checkbox"]:disabled:not(:checked) + label {
|
|||||||
color: var(--color-main-text);
|
color: var(--color-main-text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.office-powered-by {
|
||||||
|
margin: 4px 0 0;
|
||||||
|
font-size: 13px;
|
||||||
|
color: var(--color-main-text);
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
|
||||||
.office-checkmark {
|
.office-checkmark {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#office-collabora:checked + .office-card .office-checkmark,
|
#office-collabora:checked + .office-card .office-checkmark,
|
||||||
#office-onlyoffice:checked + .office-card .office-checkmark {
|
#office-onlyoffice:checked + .office-card .office-checkmark,
|
||||||
|
#office-eurooffice:checked + .office-card .office-checkmark {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,6 +78,10 @@ readonly class ContainerDefinitionFetcher {
|
|||||||
if (!$this->configurationManager->isOnlyofficeEnabled) {
|
if (!$this->configurationManager->isOnlyofficeEnabled) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
} elseif ($entry['container_name'] === 'nextcloud-aio-eurooffice') {
|
||||||
|
if (!$this->configurationManager->isEuroofficeEnabled) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
} elseif ($entry['container_name'] === 'nextcloud-aio-collabora') {
|
} elseif ($entry['container_name'] === 'nextcloud-aio-collabora') {
|
||||||
if (!$this->configurationManager->isCollaboraEnabled) {
|
if (!$this->configurationManager->isCollaboraEnabled) {
|
||||||
continue;
|
continue;
|
||||||
@@ -194,6 +198,10 @@ readonly class ContainerDefinitionFetcher {
|
|||||||
if (!$this->configurationManager->isOnlyofficeEnabled) {
|
if (!$this->configurationManager->isOnlyofficeEnabled) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
} elseif ($value === 'nextcloud-aio-eurooffice') {
|
||||||
|
if (!$this->configurationManager->isEuroofficeEnabled) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
} elseif ($value === 'nextcloud-aio-collabora') {
|
} elseif ($value === 'nextcloud-aio-collabora') {
|
||||||
if (!$this->configurationManager->isCollaboraEnabled) {
|
if (!$this->configurationManager->isCollaboraEnabled) {
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -81,12 +81,19 @@ readonly class ConfigurationController {
|
|||||||
if ($officeSuiteChoice === 'collabora') {
|
if ($officeSuiteChoice === 'collabora') {
|
||||||
$this->configurationManager->isCollaboraEnabled = true;
|
$this->configurationManager->isCollaboraEnabled = true;
|
||||||
$this->configurationManager->isOnlyofficeEnabled = false;
|
$this->configurationManager->isOnlyofficeEnabled = false;
|
||||||
|
$this->configurationManager->isEuroofficeEnabled = false;
|
||||||
} elseif ($officeSuiteChoice === 'onlyoffice') {
|
} elseif ($officeSuiteChoice === 'onlyoffice') {
|
||||||
$this->configurationManager->isCollaboraEnabled = false;
|
$this->configurationManager->isCollaboraEnabled = false;
|
||||||
$this->configurationManager->isOnlyofficeEnabled = true;
|
$this->configurationManager->isOnlyofficeEnabled = true;
|
||||||
|
$this->configurationManager->isEuroofficeEnabled = false;
|
||||||
|
} elseif ($officeSuiteChoice === 'eurooffice') {
|
||||||
|
$this->configurationManager->isCollaboraEnabled = false;
|
||||||
|
$this->configurationManager->isOnlyofficeEnabled = false;
|
||||||
|
$this->configurationManager->isEuroofficeEnabled = true;
|
||||||
} else {
|
} else {
|
||||||
$this->configurationManager->isCollaboraEnabled = false;
|
$this->configurationManager->isCollaboraEnabled = false;
|
||||||
$this->configurationManager->isOnlyofficeEnabled = false;
|
$this->configurationManager->isOnlyofficeEnabled = false;
|
||||||
|
$this->configurationManager->isEuroofficeEnabled = false;
|
||||||
}
|
}
|
||||||
$this->configurationManager->isClamavEnabled = isset($request->getParsedBody()['clamav']);
|
$this->configurationManager->isClamavEnabled = isset($request->getParsedBody()['clamav']);
|
||||||
$this->configurationManager->isTalkEnabled = isset($request->getParsedBody()['talk']);
|
$this->configurationManager->isTalkEnabled = isset($request->getParsedBody()['talk']);
|
||||||
|
|||||||
@@ -418,7 +418,7 @@ readonly class DockerController {
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en" class="overlay-iframe">
|
<html lang="en" class="overlay-iframe">
|
||||||
<head>
|
<head>
|
||||||
<link rel="stylesheet" href="../../style.css?v9" media="all" />
|
<link rel="stylesheet" href="../../style.css?v12" media="all" />
|
||||||
<script type="text/javascript" src="../../apply-theme.js?v1"></script>
|
<script type="text/javascript" src="../../apply-theme.js?v1"></script>
|
||||||
<script type="text/javascript" src="../../scroll-into-view.js"></script>
|
<script type="text/javascript" src="../../scroll-into-view.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
@@ -99,6 +99,11 @@ class ConfigurationManager
|
|||||||
set { $this->set('isOnlyofficeEnabled', $value); }
|
set { $this->set('isOnlyofficeEnabled', $value); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool $isEuroofficeEnabled {
|
||||||
|
get => $this->get('isEuroofficeEnabled', false);
|
||||||
|
set { $this->set('isEuroofficeEnabled', $value); }
|
||||||
|
}
|
||||||
|
|
||||||
public bool $isCollaboraEnabled {
|
public bool $isCollaboraEnabled {
|
||||||
// Type-cast because old configs could have 1/0 for this key.
|
// Type-cast because old configs could have 1/0 for this key.
|
||||||
get => (bool) $this->get('isCollaboraEnabled', true);
|
get => (bool) $this->get('isCollaboraEnabled', true);
|
||||||
@@ -1087,6 +1092,7 @@ class ConfigurationManager
|
|||||||
'CLAMAV_ENABLED' => $this->isClamavEnabled ? 'yes' : '',
|
'CLAMAV_ENABLED' => $this->isClamavEnabled ? 'yes' : '',
|
||||||
'TALK_RECORDING_ENABLED' => $this->isTalkRecordingEnabled ? 'yes' : '',
|
'TALK_RECORDING_ENABLED' => $this->isTalkRecordingEnabled ? 'yes' : '',
|
||||||
'ONLYOFFICE_ENABLED' => $this->isOnlyofficeEnabled ? 'yes' : '',
|
'ONLYOFFICE_ENABLED' => $this->isOnlyofficeEnabled ? 'yes' : '',
|
||||||
|
'EUROOFFICE_ENABLED' => $this->isEuroofficeEnabled ? 'yes' : '',
|
||||||
'COLLABORA_ENABLED' => $this->isCollaboraEnabled ? 'yes' : '',
|
'COLLABORA_ENABLED' => $this->isCollaboraEnabled ? 'yes' : '',
|
||||||
'TALK_ENABLED' => $this->isTalkEnabled ? 'yes' : '',
|
'TALK_ENABLED' => $this->isTalkEnabled ? 'yes' : '',
|
||||||
'UPDATE_NEXTCLOUD_APPS' => ($this->isDailyBackupRunning() && $this->areAutomaticUpdatesEnabled()) ? 'yes' : '',
|
'UPDATE_NEXTCLOUD_APPS' => ($this->isDailyBackupRunning() && $this->areAutomaticUpdatesEnabled()) ? 'yes' : '',
|
||||||
|
|||||||
@@ -478,6 +478,14 @@ readonly class DockerActionManager {
|
|||||||
$regEx = '/\s+(?=--o:)/';
|
$regEx = '/\s+(?=--o:)/';
|
||||||
$requestBody['Cmd'] = preg_split($regEx, rtrim($this->configurationManager->collaboraAdditionalOptions));
|
$requestBody['Cmd'] = preg_split($regEx, rtrim($this->configurationManager->collaboraAdditionalOptions));
|
||||||
}
|
}
|
||||||
|
// Special things for the scrutiny container which should not be exposed in the containers.json
|
||||||
|
} elseif ($container->identifier === 'nextcloud-aio-scrutiny') {
|
||||||
|
// Allow it to access block devices
|
||||||
|
$requestBody['HostConfig']['DeviceCgroupRules'] = ["b *:* rmw"];
|
||||||
|
// Special things for the makemkv container which should not be exposed in the containers.json
|
||||||
|
} elseif ($container->identifier === 'nextcloud-aio-makemkv') {
|
||||||
|
// Allow it to access block devices
|
||||||
|
$requestBody['HostConfig']['DeviceCgroupRules'] = ["b 11:* rmw", "c 21:* rmw"];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($mounts) > 0) {
|
if (count($mounts) > 0) {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
<script type="text/javascript" src="timezone.js?v1"></script>
|
<script type="text/javascript" src="timezone.js?v1"></script>
|
||||||
|
|
||||||
{# js for optional containers and additional containers forms #}
|
{# js for optional containers and additional containers forms #}
|
||||||
<script type="text/javascript" src="containers-form-submit.js?v7"></script>
|
<script type="text/javascript" src="containers-form-submit.js?v8"></script>
|
||||||
|
|
||||||
{% set hasBackupLocation = borg_backup_host_location or borg_remote_repo %}
|
{% set hasBackupLocation = borg_backup_host_location or borg_remote_repo %}
|
||||||
{% set isAnyRunning = false %}
|
{% set isAnyRunning = false %}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
13.2.0
|
13.2.1
|
||||||
|
|||||||
@@ -14,6 +14,42 @@
|
|||||||
<p>Choose your preferred office suite. Only one can be enabled at a time.</p>
|
<p>Choose your preferred office suite. Only one can be enabled at a time.</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="office-suite-cards">
|
<div class="office-suite-cards">
|
||||||
|
<input
|
||||||
|
type="radio"
|
||||||
|
id="office-eurooffice"
|
||||||
|
name="office_suite_choice"
|
||||||
|
value="eurooffice"
|
||||||
|
class="office-radio"
|
||||||
|
{% if is_eurooffice_enabled == true %}
|
||||||
|
checked="checked"
|
||||||
|
{% endif %}
|
||||||
|
>
|
||||||
|
<label class="office-card{{ isAnyRunning ? ' office-card-disabled' : '' }}" for="office-eurooffice">
|
||||||
|
<div class="office-card-header">
|
||||||
|
<div>
|
||||||
|
<h4>Nextcloud Office</h4>
|
||||||
|
<p class="office-powered-by">powered by Euro-Office</p>
|
||||||
|
</div>
|
||||||
|
<svg class="office-checkmark" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="12" cy="12" r="10" fill="var(--color-nextcloud-blue)"/>
|
||||||
|
<path d="M7 12L10.5 15.5L17 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<ul class="office-features">
|
||||||
|
<li>Good Nextcloud integration</li>
|
||||||
|
<li>Open source</li>
|
||||||
|
<li>Best performance</li>
|
||||||
|
<li>Limited ODF compatibility</li>
|
||||||
|
<li>Best Microsoft compatibility</li>
|
||||||
|
<li>Good security</li>
|
||||||
|
</ul>
|
||||||
|
{% if isAnyRunning == false %}
|
||||||
|
<a href="https://github.com/Euro-Office" target="_blank" class="office-learn-more" data-stop-event-propagation="true">
|
||||||
|
Learn more
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
</label>
|
||||||
|
<input type="hidden" id="eurooffice" name="eurooffice" value="" data-initial-state="{% if is_eurooffice_enabled == true %}true{% else %}false{% endif %}">
|
||||||
<input
|
<input
|
||||||
type="radio"
|
type="radio"
|
||||||
id="office-collabora"
|
id="office-collabora"
|
||||||
@@ -26,7 +62,10 @@
|
|||||||
>
|
>
|
||||||
<label class="office-card{{ isAnyRunning ? ' office-card-disabled' : '' }}" for="office-collabora">
|
<label class="office-card{{ isAnyRunning ? ' office-card-disabled' : '' }}" for="office-collabora">
|
||||||
<div class="office-card-header">
|
<div class="office-card-header">
|
||||||
<h4>Nextcloud Office</h4>
|
<div>
|
||||||
|
<h4>Nextcloud Office</h4>
|
||||||
|
<p class="office-powered-by">powered by Collabora Online</p>
|
||||||
|
</div>
|
||||||
<svg class="office-checkmark" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg class="office-checkmark" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<circle cx="12" cy="12" r="10" fill="var(--color-nextcloud-blue)"/>
|
<circle cx="12" cy="12" r="10" fill="var(--color-nextcloud-blue)"/>
|
||||||
<path d="M7 12L10.5 15.5L17 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
<path d="M7 12L10.5 15.5L17 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
@@ -36,9 +75,9 @@
|
|||||||
<li>Best Nextcloud integration</li>
|
<li>Best Nextcloud integration</li>
|
||||||
<li>Open source</li>
|
<li>Open source</li>
|
||||||
<li>Good performance</li>
|
<li>Good performance</li>
|
||||||
<li>Best security: documents never leave your server</li>
|
|
||||||
<li>Best ODF compatibility</li>
|
<li>Best ODF compatibility</li>
|
||||||
<li>Best support for legacy files</li>
|
<li>Best support for legacy files</li>
|
||||||
|
<li>Best security: documents never leave your server</li>
|
||||||
</ul>
|
</ul>
|
||||||
{% if isAnyRunning == false %}
|
{% if isAnyRunning == false %}
|
||||||
<a href="https://www.collaboraoffice.com/code/" target="_blank" class="office-learn-more" data-stop-event-propagation="true">
|
<a href="https://www.collaboraoffice.com/code/" target="_blank" class="office-learn-more" data-stop-event-propagation="true">
|
||||||
@@ -60,18 +99,22 @@
|
|||||||
>
|
>
|
||||||
<label class="office-card{{ isAnyRunning ? ' office-card-disabled' : '' }}" for="office-onlyoffice">
|
<label class="office-card{{ isAnyRunning ? ' office-card-disabled' : '' }}" for="office-onlyoffice">
|
||||||
<div class="office-card-header">
|
<div class="office-card-header">
|
||||||
<h4>OnlyOffice</h4>
|
<div>
|
||||||
|
<h4>ONLYOFFICE (deprecated)</h4>
|
||||||
|
<p class="office-powered-by">by Ascensio System SIA</p>
|
||||||
|
</div>
|
||||||
<svg class="office-checkmark" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg class="office-checkmark" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<circle cx="12" cy="12" r="10" fill="var(--color-nextcloud-blue)"/>
|
<circle cx="12" cy="12" r="10" fill="var(--color-nextcloud-blue)"/>
|
||||||
<path d="M7 12L10.5 15.5L17 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
<path d="M7 12L10.5 15.5L17 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
<ul class="office-features">
|
<ul class="office-features">
|
||||||
<li>Good Nextcloud integration</li>
|
<li>OK Nextcloud integration</li>
|
||||||
<li>Open core</li>
|
<li>Open Core</li>
|
||||||
<li>Best performance</li>
|
<li>Best performance</li>
|
||||||
<li>Best Microsoft compatibility</li>
|
|
||||||
<li>Limited ODF compatibility</li>
|
<li>Limited ODF compatibility</li>
|
||||||
|
<li>Best Microsoft compatibility</li>
|
||||||
|
<li>Good security</li>
|
||||||
</ul>
|
</ul>
|
||||||
{% if isAnyRunning == false %}
|
{% if isAnyRunning == false %}
|
||||||
<a href="https://www.onlyoffice.com/" target="_blank" class="office-learn-more" data-stop-event-propagation="true">
|
<a href="https://www.onlyoffice.com/" target="_blank" class="office-learn-more" data-stop-event-propagation="true">
|
||||||
@@ -90,7 +133,7 @@
|
|||||||
name="office_suite_choice"
|
name="office_suite_choice"
|
||||||
value=""
|
value=""
|
||||||
class="office-radio"
|
class="office-radio"
|
||||||
{% if is_collabora_enabled == false and is_onlyoffice_enabled == false %}
|
{% if is_collabora_enabled == false and is_onlyoffice_enabled == false and is_eurooffice_enabled == false %}
|
||||||
checked="checked"
|
checked="checked"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
>
|
>
|
||||||
@@ -224,7 +267,7 @@
|
|||||||
</form>
|
</form>
|
||||||
<p><strong>Minimal system requirements:</strong> When any optional container is enabled, at least 2GB RAM, a dual-core CPU and 40GB system storage are required. When enabling ClamAV, Nextcloud Talk Recording-server or Fulltextsearch, at least 3GB RAM are required. For Talk Recording-server additional 2 vCPUs are required. When enabling everything, at least 5GB RAM and a quad-core CPU are required. Recommended are at least 1GB more RAM than the minimal requirement. For further advice and recommendations see <strong><a target="_blank" href="https://github.com/nextcloud/all-in-one/discussions/1335">this documentation</a></strong></p>
|
<p><strong>Minimal system requirements:</strong> When any optional container is enabled, at least 2GB RAM, a dual-core CPU and 40GB system storage are required. When enabling ClamAV, Nextcloud Talk Recording-server or Fulltextsearch, at least 3GB RAM are required. For Talk Recording-server additional 2 vCPUs are required. When enabling everything, at least 5GB RAM and a quad-core CPU are required. Recommended are at least 1GB more RAM than the minimal requirement. For further advice and recommendations see <strong><a target="_blank" href="https://github.com/nextcloud/all-in-one/discussions/1335">this documentation</a></strong></p>
|
||||||
{% if isAnyRunning == true %}
|
{% if isAnyRunning == true %}
|
||||||
<script type="text/javascript" src="disable-containers.js"></script>
|
<script type="text/javascript" src="disable-containers.js?v1"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if is_collabora_enabled == true and isAnyRunning == false and was_start_button_clicked == true %}
|
{% if is_collabora_enabled == true and isAnyRunning == false and was_start_button_clicked == true %}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>AIO</title>
|
<title>AIO</title>
|
||||||
<link rel="stylesheet" href="style.css?v10" media="all" />
|
<link rel="stylesheet" href="style.css?v12" media="all" />
|
||||||
<link rel="icon" href="img/favicon.png">
|
<link rel="icon" href="img/favicon.png">
|
||||||
<script type="text/javascript" src="forms.js?v2"></script>
|
<script type="text/javascript" src="forms.js?v2"></script>
|
||||||
<script type="text/javascript" src="toggle-dark-mode.js?v2"></script>
|
<script type="text/javascript" src="toggle-dark-mode.js?v2"></script>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>AIO</title>
|
<title>AIO</title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<link rel="stylesheet" href="style.css?v1">
|
<link rel="stylesheet" href="style.css?v12">
|
||||||
<link rel="stylesheet" href="logs.css?v1">
|
<link rel="stylesheet" href="logs.css?v1">
|
||||||
<link rel="icon" href="img/favicon.png">
|
<link rel="icon" href="img/favicon.png">
|
||||||
<script src="apply-theme.js?v1"></script>
|
<script src="apply-theme.js?v1"></script>
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ flowchart TB
|
|||||||
subgraph OPT[" 🧩 Optional Built-in Containers (enable in AIO interface) "]
|
subgraph OPT[" 🧩 Optional Built-in Containers (enable in AIO interface) "]
|
||||||
COLLA(["📄 Nextcloud Office"]):::opt
|
COLLA(["📄 Nextcloud Office"]):::opt
|
||||||
OO(["📄 OnlyOffice\nDocument Server"]):::opt
|
OO(["📄 OnlyOffice\nDocument Server"]):::opt
|
||||||
|
EO(["📄 EuroOffice\nDocument Server"]):::opt
|
||||||
TALK(["🎙️ Talk\nVideo & Voice calls"]):::opt
|
TALK(["🎙️ Talk\nVideo & Voice calls"]):::opt
|
||||||
TALKREC(["🎬 Talk Recording"]):::opt
|
TALKREC(["🎬 Talk Recording"]):::opt
|
||||||
FTS(["🔎 Full-text Search\n(Elasticsearch)"]):::opt
|
FTS(["🔎 Full-text Search\n(Elasticsearch)"]):::opt
|
||||||
|
|||||||
@@ -523,6 +523,7 @@ server {
|
|||||||
location / {
|
location / {
|
||||||
proxy_pass http://127.0.0.1:11000$request_uri; # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
|
proxy_pass http://127.0.0.1:11000$request_uri; # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
|
||||||
|
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Port $server_port;
|
proxy_set_header X-Forwarded-Port $server_port;
|
||||||
proxy_set_header X-Forwarded-Scheme $scheme;
|
proxy_set_header X-Forwarded-Scheme $scheme;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ For the below to work, it is important that you have a domain that you point ont
|
|||||||
- [ ] Below that you should see a section `Optional addons` which shows a checkbox list with addons that can be enabled or disabled.
|
- [ ] Below that you should see a section `Optional addons` which shows a checkbox list with addons that can be enabled or disabled.
|
||||||
- [ ] Collabora, Imaginary, Talk and Whiteboard should be enabled, the rest disabled
|
- [ ] Collabora, Imaginary, Talk and Whiteboard should be enabled, the rest disabled
|
||||||
- [ ] Unchecking/Checking any of these should insert a button that allows to save the set config
|
- [ ] Unchecking/Checking any of these should insert a button that allows to save the set config
|
||||||
- [ ] Checking OnlyOffice and Collabora at the same time should show a warning that this is not supported and should not saving the new config
|
- [ ] Only one of Collabora, OnlyOffice and EuroOffice should be selectable at the same time
|
||||||
- [ ] Recommended is to uncheck all options now
|
- [ ] Recommended is to uncheck all options now
|
||||||
- [ ] Clicking on the save button should reload the page and activate the new config
|
- [ ] Clicking on the save button should reload the page and activate the new config
|
||||||
- [ ] Clickig on the `Start containers` button should finally reveal a big spinning wheel that should block all elements on the side of being clicked.
|
- [ ] Clickig on the `Start containers` button should finally reveal a big spinning wheel that should block all elements on the side of being clicked.
|
||||||
|
|||||||
Reference in New Issue
Block a user