Akýkoľvek Docker

Tento šablóna vám umožňuje nasadiť obidva typy kontejnrov Dockeru – akcelerované grafickou kartou, ako napríklad ComfyUI, aj bez podpory grafickej karty, ako je napríklad n8n. Táto flexibilita umožňuje širokú škálu aplikácií od generovania obrázkov umelou inteligenciou po automatizované pracovné postupy, všetko vo jednom sprístupnenom prostredí. Konfigurujte a spustite svoje požadované kontejnery Dockeru ľahko a jednoducho, využijúc mocnosť a výhodu tejto všestrannej predlohy.

Ako by ste mohli preferovať priamo spravovať konfigurácie Dockeru, odporúčame využiť náš šablónu „Any Docker“ pre počiatocnú nastavenie. Konfigurácia Dockeru s podporou GPU môže byť komplexná, ale táto šablóna ponúka jednoduchý základ pre výstavbu a nasadenie vašich kontejnrov.

🚨 Dôležitá pozornosť pre viacero Docker kontejnerov!

Aby bolo zaručené správne fungovanie viacerých kontejnerov Docker na vašom GPU serveri, je podstatné priradiť každému kontejneru jedinečné meno a jedinečný adresár pre dáta. Napríklad namesto použitia "my_docker_container" zadajte meno ako napr. "my_comfyui_container", a nastavte adresár s údajmi na jedinečnú cestu, napr. /home/trooperai/docker_comfyui_data. Tento jednoduchý krok umožní spustiť viacero kontejnerov Dockeru bez konfliktov.


Príklad 1: vLLM kompatibilný LLM server s OpenAI cez Hugging Face

Tento príklad vysvetľuje krok po kroku, ako spustiť kompatibilnú API s vLLM pre OpenAI pomocou šablóny Trooper.AI any-docker.
Je napísaný tak, aby bol pochopiteľný aj pri minimálnych znalostiach o Dockeru alebo umelom intelekte.

Tento nastavenie používa Qwen/Qwen3-4B, čo je podporované a spustiteľné na všetkých Trooper.AI GPU serveroch.

Čo tento nastavenie robí

  • Spustí sa vLLM server v Dockeru
  • Načíta model Qwen/Qwen3-4B z Hugging Face
  • HTTP API kompatibilná s OpenAI
  • Funguje na súčasné ovládače NVIDIA (CUDA 13 / 580+)

Prečo je táto konfigurácia potrebná

Pri novších ovládačoch NVIDIA môžu staršie kontejnery s obrazom vLLM pri štarte zrútiť chybami CUDA.
Aby sa tomu vyhlo, šablóna pre any-docker:

  • Používá nočnú verziu obrazu vLLM
  • Vynúti Dockeru na načítanie návodcových knižníc grafického zariadenia NVIDIA hosta

Túto logiku nemusíte meniť – použiť len konfiguráciu nižšie.

Premenné šablóny

Zobrazte tu ako na obrázku konfigurácia a nižšie úplný text pre kopírovanie.

Config vLLM Any Docker 1/2
Konfigurácia pre vLLM s ľubovoľným Dockerom 1/2

Config vLLM Any Docker 2/2
Konfigurácia vLLM pre ľubovolný Docker 2/2

Premenná Hodnota Čo to znamená
app_args --model Qwen/Qwen3-4B Určuje, ktorý model má vLLM načítať.
container_name my_vllm_api Názov kontejneru Docker.
docker_reprotag vllm/vllm-openai:nightly obrazec vLLM s opravami pre súčasné ovládače NVIDIA
docker_port 8000 Interný port používaný vLLM.
gpus all Zabezpečuje prístup k všetkým GPU pre Docker.
host_network YES API vystavuje priamo na sieť hosta.
keep_alive NO Normálny životný cyklus kontejneru (odporúčaný).
local_data_dir /home/trooperai/.cache/huggingface Adresár modelového cachu na hostiteľovi.
docker_data_dir /root/.cache/huggingface Adresár vyrovnávacej pamäte modelu vo containeri.
start_args -e LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/nvidia/lib:/usr/lib/x86_64-linux-gnu --ipc=host --env HF_TOKEN=… Vyžadovaná oprava pre CUDA + spoločnú pamäť.

Dôležitá poznámka o LD_LIBRARY_PATH

Táto nastavenie je povinné na systémoch s CUDA 13.
Bez neho sa môže spustenie vLLM zlyhať kvôli nekompatibility ovládačov NVIDIA.

Nezmažte ho.

Ak overiť, či funguje

Example response
Príklad odpovedi

Spustite nasledujúci príkaz:

bash
curl https://XXXXXXXX.apps01.trooper.ai/v1/models

