From 5afeb650f92d0c03291de4e677eb07fa12242ee4 Mon Sep 17 00:00:00 2001 From: Jean-Yves <7360784+docjyJ@users.noreply.github.com> Date: Wed, 2 Jul 2025 13:41:14 +0200 Subject: [PATCH] Update Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com> --- .../local-ai-vulkan/local-ai-vulkan.json | 18 +++--------- .../local-ai-vulkan/readme.md | 29 ++++++++++++------- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/community-containers/local-ai-vulkan/local-ai-vulkan.json b/community-containers/local-ai-vulkan/local-ai-vulkan.json index 1ce593e5..be224a25 100644 --- a/community-containers/local-ai-vulkan/local-ai-vulkan.json +++ b/community-containers/local-ai-vulkan/local-ai-vulkan.json @@ -2,10 +2,10 @@ "aio_services_v1": [ { "container_name": "nextcloud-aio-local-ai-vulkan", - "display_name": "Local AI", + "display_name": "Local AI for Vulkan (x86 only)", "documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai-vulkan", - "image": "docjyJ/aio-local-ai-vulkan", - "image_tag": "%AIO_CHANNEL%", + "image": "ghcr.io/docjyj/aio-local-ai-vulkan", + "image_tag": "v0", "internal_port": "8080", "restart": "unless-stopped", "environment": [ @@ -22,22 +22,12 @@ "source": "nextcloud_aio_localai_vulkan_images", "destination": "/tmp/generated/images/", "writeable": true - }, - { - "source": "%NEXTCLOUD_DATADIR%", - "destination": "/nextcloud", - "writeable": false } ], "devices": [ "/dev/dri" ], - "enable_nvidia_gpu": true, "nextcloud_exec_commands": [ - "mkdir '/mnt/ncdata/admin/files/nextcloud-aio-local-ai-vulkan'", - "touch '/mnt/ncdata/admin/files/nextcloud-aio-local-ai-vulkan/models.yaml'", - "echo 'Scanning nextcloud-aio-local-ai-vulkan folder for admin user...'", - "php /var/www/html/occ files:scan --path='/admin/files/nextcloud-aio-local-ai-vulkan'", "php /var/www/html/occ app:install integration_openai", "php /var/www/html/occ app:enable integration_openai", "php /var/www/html/occ config:app:set integration_openai url --value http://nextcloud-aio-local-ai-vulkan:8080", @@ -46,4 +36,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/community-containers/local-ai-vulkan/readme.md b/community-containers/local-ai-vulkan/readme.md index 02d14219..55bfb0e6 100644 --- a/community-containers/local-ai-vulkan/readme.md +++ b/community-containers/local-ai-vulkan/readme.md @@ -1,23 +1,30 @@ -[//]: # (TODO update the readme) + +> [!WARNING] +> ARM devices are not supported by this container. It is only for x86_64 devices. (See: https://github.com/mudler/LocalAI/issues/5778) ## Local AI This container bundles Local AI and auto-configures it for you. ### Notes -- Make sure to have enough storage space available. This container alone needs ~7GB storage. Every model that you add to `models.yaml` will of course use additional space which adds up quite fast. -- After the container was started the first time, you should see a new `nextcloud-aio-local-ai` folder when you open the files app with the default `admin` user. In there you should see a `models.yaml` config file. You can now add models in there. Please refer [here](https://github.com/mudler/LocalAI/blob/master/gallery/index.yaml) where you can get further urls that you can put in there. Afterwards restart all containers from the AIO interface and the models should automatically get downloaded by the local-ai container and activated. -- Example for content of `models.yaml` (if you add all of them, it takes around 10GB additional space): -```yaml -# Stable Diffusion in NCNN with c++, supported txt2img and img2img -- url: github:mudler/LocalAI/gallery/stablediffusion.yaml - name: Stable_diffusion -``` +- Make sure vulkan is enabled in the AIO settings. Run `vulkaninfo` in the terminal to check if it is enabled. +- Make sure to have enough storage space available. This container alone needs ~7GB storage. - To make it work, you first need to browse `https://your-nc-domain.com/settings/admin/ai` and enable or disable specific features for your models in the openAI settings. Afterwards using the Nextcloud Assistant should work. +- To access the Local AI web interface, you need to set reverse proxy rules for it. +```Cadyfile +http://local-ai.your-nc-domain.com { + # Local AI web interface haven't any authentication, so you should protect it + basic_auth { + # Username "Bob", password "hiccup" + Bob $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG + } + reverse_proxy nenxtcloud-aio-local-ai-vulkan:8080 +} +``` - See [this guide](https://github.com/nextcloud/all-in-one/discussions/5430) for how to improve AI task pickup speed - See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack ### Repository -https://github.com/szaimen/aio-local-ai +https://github.com/docjyJ/aio-local-ai-vulkan ### Maintainer -https://github.com/szaimen +https://github.com/docjyJ