mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-05-22 19:30:11 +00:00
Compare commits
8 Commits
v10.9.0
...
helm-chart
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3dffd46e8b | ||
|
|
7f76f622e1 | ||
|
|
ac2c97a08e | ||
|
|
d5c195aa0c | ||
|
|
5d090018f9 | ||
|
|
b8d08fc77b | ||
|
|
167c2dc389 | ||
|
|
91e99dcba9 |
6
.github/workflows/playwright.yml
vendored
6
.github/workflows/playwright.yml
vendored
@@ -29,7 +29,7 @@ jobs:
|
||||
run: |
|
||||
docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true
|
||||
docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true
|
||||
docker pull nextcloud/all-in-one:develop
|
||||
docker pull ghcr.io/nextcloud-releases/all-in-one:develop
|
||||
docker run \
|
||||
-d \
|
||||
--init \
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
|
||||
--env SKIP_DOMAIN_VALIDATION=true \
|
||||
--env APACHE_PORT=11000 \
|
||||
nextcloud/all-in-one:develop
|
||||
ghcr.io/nextcloud-releases/all-in-one:develop
|
||||
echo Waiting for 10 seconds for the development container to start ...
|
||||
sleep 10
|
||||
|
||||
@@ -61,7 +61,7 @@ jobs:
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
|
||||
--env SKIP_DOMAIN_VALIDATION=false \
|
||||
--env APACHE_PORT=11000 \
|
||||
nextcloud/all-in-one:develop
|
||||
ghcr.io/nextcloud-releases/all-in-one:develop
|
||||
echo Waiting for 10 seconds for the development container to start ...
|
||||
sleep 10
|
||||
|
||||
|
||||
@@ -283,10 +283,10 @@ if [ "$?" = 6 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if auth.docker.io is reachable
|
||||
# Check if ghcr.io is reachable
|
||||
# Solves issues like https://github.com/nextcloud/all-in-one/discussions/5268
|
||||
if ! curl https://auth.docker.io/token 2>&1 | grep -q token; then
|
||||
print_red "Could not reach https://auth.docker.io."
|
||||
if ! curl https://ghcr.io 2>&1; then
|
||||
print_red "Could not reach https://ghcr.io."
|
||||
echo "Most likely is something blocking access to it."
|
||||
echo "You should be able to fix this by using https://github.com/nextcloud/all-in-one/tree/main/manual-install"
|
||||
exit 1
|
||||
|
||||
@@ -11,7 +11,7 @@ sudo docker run \
|
||||
--publish 8443:8443 \
|
||||
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
|
||||
nextcloud/all-in-one:develop
|
||||
ghcr.io/nextcloud-releases/all-in-one:develop
|
||||
```
|
||||
And you are done :)
|
||||
It will now also select the developer channel for all other containers automatically.
|
||||
@@ -19,6 +19,9 @@ It will now also select the developer channel for all other containers automatic
|
||||
## How to publish new releases?
|
||||
Simply use https://github.com/nextcloud/all-in-one/issues/180 as template.
|
||||
|
||||
## How to update existing instances to a new major Nextcloud version?
|
||||
Simply use https://github.com/nextcloud/all-in-one/issues/6198 as template.
|
||||
|
||||
## How to build new containers
|
||||
Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/repo-sync.yml and run the workflow that will first sync the repo and then build new container that automatically get published to `develop` and `develop-arm64`.
|
||||
|
||||
|
||||
@@ -341,7 +341,7 @@ services:
|
||||
init: false
|
||||
healthcheck:
|
||||
start_period: 60s
|
||||
test: clamdcheck.sh
|
||||
test: /healthcheck.sh
|
||||
interval: 30s
|
||||
timeout: 30s
|
||||
start_interval: 5s
|
||||
@@ -351,7 +351,6 @@ services:
|
||||
environment:
|
||||
- TZ=${TIMEZONE}
|
||||
- MAX_SIZE=${NEXTCLOUD_UPLOAD_LIMIT}
|
||||
- CLAMD_STARTUP_TIMEOUT=90
|
||||
volumes:
|
||||
- nextcloud_aio_clamav:/var/lib/clamav:rw
|
||||
restart: unless-stopped
|
||||
@@ -359,9 +358,11 @@ services:
|
||||
- clamav
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /var/lock
|
||||
- /var/log/clamav
|
||||
- /tmp
|
||||
- /var/log/clamav
|
||||
- /run/clamav
|
||||
- /var/log/supervisord
|
||||
- /var/run/supervisord
|
||||
cap_drop:
|
||||
- NET_RAW
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: nextcloud-aio-helm-chart
|
||||
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
||||
version: 10.7.0
|
||||
version: 10.9.0
|
||||
apiVersion: v2
|
||||
keywords:
|
||||
- latest
|
||||
|
||||
@@ -61,7 +61,7 @@ spec:
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
- name: WHITEBOARD_HOST
|
||||
value: nextcloud-aio-whiteboard
|
||||
image: nextcloud/aio-apache:20250306_093458
|
||||
image: nextcloud/aio-apache:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -55,17 +55,15 @@ spec:
|
||||
{{- end }}
|
||||
containers:
|
||||
- env:
|
||||
- name: CLAMD_STARTUP_TIMEOUT
|
||||
value: "90"
|
||||
- name: MAX_SIZE
|
||||
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-clamav:20250306_093458
|
||||
image: nextcloud/aio-clamav:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- clamdcheck.sh
|
||||
- /healthcheck.sh
|
||||
failureThreshold: 9
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 30
|
||||
@@ -73,7 +71,7 @@ spec:
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- clamdcheck.sh
|
||||
- /healthcheck.sh
|
||||
failureThreshold: 9
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 30
|
||||
|
||||
@@ -35,7 +35,7 @@ spec:
|
||||
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
|
||||
- name: server_name
|
||||
value: "{{ .Values.NC_DOMAIN }}"
|
||||
image: nextcloud/aio-collabora:20250306_093458
|
||||
image: nextcloud/aio-collabora:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -64,7 +64,7 @@ spec:
|
||||
value: nextcloud
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-postgresql:20250306_093458
|
||||
image: nextcloud/aio-postgresql:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -54,7 +54,7 @@ spec:
|
||||
value: basic
|
||||
- name: xpack.security.enabled
|
||||
value: "false"
|
||||
image: nextcloud/aio-fulltextsearch:20250306_093458
|
||||
image: nextcloud/aio-fulltextsearch:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -38,7 +38,7 @@ spec:
|
||||
value: "{{ .Values.IMAGINARY_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-imaginary:20250306_093458
|
||||
image: nextcloud/aio-imaginary:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -180,7 +180,7 @@ spec:
|
||||
value: "{{ .Values.WHITEBOARD_ENABLED }}"
|
||||
- name: WHITEBOARD_SECRET
|
||||
value: "{{ .Values.WHITEBOARD_SECRET }}"
|
||||
image: nextcloud/aio-nextcloud:20250306_093458
|
||||
image: nextcloud/aio-nextcloud:20250325_084656
|
||||
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
|
||||
securityContext:
|
||||
# The items below only work in container context
|
||||
|
||||
@@ -55,7 +55,7 @@ spec:
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-notify-push:20250306_093458
|
||||
image: nextcloud/aio-notify-push:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -42,7 +42,7 @@ spec:
|
||||
value: "{{ .Values.ONLYOFFICE_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-onlyoffice:20250306_093458
|
||||
image: nextcloud/aio-onlyoffice:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -39,7 +39,7 @@ spec:
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-redis:20250306_093458
|
||||
image: nextcloud/aio-redis:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -52,7 +52,7 @@ spec:
|
||||
value: "{{ .Values.TURN_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-talk:20250306_093458
|
||||
image: nextcloud/aio-talk:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -44,7 +44,7 @@ spec:
|
||||
value: "{{ .Values.RECORDING_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-talk-recording:20250306_093458
|
||||
image: nextcloud/aio-talk-recording:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -48,7 +48,7 @@ spec:
|
||||
value: redis
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-whiteboard:20250306_093458
|
||||
image: nextcloud/aio-whiteboard:20250325_084656
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"nextcloud-aio-whiteboard"
|
||||
],
|
||||
"display_name": "Apache",
|
||||
"image": "nextcloud/aio-apache",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-apache",
|
||||
"user": "33",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
@@ -84,7 +84,7 @@
|
||||
"container_name": "nextcloud-aio-database",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "Database",
|
||||
"image": "nextcloud/aio-postgresql",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-postgresql",
|
||||
"user": "999",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
@@ -149,7 +149,7 @@
|
||||
"nextcloud-aio-docker-socket-proxy"
|
||||
],
|
||||
"display_name": "Nextcloud",
|
||||
"image": "nextcloud/aio-nextcloud",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-nextcloud",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
"start_period": "0s",
|
||||
@@ -271,7 +271,7 @@
|
||||
"container_name": "nextcloud-aio-notify-push",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "Notify Push",
|
||||
"image": "nextcloud/aio-notify-push",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-notify-push",
|
||||
"user": "33",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
@@ -319,7 +319,7 @@
|
||||
"container_name": "nextcloud-aio-redis",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "Redis",
|
||||
"image": "nextcloud/aio-redis",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-redis",
|
||||
"user": "999",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
@@ -361,7 +361,7 @@
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"documentation": "https://github.com/nextcloud/all-in-one/discussions/1358",
|
||||
"display_name": "Collabora",
|
||||
"image": "nextcloud/aio-collabora",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-collabora",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
"start_period": "60s",
|
||||
@@ -404,7 +404,7 @@
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"documentation": "https://github.com/nextcloud/all-in-one/discussions/1358",
|
||||
"display_name": "Talk",
|
||||
"image": "nextcloud/aio-talk",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-talk",
|
||||
"user": "1000",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
@@ -466,7 +466,7 @@
|
||||
"container_name": "nextcloud-aio-talk-recording",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "Talk Recording",
|
||||
"image": "nextcloud/aio-talk-recording",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-talk-recording",
|
||||
"user": "122",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
@@ -518,7 +518,7 @@
|
||||
{
|
||||
"container_name": "nextcloud-aio-borgbackup",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"image": "nextcloud/aio-borgbackup",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-borgbackup",
|
||||
"init": true,
|
||||
"environment": [
|
||||
"BORG_REMOTE_REPO=%BORGBACKUP_REMOTE_REPO%",
|
||||
@@ -586,7 +586,7 @@
|
||||
{
|
||||
"container_name": "nextcloud-aio-watchtower",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"image": "nextcloud/aio-watchtower",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-watchtower",
|
||||
"init": true,
|
||||
"environment": [
|
||||
"CONTAINER_TO_UPDATE=nextcloud-aio-mastercontainer"
|
||||
@@ -606,7 +606,7 @@
|
||||
{
|
||||
"container_name": "nextcloud-aio-domaincheck",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"image": "nextcloud/aio-domaincheck",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-domaincheck",
|
||||
"init": true,
|
||||
"ports": [
|
||||
{
|
||||
@@ -637,7 +637,7 @@
|
||||
"container_name": "nextcloud-aio-clamav",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "ClamAV",
|
||||
"image": "nextcloud/aio-clamav",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-clamav",
|
||||
"user": "100",
|
||||
"init": false,
|
||||
"healthcheck": {
|
||||
@@ -683,7 +683,7 @@
|
||||
"container_name": "nextcloud-aio-onlyoffice",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "OnlyOffice",
|
||||
"image": "nextcloud/aio-onlyoffice",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-onlyoffice",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
"start_period": "60s",
|
||||
@@ -729,7 +729,7 @@
|
||||
"container_name": "nextcloud-aio-imaginary",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "Imaginary",
|
||||
"image": "nextcloud/aio-imaginary",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-imaginary",
|
||||
"user": "65534",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
@@ -771,7 +771,7 @@
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"documentation": "https://github.com/nextcloud/all-in-one/discussions/1709",
|
||||
"display_name": "Fulltextsearch",
|
||||
"image": "nextcloud/aio-fulltextsearch",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-fulltextsearch",
|
||||
"init": false,
|
||||
"healthcheck": {
|
||||
"start_period": "60s",
|
||||
@@ -819,7 +819,7 @@
|
||||
"container_name": "nextcloud-aio-docker-socket-proxy",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "Docker Socket Proxy",
|
||||
"image": "nextcloud/aio-docker-socket-proxy",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-docker-socket-proxy",
|
||||
"init": true,
|
||||
"internal_port": "2375",
|
||||
"environment": [
|
||||
@@ -845,7 +845,7 @@
|
||||
"container_name": "nextcloud-aio-whiteboard",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "Whiteboard",
|
||||
"image": "nextcloud/aio-whiteboard",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-whiteboard",
|
||||
"user": "65534",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
|
||||
@@ -742,6 +742,33 @@ readonly class DockerActionManager {
|
||||
}
|
||||
}
|
||||
|
||||
private function GetCurrentImageName(): string {
|
||||
$cacheKey = 'aio-image-name';
|
||||
$imageName = apcu_fetch($cacheKey);
|
||||
if ($imageName !== false && is_string($imageName)) {
|
||||
return $imageName;
|
||||
}
|
||||
|
||||
$containerName = 'nextcloud-aio-mastercontainer';
|
||||
$url = $this->BuildApiUrl(sprintf('containers/%s/json', $containerName));
|
||||
try {
|
||||
$output = json_decode($this->guzzleClient->get($url)->getBody()->getContents(), true);
|
||||
$imageNameArray = explode(':', $output['Config']['Image']);
|
||||
if (count($imageNameArray) === 2) {
|
||||
$imageName = $imageNameArray[0];
|
||||
} else {
|
||||
error_log("No tag was found when getting the current channel. You probably did not follow the documentation correctly. Changing the imageName to the default " . $output['Config']['Image']);
|
||||
$imageName = $output['Config']['Image'];
|
||||
}
|
||||
apcu_add($cacheKey, $imageName);
|
||||
return $imageName;
|
||||
} catch (\Exception $e) {
|
||||
error_log('Could not get current imageName ' . $e->getMessage());
|
||||
}
|
||||
|
||||
return 'nextcloud/all-in-one';
|
||||
}
|
||||
|
||||
public function GetCurrentChannel(): string {
|
||||
$cacheKey = 'aio-ChannelName';
|
||||
$channelName = apcu_fetch($cacheKey);
|
||||
@@ -753,7 +780,6 @@ readonly class DockerActionManager {
|
||||
$url = $this->BuildApiUrl(sprintf('containers/%s/json', $containerName));
|
||||
try {
|
||||
$output = json_decode($this->guzzleClient->get($url)->getBody()->getContents(), true);
|
||||
$containerChecksum = $output['Image'];
|
||||
$tagArray = explode(':', $output['Config']['Image']);
|
||||
if (count($tagArray) === 2) {
|
||||
$tag = $tagArray[1];
|
||||
@@ -771,7 +797,7 @@ readonly class DockerActionManager {
|
||||
}
|
||||
|
||||
public function IsMastercontainerUpdateAvailable(): bool {
|
||||
$imageName = 'nextcloud/all-in-one';
|
||||
$imageName = $this->GetCurrentImageName();
|
||||
$containerName = 'nextcloud-aio-mastercontainer';
|
||||
|
||||
$tag = $this->GetCurrentChannel();
|
||||
|
||||
Reference in New Issue
Block a user