Ak vidíte Qwen/Qwen3-4B v odpovedi sa správne spúšťa server.

Príklad použitia s príkazom curl

bash
curl https://XXXXXXXX.apps01.trooper.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer dummy-key" \
  -d '{
    "model": "Qwen/Qwen3-4B",
    "messages": [
      { "role": "user", "content": "What is Trooper.AI?" }
    ]
  }'

Príklad použitia s Node.js

Jednoduchý požiadost

js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "dummy-key",
  baseURL: "https://XXXXXXXX.apps01.trooper.ai/v1",
});

const result = await client.chat.completions.create({
  model: "Qwen/Qwen3-4B",
  messages: [{ role: "user", content: "What is Trooper.AI?" }],
});

console.log(result.choices[0].message.content);

Test zátěže v Node.js (16 súčasných požiadaviek)

Tento príklad posiela 16 súčasných požiadaviek na API a vypíše jednoduchý prehľad výkonnosti.

js
import OpenAI from "openai";
import crypto from "crypto";

const client = new OpenAI({
  apiKey: "dummy-key",
  baseURL: "https://XXXXXXXX.apps01.trooper.ai/v1",
});

const CONCURRENCY = 16;

function randomPrompt() {
  return `Explain this random concept in one sentence: ${crypto.randomUUID()}`;
}

const startTime = Date.now();

const requests = Array.from({ length: CONCURRENCY }, () =>
  client.chat.completions.create({
    model: "Qwen/Qwen3-4B",
    messages: [{ role: "user", content: randomPrompt() }],
  })
);

const responses = await Promise.all(requests);

const endTime = Date.now();
const durationSeconds = (endTime - startTime) / 1000;

let totalTokens = 0;
for (const r of responses) {
  totalTokens += r.usage.total_tokens;
}

const tokensPerSecond = (totalTokens / durationSeconds).toFixed(2);

console.log(
  `${tokensPerSecond} token/s of total ${totalTokens} tokens in ${durationSeconds.toFixed(
    2
  )} seconds on ${CONCURRENCY} concurrent connections`
);

Tento test je užitočný pre:

  • overovanie konkurenčných prístupov
  • odhad výkonnosti
  • rýchle kontrolné overenie výkonnosti

Ak získavať podporu pre vLLM GPU server?

Pri akýchkoľvek problémoch s vLLM prosím kontaktujte podporu – máme veľké skúsenosti s používaním vLLM: Kontakty na podporu

Odkazujte sa na našu sekciu Benchmarky, aby ste porovnali svoju instaláciu vLLM s našimi výkonnostnými testami, zameranými na výsledky pri viacnásobnej konkurencii.

Bonus k autentizácii vLLM: Jak nastaviť a použiť API klúč

vLLM spustí API kompatibilné s OpenAI, ale nezadarmo nevyžaduje skutočný API kľúč.

Máte dve možnosti:

Možnosť 1: Použiť náhradný kľúč (predvolený, najjednoduchší)

Ak je nevyžadovaná autentifikácia, môžeš použiť ako API klúč libovolný reťazec.

curl

bash
-H "Authorization: Bearer dummy-key"

Node.js

js
apiKey: "dummy-key"

To je dostačujúce pre väčšinu vnútorných, súkromných alebo zabezpečených sieťových nasadení.

Možnosť 2: Nastaviť reálny API kľúč (odporúčané pre verejné endpointy)

API klúč môžete nastaviť ako povinný pomocou premennej prostredia pri spustení kontejneru.

V šablóne any-docker (start_args):

Text
--env OPENAI_API_KEY=your-secret-key

vLLM potom vyžaduje tento kľúč vo všetkých požiadavkách.

Príklad žiadosti curl:

bash
curl https://your-endpoint/v1/models \
  -H "Authorization: Bearer your-secret-key"

Príklad na Node.js:

js
const client = new OpenAI({
  apiKey: "your-secret-key",
  baseURL: "https://your-endpoint/v1",
});

Ak rotovať alebo zmeniť kľúč

  • Aktualizovať OPENAI_API_KEY v šablóne
  • Kliknite na "upraviť šablónu"
  • Staré klúče prestanú fungovať okamžite

Zhrnutie

  • Kľúč nie je potrebný → použiť dummy-key
  • Veřejný endpoint → nastaviť OPENAI_API_KEY
  • Kľúč je nikdy automaticky nevytvorený; vy ho definujete

To udržuje autentifikáciu jednoduchou a jednoznačnou.


Príklad 2: Spustenie Qdrantu na serveri s grafickou kartou

