mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-09-06 06:35:37 +08:00
parent
d5c195aa0c
commit
94d29988da
6 changed files with 27 additions and 54 deletions
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 ghcr.io/nextcloud-releases/all-in-one:develop
|
||||
docker pull nextcloud/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 \
|
||||
ghcr.io/nextcloud-releases/all-in-one:develop
|
||||
nextcloud/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 \
|
||||
ghcr.io/nextcloud-releases/all-in-one:develop
|
||||
nextcloud/all-in-one:develop
|
||||
echo Waiting for 10 seconds for the development container to start ...
|
||||
sleep 10
|
||||
|
||||
|
|
3
.github/workflows/update-helm.yml
vendored
3
.github/workflows/update-helm.yml
vendored
|
@ -14,8 +14,7 @@ jobs:
|
|||
uses: actions/checkout@v4
|
||||
- name: update helm chart
|
||||
run: |
|
||||
GHCR_TOKEN="$(curl https://ghcr.io/token\?scope\="repository:nextcloud-releases/all-in-one:pull" | jq '.token')"
|
||||
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)"
|
||||
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)"
|
||||
export DOCKER_TAG
|
||||
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"
|
||||
|
|
|
@ -283,10 +283,10 @@ if [ "$?" = 6 ]; then
|
|||
exit 1
|
||||
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
|
||||
if ! curl https://ghcr.io 2>&1; then
|
||||
print_red "Could not reach https://ghcr.io."
|
||||
if ! curl https://auth.docker.io/token 2>&1 | grep -q token; then
|
||||
print_red "Could not reach https://auth.docker.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 \
|
||||
ghcr.io/nextcloud-releases/all-in-one:develop
|
||||
nextcloud/all-in-one:develop
|
||||
```
|
||||
And you are done :)
|
||||
It will now also select the developer channel for all other containers automatically.
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
"nextcloud-aio-whiteboard"
|
||||
],
|
||||
"display_name": "Apache",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-apache",
|
||||
"image": "nextcloud/aio-apache",
|
||||
"user": "33",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
|
@ -84,7 +84,7 @@
|
|||
"container_name": "nextcloud-aio-database",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "Database",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-postgresql",
|
||||
"image": "nextcloud/aio-postgresql",
|
||||
"user": "999",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
|
@ -149,7 +149,7 @@
|
|||
"nextcloud-aio-docker-socket-proxy"
|
||||
],
|
||||
"display_name": "Nextcloud",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-nextcloud",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-notify-push",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-redis",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-collabora",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-talk",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-talk-recording",
|
||||
"image": "nextcloud/aio-talk-recording",
|
||||
"user": "122",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
|
@ -518,7 +518,7 @@
|
|||
{
|
||||
"container_name": "nextcloud-aio-borgbackup",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-borgbackup",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-watchtower",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-domaincheck",
|
||||
"image": "nextcloud/aio-domaincheck",
|
||||
"init": true,
|
||||
"ports": [
|
||||
{
|
||||
|
@ -637,7 +637,7 @@
|
|||
"container_name": "nextcloud-aio-clamav",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "ClamAV",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-clamav",
|
||||
"image": "nextcloud/aio-clamav",
|
||||
"user": "100",
|
||||
"init": false,
|
||||
"healthcheck": {
|
||||
|
@ -683,7 +683,7 @@
|
|||
"container_name": "nextcloud-aio-onlyoffice",
|
||||
"image_tag": "%AIO_CHANNEL%",
|
||||
"display_name": "OnlyOffice",
|
||||
"image": "ghcr.io/nextcloud-releases/aio-onlyoffice",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-imaginary",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-fulltextsearch",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-docker-socket-proxy",
|
||||
"image": "nextcloud/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": "ghcr.io/nextcloud-releases/aio-whiteboard",
|
||||
"image": "nextcloud/aio-whiteboard",
|
||||
"user": "65534",
|
||||
"init": true,
|
||||
"healthcheck": {
|
||||
|
|
|
@ -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 {
|
||||
$cacheKey = 'aio-ChannelName';
|
||||
$channelName = apcu_fetch($cacheKey);
|
||||
|
@ -780,6 +753,7 @@ 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];
|
||||
|
@ -797,7 +771,7 @@ readonly class DockerActionManager {
|
|||
}
|
||||
|
||||
public function IsMastercontainerUpdateAvailable(): bool {
|
||||
$imageName = $this->GetCurrentImageName();
|
||||
$imageName = 'nextcloud/all-in-one';
|
||||
$containerName = 'nextcloud-aio-mastercontainer';
|
||||
|
||||
$tag = $this->GetCurrentChannel();
|
||||
|
|
Loading…
Add table
Reference in a new issue