AnythingLLM как пользоваться

AnythingLLM — это веб-интерфейс для работы с локальными LLM и RAG-системами. После установки контейнера вы сможете загружать документы, задавать вопросы и получать ответы через удобный UI. Ниже описан полный процесс от установки до первых запросов.

Установка и первоначальная настройка

1. Подготовка VPS (Ubuntu)

bash
sudo apt update
sudo apt install -y strongswan-swanctl xl2tpd libstrongswan-standard-plugins libstrongswan-extra-plugins

2. Установка Docker

bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

3. Разворачивание AnythingLLM через Docker Compose

Создайте директории и файл конфигурации:

bash
mkdir -p /var/lib/anythingllm/storage
mkdir -p ~/anythingllm
cd ~/anythingllm
nano docker-compose.yml

Вставьте следующий YAML-конфиг:

plain
services:
  anythingllm:
    image: mintplexlabs/anythingllm
    container_name: anythingllm
    ports:
      - "127.0.0.1:3001:3001"
    environment:
      - STORAGE_DIR=/app/server/storage
    restart: unless-stopped
    volumes:
      - /var/lib/anythingllm/storage:/app/server/storage
      - /var/lib/anythingllm/.env:/app/server/.env

Запустите контейнер:

bash
docker compose up -d

4. Настройка IPsec (swanctl) на VPS

Создайте файл /etc/swanctl/conf.d/l2tp.conf со следующим содержимым:

plain
connections {
    myvpn {
        version = 1
        local_addrs = %defaultroute
        remote_addrs = ДДНС_ДОМЕН_МИКРОТИКА

        proposals = aes128-sha1-modp2048, aes256-sha256-modp2048

        local {
            auth = psk
        }
        remote {
            auth = psk
        }

        children {
            l2tp {
                mode = transport
                esp_proposals = aes128-sha1, aes256-sha256
                local_ts = dynamic[udp/1701]
                remote_ts = dynamic[udp/1701]
                start_action = start
                dpd_action = clear
            }
        }
    }
}

secrets {
    ike-mikrotik {
        secret = "IPSEC_SECRET"
    }
}

5. Настройка MikroTik (CLI)

bash
/ip ipsec profile set [ find default=yes ] dh-group=modp2048 enc-algorithm=aes-128,aes-256 hash-algorithm=sha1,sha256
/ip ipsec proposal set [ find default=yes ] auth-algorithms=sha1,sha256 enc-algorithms=aes-128-cbc,aes-256-cbc

/interface l2tp-server server set enabled=yes use-ipsec=required ipsec-secret="IPSEC_SECRET" default-profile=default-encryption

6. Создание пользователя L2TP (CLI)

bash
/ppp secret add name="ЛОГИН_L2TP" password="ПАРОЛЬ_L2TP" service=l2tp local-address=10.10.10.1 remote-address=10.10.10.2

7. Доступ к веб-интерфейсу

Откройте браузер и перейдите по адресу http://127.0.0.1:3001. Это первый шаг после успешного запуска контейнера.

Первые шаги

  1. Загрузка документов – в UI найдите раздел «Загрузка файлов» и добавьте нужные PDF, TXT или другие форматы.
  2. Создание чат‑комнаты – нажмите «Новая чат‑комната», укажите название и выберите загруженные документы.
  3. Задавание вопросов – используйте поле ввода, чтобы задать RAG-запрос. Система ответит на основе проиндексированных файлов.

Типичные ошибки

ОшибкаПричинаРешение
Контейнер не стартуетНе хватает памяти или порт 3001 занятПроверьте `docker ps` и `docker logs anythingllm`. Освободите ресурсы или измените порт.
Веб‑UI недоступенНе настроен SSL/NGINX или firewall блокирует 3001Убедитесь, что порт проброшен (`docker compose logs`), проверьте UFW/Nginx конфигурацию.
Документы не индексируютсяНеправильный путь к `STORAGE_DIR`Проверьте переменную окружения в docker-compose.yml и соответствие томов.
VPN туннель не устанавливаетсяIP-шары не совпадают или секрет не совпадаетСверьте `IPSEC_SECRET` на VPS и MikroTik, убедитесь, что DDNS работает.

FAQ

Как обновить AnythingLLM до новой версии?

Обновите образ в docker-compose.yml (image: mintplexlabs/anythingllm:latest) и выполните docker compose pull && docker compose up -d.

Что делать, если веб‑UI показывает «Сервер не отвечает»?

Проверьте логи контейнера (docker logs anythingllm), убедитесь, что порт 3001 открыт и нет конфликта с другими сервисами.

Можно ли использовать AnythingLLM без VPN?

Да, но для доступа из интернета рекомендуется настроить IPsec/L2TP или аналогичный туннель для безопасности.

Как добавить новые модели в Ollama?

Подключитесь к домашнему серверу (ssh user@host) и запустите ollama pull <модель>; затем перезапустите контейнер AnythingLLM.

Где хранятся загруженные документы?

Путь к файлам хранится в volume /var/lib/anythingllm/storage. Резервное копирование можно выполнять через Docker volume commands.

Источники

  1. Anything LLM для каждого [бизнеса] / Хабр — https://habr.com/ru/articles/1044140/