Qdrant je vysokovýkonná vektorová databáza, ktorá podporuje vyhľadávanie podobnosti, sémantické vyhľadávanie a embeddingy vo veľkosti.
Keď je Qdrant nasadený na server Trooper.AI s podporou GPU, dokáže indexovať a vyhľadávať milióny vektorov extrémne rýchlo – ideálny pre systémy RAG, pamäť LLM, engine osobnejšej personalizácie a doporučovacích systémov.

Nasledujúci príručka ukazuje ako spustiť Qdrant cez Docker, ako vypadá na dashboarde a ako ho správne dotaziť pomocou Node.js.

Spustenie kontejneru Qdrant vo Dockeri

Môžete jednoducho spustiť oficiálny qdrant/qdrant Kontejner Docker s nastaveniami uvedenými nižšie.
Tieto obrázky zobrazujú typickú konfiguráciu používanú na serveroch s GPU od Trooper.AI, vrátane:

  • Zverejnený port REST API
  • Prístup k panelu
  • Trvalosť dát
  • Voliteľné zrýchlenie pomocou GPU (ak je povolené vo vašom prostredí)

qdrant config settings for docker 1/2
konfigurácia nastavení pre Qdrant v Dockeri 1/2

qdrant config settings for docker 2/2
konfigurácia pre qdrant v Dockeri – časť 2 z 2

Po spustení budete mať okamžitý prístup k obom Qdrant Dashboardu i REST API.

Náhľad Qdrant Dashboard

Dashboard umožňuje prezerieť zbierky, vektory, nákladové údaje a indexy.
Typický výhľad na dashbord vypadá takto:

Quadrant dashboard
Qdrant Dashboard

Odtiaľto môžete:

  • Vytvoriť zbierky
  • Pridať vektory
  • Spustiť príkladové vyhľadávania
  • Prehliadať metadáta
  • Monitorovať výkon

Prístup k Qdrantu z Node.js

Níže je uvedený funkčný a opravený príklad na Node.js s využitím Qdrant REST API.

Dôležité opravy z pôvodného príkladu:

  • Qdrant vyžaduje volanie endpointu typu:
    /collections/<collection_name>/points/search
  • vektor musí byť pole, nie (a, b, c)
  • Súčasný Node.js má rodilé fetch, tak nie je potrebné node-fetch

PRÍKLAD NA NODE.JS

JavaScript
// Qdrant Vector Search Example – fully compatible with Qdrant 1.x and 2.x

async function queryQdrant() {
  // Replace "my_collection" with your actual collection name
  const url = 'https://AUTOMATIC-SECURE-URL.trooper.ai/collections/my_collection/points/search';

  const payload = {
    vector: [0.1, 0.2, 0.3, 0.4],  // Must be an array
    limit: 5
  };

  try {
    const response = await fetch(url, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(payload)
    });

    if (!response.ok) {
      throw new Error(`Qdrant request failed with status: ${response.status}`);
    }

    const data = await response.json();
    console.log('Qdrant Response:', data);
    return data;

  } catch (error) {
    console.error('Error querying Qdrant:', error);
    return null;
  }
}

queryQdrant();

Platný žiadostný záznam pre vyhľadávanie v Qdrante

Qdrant očakáva JSON telo v tomto tvaru:

json
{
  "vector": [0.1, 0.2, 0.3, 0.4],
  "limit": 5
}

Kde:

  • vektor → váš vektorový vstup
  • limit → maximálne počet vrátaných výsledkov

Môžete tiež pridať pokročilé filtre ak je potrebné:

json
{
  "vector": [...],
  "limit": 5,
  "filter": {
    "must": [
      { "key": "category", "match": { "value": "news" } }
    ]
  }
}

Poznámky pre užívateľov Trooper.AI

  • Nahradiť AUTOMATIC-SECURE-URL.trooper.ai s vaším priradeným bezpečným koncovkou
  • Uistite sa, že vaša kolekcia existuje pred vykonaním dotazu

Príklad: Spustenie N8N s ľubovolným Dockerom

V tomto príklade nastavíme Any Docker s vašou konfiguráciou pre N8N a trvalé ukladanie dát tak, aby po restartoch ostali dáta nedotknuté. Táto konfigurácia neobsahuje webhooky. Ak potrebujete webhooky, použite predkonfigurovaný šablónový návod na: n8n

Tento návod je len na vysvetlenie. Môžete spustiť ľubovoľný docker kontejnerný obraz, aký chcete.

Zobraziť náhľady konfigurácie nižšie:

N8N any docker setup 1/4
Konfigurácia N8N v Dockeri – časť 1/4

N8N any docker setup 2/4
nastavenie kontejneru s N8N 2/4

N8N any docker setup 3/4
Konfigurácia N8N v Dockeri – časť 3 z 4

