Skip to content

Commit 5affb74

Browse files
authored
chore: drop AIO images (#9004)
AIO images are behind, and takes effort to maintain these. Wizard and installation of models have been semplified massively, so AIO images lost their purpose. This allows us to be more laser focused on main images and reliefes stress from CI. Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
1 parent 0ac4ac5 commit 5affb74

44 files changed

Lines changed: 68 additions & 988 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/image.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
runs-on: ${{ matrix.runs-on }}
2727
base-image: ${{ matrix.base-image }}
2828
grpc-base-image: ${{ matrix.grpc-base-image }}
29-
aio: ${{ matrix.aio }}
3029
makeflags: ${{ matrix.makeflags }}
3130
ubuntu-version: ${{ matrix.ubuntu-version }}
3231
ubuntu-codename: ${{ matrix.ubuntu-codename }}
@@ -46,7 +45,6 @@
4645
grpc-base-image: "ubuntu:24.04"
4746
runs-on: 'ubuntu-latest'
4847
makeflags: "--jobs=3 --output-sync=target"
49-
aio: "-aio-gpu-hipblas"
5048
ubuntu-version: '2404'
5149
ubuntu-codename: 'noble'
5250

@@ -61,7 +59,6 @@
6159
cuda-minor-version: ${{ matrix.cuda-minor-version }}
6260
platforms: ${{ matrix.platforms }}
6361
runs-on: ${{ matrix.runs-on }}
64-
aio: ${{ matrix.aio }}
6562
base-image: ${{ matrix.base-image }}
6663
grpc-base-image: ${{ matrix.grpc-base-image }}
6764
makeflags: ${{ matrix.makeflags }}
@@ -83,7 +80,6 @@
8380
tag-suffix: ''
8481
base-image: "ubuntu:24.04"
8582
runs-on: 'ubuntu-latest'
86-
aio: "-aio-cpu"
8783
makeflags: "--jobs=4 --output-sync=target"
8884
skip-drivers: 'false'
8985
ubuntu-version: '2404'
@@ -98,7 +94,6 @@
9894
base-image: "ubuntu:24.04"
9995
skip-drivers: 'false'
10096
makeflags: "--jobs=4 --output-sync=target"
101-
aio: "-aio-gpu-nvidia-cuda-12"
10297
ubuntu-version: '2404'
10398
ubuntu-codename: 'noble'
10499
- build-type: 'cublas'
@@ -111,7 +106,6 @@
111106
base-image: "ubuntu:22.04"
112107
skip-drivers: 'false'
113108
makeflags: "--jobs=4 --output-sync=target"
114-
aio: "-aio-gpu-nvidia-cuda-13"
115109
ubuntu-version: '2404'
116110
ubuntu-codename: 'noble'
117111
- build-type: 'vulkan'
@@ -122,7 +116,6 @@
122116
base-image: "ubuntu:24.04"
123117
skip-drivers: 'false'
124118
makeflags: "--jobs=4 --output-sync=target"
125-
aio: "-aio-gpu-vulkan"
126119
ubuntu-version: '2404'
127120
ubuntu-codename: 'noble'
128121
- build-type: 'intel'
@@ -133,7 +126,6 @@
133126
tag-suffix: '-gpu-intel'
134127
runs-on: 'ubuntu-latest'
135128
makeflags: "--jobs=3 --output-sync=target"
136-
aio: "-aio-gpu-intel"
137129
ubuntu-version: '2404'
138130
ubuntu-codename: 'noble'
139131

@@ -148,7 +140,6 @@
148140
cuda-minor-version: ${{ matrix.cuda-minor-version }}
149141
platforms: ${{ matrix.platforms }}
150142
runs-on: ${{ matrix.runs-on }}
151-
aio: ${{ matrix.aio }}
152143
base-image: ${{ matrix.base-image }}
153144
grpc-base-image: ${{ matrix.grpc-base-image }}
154145
makeflags: ${{ matrix.makeflags }}

.github/workflows/image_build.yml

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,6 @@ on:
5151
required: false
5252
default: '--jobs=4 --output-sync=target'
5353
type: string
54-
aio:
55-
description: 'AIO Image Name'
56-
required: false
57-
default: ''
58-
type: string
5954
ubuntu-version:
6055
description: 'Ubuntu version'
6156
required: false
@@ -177,34 +172,6 @@ jobs:
177172
flavor: |
178173
latest=${{ inputs.tag-latest }}
179174
suffix=${{ inputs.tag-suffix }}
180-
- name: Docker meta AIO (quay.io)
181-
if: inputs.aio != ''
182-
id: meta_aio
183-
uses: docker/metadata-action@v6
184-
with:
185-
images: |
186-
quay.io/go-skynet/local-ai
187-
tags: |
188-
type=ref,event=branch
189-
type=semver,pattern={{raw}}
190-
flavor: |
191-
latest=${{ inputs.tag-latest }}
192-
suffix=${{ inputs.aio }},onlatest=true
193-
194-
- name: Docker meta AIO (dockerhub)
195-
if: inputs.aio != ''
196-
id: meta_aio_dockerhub
197-
uses: docker/metadata-action@v6
198-
with:
199-
images: |
200-
localai/localai
201-
tags: |
202-
type=ref,event=branch
203-
type=semver,pattern={{raw}}
204-
flavor: |
205-
latest=${{ inputs.tag-latest }}
206-
suffix=${{ inputs.aio }},onlatest=true
207-
208175
- name: Set up QEMU
209176
uses: docker/setup-qemu-action@master
210177
with:
@@ -287,41 +254,6 @@ jobs:
287254
tags: ${{ steps.meta_pull_request.outputs.tags }}
288255
labels: ${{ steps.meta_pull_request.outputs.labels }}
289256
## End testing image
290-
- name: Build and push AIO image
291-
if: inputs.aio != ''
292-
uses: docker/build-push-action@v7
293-
with:
294-
builder: ${{ steps.buildx.outputs.name }}
295-
build-args: |
296-
BASE_IMAGE=quay.io/go-skynet/local-ai:${{ steps.meta.outputs.version }}
297-
MAKEFLAGS=${{ inputs.makeflags }}
298-
context: .
299-
file: ./Dockerfile.aio
300-
platforms: ${{ inputs.platforms }}
301-
push: ${{ github.event_name != 'pull_request' }}
302-
tags: ${{ steps.meta_aio.outputs.tags }}
303-
labels: ${{ steps.meta_aio.outputs.labels }}
304-
305-
- name: Build and push AIO image (dockerhub)
306-
if: inputs.aio != ''
307-
uses: docker/build-push-action@v7
308-
with:
309-
builder: ${{ steps.buildx.outputs.name }}
310-
build-args: |
311-
BASE_IMAGE=localai/localai:${{ steps.meta.outputs.version }}
312-
MAKEFLAGS=${{ inputs.makeflags }}
313-
context: .
314-
file: ./Dockerfile.aio
315-
platforms: ${{ inputs.platforms }}
316-
push: ${{ github.event_name != 'pull_request' }}
317-
tags: ${{ steps.meta_aio_dockerhub.outputs.tags }}
318-
labels: ${{ steps.meta_aio_dockerhub.outputs.labels }}
319-
320257
- name: job summary
321258
run: |
322259
echo "Built image: ${{ steps.meta.outputs.labels }}" >> $GITHUB_STEP_SUMMARY
323-
324-
- name: job summary(AIO)
325-
if: inputs.aio != ''
326-
run: |
327-
echo "Built image: ${{ steps.meta_aio.outputs.labels }}" >> $GITHUB_STEP_SUMMARY

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ jobs:
116116
connect-timeout-seconds: 180
117117
limit-access-to-actor: true
118118

119-
tests-aio-container:
119+
tests-e2e-container:
120120
runs-on: ubuntu-latest
121121
steps:
122122
- name: Release space from worker
@@ -166,7 +166,7 @@ jobs:
166166
PATH="$PATH:$HOME/go/bin" make protogen-go
167167
- name: Test
168168
run: |
169-
PATH="$PATH:$HOME/go/bin" make backends/local-store backends/silero-vad backends/llama-cpp backends/whisper backends/piper backends/stablediffusion-ggml docker-build-aio e2e-aio
169+
PATH="$PATH:$HOME/go/bin" make backends/local-store backends/silero-vad backends/llama-cpp backends/whisper backends/piper backends/stablediffusion-ggml docker-build-e2e e2e-aio
170170
- name: Setup tmate session if tests fail
171171
if: ${{ failure() }}
172172
uses: mxschmitt/action-tmate@v3.23

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ models/*
3737
test-models/
3838
test-dir/
3939
tests/e2e-aio/backends
40-
tests/e2e-aio/models
4140
mock-backend
4241

4342
release/

CONTRIBUTING.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -244,19 +244,16 @@ The e2e tests run LocalAI in a Docker container and exercise the API:
244244
make test-e2e
245245
```
246246

247-
### Running AIO tests
247+
### Running E2E container tests
248248

249-
All-In-One images have a set of tests that automatically verify that most of the endpoints work correctly:
249+
These tests build a standard LocalAI Docker image and run it with pre-configured model configs to verify that most endpoints work correctly:
250250

251251
```bash
252252
# Build the LocalAI docker image
253-
make DOCKER_IMAGE=local-ai docker
253+
make docker-build-e2e
254254

255-
# Build the corresponding AIO image
256-
BASE_IMAGE=local-ai DOCKER_AIO_IMAGE=local-ai-aio:test make docker-aio
257-
258-
# Run the AIO e2e tests
259-
LOCALAI_IMAGE_TAG=test LOCALAI_IMAGE=local-ai-aio make run-e2e-aio
255+
# Run the e2e tests (uses model configs from tests/e2e-aio/models/)
256+
make e2e-aio
260257
```
261258

262259
### Testing backends

Dockerfile.aio

Lines changed: 0 additions & 8 deletions
This file was deleted.

Makefile

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,10 @@ test: test-models/testmodel.ggml protogen-go
172172
$(MAKE) test-stablediffusion
173173

174174
########################################################
175-
## AIO tests
175+
## E2E AIO tests (uses standard image with pre-configured models)
176176
########################################################
177177

178-
docker-build-aio:
178+
docker-build-e2e:
179179
docker build \
180180
--build-arg MAKEFLAGS="--jobs=5 --output-sync=target" \
181181
--build-arg BASE_IMAGE=$(BASE_IMAGE) \
@@ -187,13 +187,12 @@ docker-build-aio:
187187
--build-arg UBUNTU_CODENAME=$(UBUNTU_CODENAME) \
188188
--build-arg GO_TAGS="$(GO_TAGS)" \
189189
-t local-ai:tests -f Dockerfile .
190-
BASE_IMAGE=local-ai:tests DOCKER_AIO_IMAGE=local-ai-aio:test $(MAKE) docker-aio
191190

192191
e2e-aio:
193192
LOCALAI_BACKEND_DIR=$(abspath ./backends) \
194-
LOCALAI_MODELS_DIR=$(abspath ./models) \
195-
LOCALAI_IMAGE_TAG=test \
196-
LOCALAI_IMAGE=local-ai-aio \
193+
LOCALAI_MODELS_DIR=$(abspath ./tests/e2e-aio/models) \
194+
LOCALAI_IMAGE_TAG=tests \
195+
LOCALAI_IMAGE=local-ai \
197196
$(MAKE) run-e2e-aio
198197

199198
run-e2e-aio: protogen-go
@@ -443,7 +442,6 @@ test-extra: prepare-test-extra
443442
$(MAKE) -C backend/python/ace-step test
444443

445444
DOCKER_IMAGE?=local-ai
446-
DOCKER_AIO_IMAGE?=local-ai-aio
447445
IMAGE_TYPE?=core
448446
BASE_IMAGE?=ubuntu:24.04
449447

@@ -473,21 +471,6 @@ docker-cuda12:
473471
--build-arg UBUNTU_CODENAME=$(UBUNTU_CODENAME) \
474472
-t $(DOCKER_IMAGE)-cuda-12 .
475473

476-
docker-aio:
477-
@echo "Building AIO image with base $(BASE_IMAGE) as $(DOCKER_AIO_IMAGE)"
478-
docker build \
479-
--build-arg BASE_IMAGE=$(BASE_IMAGE) \
480-
--build-arg MAKEFLAGS="$(DOCKER_MAKEFLAGS)" \
481-
--build-arg CUDA_MAJOR_VERSION=$(CUDA_MAJOR_VERSION) \
482-
--build-arg CUDA_MINOR_VERSION=$(CUDA_MINOR_VERSION) \
483-
--build-arg UBUNTU_VERSION=$(UBUNTU_VERSION) \
484-
--build-arg UBUNTU_CODENAME=$(UBUNTU_CODENAME) \
485-
-t $(DOCKER_AIO_IMAGE) -f Dockerfile.aio .
486-
487-
docker-aio-all:
488-
$(MAKE) docker-aio DOCKER_AIO_SIZE=cpu
489-
$(MAKE) docker-aio DOCKER_AIO_SIZE=cpu
490-
491474
docker-image-intel:
492475
docker build \
493476
--build-arg BASE_IMAGE=intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04 \

README.md

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -194,27 +194,6 @@ docker run -ti --name local-ai -p 8080:8080 --device=/dev/dri/card1 --device=/de
194194
docker run -ti --name local-ai -p 8080:8080 localai/localai:latest-gpu-vulkan
195195
```
196196

197-
#### AIO Images (pre-downloaded models):
198-
199-
```bash
200-
# CPU version
201-
docker run -ti --name local-ai -p 8080:8080 localai/localai:latest-aio-cpu
202-
203-
# NVIDIA CUDA 13 version
204-
docker run -ti --name local-ai -p 8080:8080 --gpus all localai/localai:latest-aio-gpu-nvidia-cuda-13
205-
206-
# NVIDIA CUDA 12 version
207-
docker run -ti --name local-ai -p 8080:8080 --gpus all localai/localai:latest-aio-gpu-nvidia-cuda-12
208-
209-
# Intel GPU version
210-
docker run -ti --name local-ai -p 8080:8080 localai/localai:latest-aio-gpu-intel
211-
212-
# AMD GPU version
213-
docker run -ti --name local-ai -p 8080:8080 --device=/dev/kfd --device=/dev/dri --group-add=video localai/localai:latest-aio-gpu-hipblas
214-
```
215-
216-
For more information about the AIO images and pre-downloaded models, see [Container Documentation](https://localai.io/basics/container/).
217-
218197
To load models:
219198

220199
```bash
@@ -250,7 +229,7 @@ For more information, see [💻 Getting started](https://localai.io/basics/getti
250229
- May 2025: Important: image name changes [See release](https://github.com/mudler/LocalAI/releases/tag/v2.29.0)
251230
- Apr 2025: Rebrand, WebUI enhancements
252231
- Apr 2025: [LocalAGI](https://github.com/mudler/LocalAGI) and [LocalRecall](https://github.com/mudler/LocalRecall) join the LocalAI family stack.
253-
- Apr 2025: WebUI overhaul, AIO images updates
232+
- Apr 2025: WebUI overhaul
254233
- Feb 2025: Backend cleanup, Breaking changes, new backends (kokoro, OutelTTS, faster-whisper), Nvidia L4T images
255234
- Jan 2025: LocalAI model release: https://huggingface.co/mudler/LocalAI-functioncall-phi-4-v0.3, SANA support in diffusers: https://github.com/mudler/LocalAI/pull/4603
256235
- Dec 2024: stablediffusion.cpp backend (ggml) added ( https://github.com/mudler/LocalAI/pull/4289 )

aio/cpu/README.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

aio/cpu/embeddings.yaml

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)