Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
This commit is contained in:
Jean-Yves 2025-07-02 13:41:14 +02:00
parent 2172ee568d
commit 5afeb650f9
No known key found for this signature in database
GPG key ID: 644C8B9C4CABAEF7
2 changed files with 22 additions and 25 deletions

View file

@ -2,10 +2,10 @@
"aio_services_v1": [ "aio_services_v1": [
{ {
"container_name": "nextcloud-aio-local-ai-vulkan", "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", "documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai-vulkan",
"image": "docjyJ/aio-local-ai-vulkan", "image": "ghcr.io/docjyj/aio-local-ai-vulkan",
"image_tag": "%AIO_CHANNEL%", "image_tag": "v0",
"internal_port": "8080", "internal_port": "8080",
"restart": "unless-stopped", "restart": "unless-stopped",
"environment": [ "environment": [
@ -22,22 +22,12 @@
"source": "nextcloud_aio_localai_vulkan_images", "source": "nextcloud_aio_localai_vulkan_images",
"destination": "/tmp/generated/images/", "destination": "/tmp/generated/images/",
"writeable": true "writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/nextcloud",
"writeable": false
} }
], ],
"devices": [ "devices": [
"/dev/dri" "/dev/dri"
], ],
"enable_nvidia_gpu": true,
"nextcloud_exec_commands": [ "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:install integration_openai",
"php /var/www/html/occ app:enable 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", "php /var/www/html/occ config:app:set integration_openai url --value http://nextcloud-aio-local-ai-vulkan:8080",

View file

@ -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 ## Local AI
This container bundles Local AI and auto-configures it for you. This container bundles Local AI and auto-configures it for you.
### Notes ### 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. - Make sure vulkan is enabled in the AIO settings. Run `vulkaninfo` in the terminal to check if it is enabled.
- 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. - Make sure to have enough storage space available. This container alone needs ~7GB storage.
- 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
```
- 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 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 [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 - See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository ### Repository
https://github.com/szaimen/aio-local-ai https://github.com/docjyJ/aio-local-ai-vulkan
### Maintainer ### Maintainer
https://github.com/szaimen https://github.com/docjyJ