N8N any docker setup 4/4 - result
Konfigurácia N8N v Dockeri – výsledok 4/4

Docker príkaz pod kapotou

Tento šablóna automatizuje úplnú konfiguráciu Docker kontejneru s podporou GPU, vrátane inštalácie všetkých potrebných balíčkov Ubuntu a závislostí na podporu NVIDIA GPU. Týmto sa proces zjednoduší, najmä pre používateľov zvyknutých na nasadenie Docker kontejnerov pre webové servery, ktoré často vyžadujú komplexnejšiu konfiguráciu.

Nasledujúce docker run Príkaz je automaticky generovaný šablónou na spustenie vybraného kontejneru s podporou GPU. Obsahuje všetky potrebné nastavenia pre optimálny výkon a kompatibilitu so vášim serverom Trooper.AI.

Tento príkaz slúži ako ukážkový príklad pre poskytnutie vývojárom pochopenia podľažiacich procesov:

bash
docker run -d \
  --name ${CONTAINER_NAME} \
  --restart always \
  --gpus ${GPUS} \
  --add-host=host.docker.internal:host-gateway \
  -p ${PUBLIC_PORT}:${DOCKER_PORT} \
  -v ${LOCAL_DATA_DIR}:/home/node/.n8n \
  -e N8N_SECURE_COOKIE=false \
  -e N8N_RUNNERS_ENABLED=true \
  -e N8N_HOST=${N8N_HOST} \
  -e WEBHOOK_URL=${WEBHOOK_URL} \
  docker.n8n.io/n8nio/n8n \
  tail -f /dev/null

Nevykonávajte túto príkaz manuálne ak ste nie Docker odborník! Dôverujte šablóne.

Čo umožňuje N8N na súkromnom GPU serveri?

n8n odblokuje potenciál spustiť komplexné pracovné prúdy priamo na vašom GPU serveri Trooper.AI. To znamená, že môžete automatizovať úlohy spojené s procesovaním obrázkov/videí, analýzou dát, interakciami s veľkými jazykovými modelymi (LLM), a viac – využívaním výkonu GPU pre zrýchlené vykonanie.

Konkrétne môžete spustiť workflowy pre:

  • Manipulácia obrázkov/videí: Automatizovať zmenšovanie na požadovanú veľkosť, vkladanie vodoznakov, detekciu objektov a ďalšie vizuálne úlohy.
  • Zprácovanie dát: Extrahovať, transformovať a načítať dáta z rôznych zdrojov.
  • Integracia LLM: Pripojiť sa a interagovať s veľkými jazykovými modely pre úlohy ako generovanie textu, preklad a analýza nálad.
  • Automatizácia webových stránok: Automatizovať úlohy na rôznych weboch a API.
  • Vlastné pracovné postupy: Vytvárajte a nasadzujte ľubovoľný automatizovaný proces prispôsobený vašim potrebum.

Pamatujte si, že budete musieť nainštalovať nástroje umelého intelektu ako napríklad ComfyUI a Ollama, aby ste ich mohli integrovať do vašich lokálnych N8N pracovných prúdov na serveri. Takisto potrebujete dostatok GPU VRAM pre sprostredkovanie všetkých modelov. Neprirážajte tie GPU kontejnerom Docker, ktorý spúšťa N8N.

Čo je Docker v kontexte GPU serveru?

Na serveri Trooper.AI s grafickou kartou umožňuje Docker balenie aplikácií spolu so ich závislosťami do štandardizovaných jednotiek nazývaných kontejnery. To je obzvlášť účinné pre úlohy určené na zrýchlenie pomocou GPU, pretože zaručuje konzistenciu vo všetkých prostrediach a usnadňuje nasadenie. Namesto priamej instalácie závislostí priamo na hostiteľskom operačnom systéme obsahujú kontejnery Docker všeobecne potrebné pre spustenie aplikácie – vrátane knižníc, systémových nástrojov, runtimeu a nastavení.

Pre aplikácie s podporou GPU umožňuje Docker efektívne využívať grafické zdroje servera. Pomocou NVIDIA Container Toolkit môžu kontejnery prístupovať k GPU hostiteľského systému, čím sa zabezpečuje urýchlené počítanie pre úlohy ako strojové učenie, inferencia hlbokého učenia a analýza dát. Táto izolácia tiež zlepšuje bezpečnosť a správu zdrojov, čo umožňuje viacerým aplikáciám sdieliť GPU bez vzájomného rušenia. Rozverovanie a škálovanie aplikácií založených na GPU sa s Dockerom na serveri Trooper.AI značne zjednoduší.

Viac kontejnerov Docker na beh

Lahko snadno spustíte viacero kontejnerov Dockeru a požiadať o pomoc cez: Kontakty na podporu