Compare commits

...

1 Commits

Author SHA1 Message Date
Simon L. 94d29988da Revert "move images to ghcr.io"
This reverts commit 5d090018f9.
2025-03-25 10:43:20 +01:00
6 changed files with 27 additions and 54 deletions
+3 -3
View File
@@ -29,7 +29,7 @@ jobs:
run: | run: |
docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true 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 volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true
docker pull ghcr.io/nextcloud-releases/all-in-one:develop docker pull nextcloud/all-in-one:develop
docker run \ docker run \
-d \ -d \
--init \ --init \
@@ -40,7 +40,7 @@ jobs:
--volume /var/run/docker.sock:/var/run/docker.sock:ro \ --volume /var/run/docker.sock:/var/run/docker.sock:ro \
--env SKIP_DOMAIN_VALIDATION=true \ --env SKIP_DOMAIN_VALIDATION=true \
--env APACHE_PORT=11000 \ --env APACHE_PORT=11000 \
ghcr.io/nextcloud-releases/all-in-one:develop nextcloud/all-in-one:develop
echo Waiting for 10 seconds for the development container to start ... echo Waiting for 10 seconds for the development container to start ...
sleep 10 sleep 10
@@ -61,7 +61,7 @@ jobs:
--volume /var/run/docker.sock:/var/run/docker.sock:ro \ --volume /var/run/docker.sock:/var/run/docker.sock:ro \
--env SKIP_DOMAIN_VALIDATION=false \ --env SKIP_DOMAIN_VALIDATION=false \
--env APACHE_PORT=11000 \ --env APACHE_PORT=11000 \
ghcr.io/nextcloud-releases/all-in-one:develop nextcloud/all-in-one:develop
echo Waiting for 10 seconds for the development container to start ... echo Waiting for 10 seconds for the development container to start ...
sleep 10 sleep 10
+1 -2
View File
@@ -14,8 +14,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: update helm chart - name: update helm chart
run: | run: |
GHCR_TOKEN="$(curl https://ghcr.io/token\?scope\="repository:nextcloud-releases/all-in-one:pull" | jq '.token')" DOCKER_TAG="$(curl -L -s 'https://registry.hub.docker.com/v2/repositories/nextcloud/all-in-one/tags?page_size=1024' | jq '."results"[]["name"]' | sed 's|"||g' | grep '^20[0-9_]\+' | grep -v latest | sort -r | head -1)"
DOCKER_TAG="$(curl -H "Authorization: Bearer ${GHCR_TOKEN}" -L -s 'https://ghcr.io/v2/nextcloud-releases/all-in-one/tags/list?page_size=1024' | jq '.tags' | sed 's|"||g' | grep '^20[0-9_]\+' | grep -v latest | sort -r | head -1)"
export DOCKER_TAG export DOCKER_TAG
if [ -n "$DOCKER_TAG" ] && ! grep -q "$DOCKER_TAG" ./nextcloud-aio-helm-chart/templates/nextcloud-aio-nextcloud-deployment.yaml; then if [ -n "$DOCKER_TAG" ] && ! grep -q "$DOCKER_TAG" ./nextcloud-aio-helm-chart/templates/nextcloud-aio-nextcloud-deployment.yaml; then
sudo bash nextcloud-aio-helm-chart/update-helm.sh "$DOCKER_TAG" sudo bash nextcloud-aio-helm-chart/update-helm.sh "$DOCKER_TAG"
+3 -3
View File
@@ -283,10 +283,10 @@ if [ "$?" = 6 ]; then
exit 1 exit 1
fi fi
# Check if ghcr.io is reachable # Check if auth.docker.io is reachable
# Solves issues like https://github.com/nextcloud/all-in-one/discussions/5268 # Solves issues like https://github.com/nextcloud/all-in-one/discussions/5268
if ! curl https://ghcr.io 2>&1; then if ! curl https://auth.docker.io/token 2>&1 | grep -q token; then
print_red "Could not reach https://ghcr.io." print_red "Could not reach https://auth.docker.io."
echo "Most likely is something blocking access to it." 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" echo "You should be able to fix this by using https://github.com/nextcloud/all-in-one/tree/main/manual-install"
exit 1 exit 1
+1 -1
View File
@@ -11,7 +11,7 @@ sudo docker run \
--publish 8443:8443 \ --publish 8443:8443 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \ --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \ --volume /var/run/docker.sock:/var/run/docker.sock:ro \
ghcr.io/nextcloud-releases/all-in-one:develop nextcloud/all-in-one:develop
``` ```
And you are done :) And you are done :)
It will now also select the developer channel for all other containers automatically. It will now also select the developer channel for all other containers automatically.
+17 -17
View File
@@ -13,7 +13,7 @@
"nextcloud-aio-whiteboard" "nextcloud-aio-whiteboard"
], ],
"display_name": "Apache", "display_name": "Apache",
"image": "ghcr.io/nextcloud-releases/aio-apache", "image": "nextcloud/aio-apache",
"user": "33", "user": "33",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
@@ -84,7 +84,7 @@
"container_name": "nextcloud-aio-database", "container_name": "nextcloud-aio-database",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"display_name": "Database", "display_name": "Database",
"image": "ghcr.io/nextcloud-releases/aio-postgresql", "image": "nextcloud/aio-postgresql",
"user": "999", "user": "999",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
@@ -149,7 +149,7 @@
"nextcloud-aio-docker-socket-proxy" "nextcloud-aio-docker-socket-proxy"
], ],
"display_name": "Nextcloud", "display_name": "Nextcloud",
"image": "ghcr.io/nextcloud-releases/aio-nextcloud", "image": "nextcloud/aio-nextcloud",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
"start_period": "0s", "start_period": "0s",
@@ -271,7 +271,7 @@
"container_name": "nextcloud-aio-notify-push", "container_name": "nextcloud-aio-notify-push",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"display_name": "Notify Push", "display_name": "Notify Push",
"image": "ghcr.io/nextcloud-releases/aio-notify-push", "image": "nextcloud/aio-notify-push",
"user": "33", "user": "33",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
@@ -319,7 +319,7 @@
"container_name": "nextcloud-aio-redis", "container_name": "nextcloud-aio-redis",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"display_name": "Redis", "display_name": "Redis",
"image": "ghcr.io/nextcloud-releases/aio-redis", "image": "nextcloud/aio-redis",
"user": "999", "user": "999",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
@@ -361,7 +361,7 @@
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"documentation": "https://github.com/nextcloud/all-in-one/discussions/1358", "documentation": "https://github.com/nextcloud/all-in-one/discussions/1358",
"display_name": "Collabora", "display_name": "Collabora",
"image": "ghcr.io/nextcloud-releases/aio-collabora", "image": "nextcloud/aio-collabora",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
"start_period": "60s", "start_period": "60s",
@@ -404,7 +404,7 @@
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"documentation": "https://github.com/nextcloud/all-in-one/discussions/1358", "documentation": "https://github.com/nextcloud/all-in-one/discussions/1358",
"display_name": "Talk", "display_name": "Talk",
"image": "ghcr.io/nextcloud-releases/aio-talk", "image": "nextcloud/aio-talk",
"user": "1000", "user": "1000",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
@@ -466,7 +466,7 @@
"container_name": "nextcloud-aio-talk-recording", "container_name": "nextcloud-aio-talk-recording",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"display_name": "Talk Recording", "display_name": "Talk Recording",
"image": "ghcr.io/nextcloud-releases/aio-talk-recording", "image": "nextcloud/aio-talk-recording",
"user": "122", "user": "122",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
@@ -518,7 +518,7 @@
{ {
"container_name": "nextcloud-aio-borgbackup", "container_name": "nextcloud-aio-borgbackup",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"image": "ghcr.io/nextcloud-releases/aio-borgbackup", "image": "nextcloud/aio-borgbackup",
"init": true, "init": true,
"environment": [ "environment": [
"BORG_REMOTE_REPO=%BORGBACKUP_REMOTE_REPO%", "BORG_REMOTE_REPO=%BORGBACKUP_REMOTE_REPO%",
@@ -586,7 +586,7 @@
{ {
"container_name": "nextcloud-aio-watchtower", "container_name": "nextcloud-aio-watchtower",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"image": "ghcr.io/nextcloud-releases/aio-watchtower", "image": "nextcloud/aio-watchtower",
"init": true, "init": true,
"environment": [ "environment": [
"CONTAINER_TO_UPDATE=nextcloud-aio-mastercontainer" "CONTAINER_TO_UPDATE=nextcloud-aio-mastercontainer"
@@ -606,7 +606,7 @@
{ {
"container_name": "nextcloud-aio-domaincheck", "container_name": "nextcloud-aio-domaincheck",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"image": "ghcr.io/nextcloud-releases/aio-domaincheck", "image": "nextcloud/aio-domaincheck",
"init": true, "init": true,
"ports": [ "ports": [
{ {
@@ -637,7 +637,7 @@
"container_name": "nextcloud-aio-clamav", "container_name": "nextcloud-aio-clamav",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"display_name": "ClamAV", "display_name": "ClamAV",
"image": "ghcr.io/nextcloud-releases/aio-clamav", "image": "nextcloud/aio-clamav",
"user": "100", "user": "100",
"init": false, "init": false,
"healthcheck": { "healthcheck": {
@@ -683,7 +683,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",
"image": "ghcr.io/nextcloud-releases/aio-onlyoffice", "image": "nextcloud/aio-onlyoffice",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
"start_period": "60s", "start_period": "60s",
@@ -729,7 +729,7 @@
"container_name": "nextcloud-aio-imaginary", "container_name": "nextcloud-aio-imaginary",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"display_name": "Imaginary", "display_name": "Imaginary",
"image": "ghcr.io/nextcloud-releases/aio-imaginary", "image": "nextcloud/aio-imaginary",
"user": "65534", "user": "65534",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
@@ -771,7 +771,7 @@
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"documentation": "https://github.com/nextcloud/all-in-one/discussions/1709", "documentation": "https://github.com/nextcloud/all-in-one/discussions/1709",
"display_name": "Fulltextsearch", "display_name": "Fulltextsearch",
"image": "ghcr.io/nextcloud-releases/aio-fulltextsearch", "image": "nextcloud/aio-fulltextsearch",
"init": false, "init": false,
"healthcheck": { "healthcheck": {
"start_period": "60s", "start_period": "60s",
@@ -819,7 +819,7 @@
"container_name": "nextcloud-aio-docker-socket-proxy", "container_name": "nextcloud-aio-docker-socket-proxy",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"display_name": "Docker Socket Proxy", "display_name": "Docker Socket Proxy",
"image": "ghcr.io/nextcloud-releases/aio-docker-socket-proxy", "image": "nextcloud/aio-docker-socket-proxy",
"init": true, "init": true,
"internal_port": "2375", "internal_port": "2375",
"environment": [ "environment": [
@@ -845,7 +845,7 @@
"container_name": "nextcloud-aio-whiteboard", "container_name": "nextcloud-aio-whiteboard",
"image_tag": "%AIO_CHANNEL%", "image_tag": "%AIO_CHANNEL%",
"display_name": "Whiteboard", "display_name": "Whiteboard",
"image": "ghcr.io/nextcloud-releases/aio-whiteboard", "image": "nextcloud/aio-whiteboard",
"user": "65534", "user": "65534",
"init": true, "init": true,
"healthcheck": { "healthcheck": {
+2 -28
View File
@@ -742,33 +742,6 @@ 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 { public function GetCurrentChannel(): string {
$cacheKey = 'aio-ChannelName'; $cacheKey = 'aio-ChannelName';
$channelName = apcu_fetch($cacheKey); $channelName = apcu_fetch($cacheKey);
@@ -780,6 +753,7 @@ readonly class DockerActionManager {
$url = $this->BuildApiUrl(sprintf('containers/%s/json', $containerName)); $url = $this->BuildApiUrl(sprintf('containers/%s/json', $containerName));
try { try {
$output = json_decode($this->guzzleClient->get($url)->getBody()->getContents(), true); $output = json_decode($this->guzzleClient->get($url)->getBody()->getContents(), true);
$containerChecksum = $output['Image'];
$tagArray = explode(':', $output['Config']['Image']); $tagArray = explode(':', $output['Config']['Image']);
if (count($tagArray) === 2) { if (count($tagArray) === 2) {
$tag = $tagArray[1]; $tag = $tagArray[1];
@@ -797,7 +771,7 @@ readonly class DockerActionManager {
} }
public function IsMastercontainerUpdateAvailable(): bool { public function IsMastercontainerUpdateAvailable(): bool {
$imageName = $this->GetCurrentImageName(); $imageName = 'nextcloud/all-in-one';
$containerName = 'nextcloud-aio-mastercontainer'; $containerName = 'nextcloud-aio-mastercontainer';
$tag = $this->GetCurrentChannel(); $tag = $this->GetCurrentChannel();