Update ISO installer tiers and backend deployment

This commit is contained in:
Jino Jose committed 2026-06-30 08:54:01 +05:30
1 parent 79784a6743
commit 56668f7bdc
38 files changed
+7206 -175

No files matched your search

+7
View File
@@ -0,0 +1,7 @@
---
# vLLM role defaults — overridden per-tier in the tier playbook vars block
vllm_model: "meta-llama/Meta-Llama-3.1-8B-Instruct"
vllm_tensor_parallel: 1
vllm_gpu_memory_util: "0.70"
vllm_max_model_len: 8192
vllm_quantization: "" # blank = full precision; set to "awq" for 4-bit
+46 -9
View File
@@ -1,6 +1,12 @@
---
# vLLM — high-performance LLM inference with OpenAI-compatible API
# Skipped automatically if no GPU is present.
# Variables (set defaults in defaults/main.yml, override per-tier in the playbook):
# vllm_model HuggingFace model ID to load on start
# vllm_tensor_parallel Number of GPUs for tensor parallelism (1 for Starter/Basic)
# vllm_gpu_memory_util Fraction of VRAM to reserve for vLLM (0.0–1.0)
# vllm_max_model_len Maximum context length in tokens
# vllm_quantization Quantization method: "" (none) | "awq" | "gptq" | "fp8"
- name: Check for NVIDIA GPU
shell: nvidia-smi --query-gpu=name --format=csv,noheader 2>/dev/null | head -1
@@ -10,7 +16,9 @@
- name: Skip vLLM if no GPU detected
debug:
msg: "No GPU detected — skipping vLLM image pull. Run manually when GPU is available: docker pull vllm/vllm-openai:latest"
msg: >
No GPU detected — skipping vLLM image pull.
Run manually when GPU is available: docker pull vllm/vllm-openai:latest
when: gpu_check.stdout == "" or gpu_check.rc != 0
- name: Pull vLLM Docker image
@@ -19,18 +27,23 @@
delay: 15
when: gpu_check.stdout != "" and gpu_check.rc == 0
- name: Build vLLM quantization flag
set_fact:
vllm_quant_flag: "{{ '--quantization ' + vllm_quantization if vllm_quantization != '' else '' }}"
- name: Create vLLM systemd service
copy:
dest: /etc/systemd/system/vllm.service
mode: "0644"
content: |
[Unit]
Description=vLLM OpenAI-Compatible Inference Server
After=docker.service ollama.service
Description=vLLM OpenAI-Compatible Inference Server ({{ vllm_model }})
After=docker.service
Requires=docker.service
[Service]
Restart=always
RestartSec=5
RestartSec=10
ExecStartPre=-/usr/bin/docker stop vllm
ExecStartPre=-/usr/bin/docker rm vllm
ExecStart=/usr/bin/docker run \
@@ -41,15 +54,16 @@
-v /opt/cezen/models:/root/.cache/huggingface \
-e HF_HOME=/root/.cache/huggingface \
vllm/vllm-openai:latest \
--model meta-llama/Meta-Llama-3.1-8B-Instruct \
--gpu-memory-utilization 0.7 \
--max-model-len 8192 \
--tensor-parallel-size 1
--model {{ vllm_model }} \
--gpu-memory-utilization {{ vllm_gpu_memory_util }} \
--max-model-len {{ vllm_max_model_len }} \
--tensor-parallel-size {{ vllm_tensor_parallel }} \
{{ vllm_quant_flag }}
ExecStop=/usr/bin/docker stop vllm
TimeoutStartSec=300
[Install]
WantedBy=multi-user.target
mode: "0644"
- name: Create vLLM model directory
file:
@@ -57,3 +71,26 @@
state: directory
owner: cezen
group: cezen
mode: "0755"
- name: Write vLLM tier config file (for portal reference)
copy:
dest: /opt/cezen/vllm-config.json
owner: cezen
group: cezen
mode: "0644"
content: |
{
"model": "{{ vllm_model }}",
"tensor_parallel_size": {{ vllm_tensor_parallel }},
"gpu_memory_utilization": {{ vllm_gpu_memory_util }},
"max_model_len": {{ vllm_max_model_len }},
"quantization": "{{ vllm_quantization }}"
}
- name: Enable and start vLLM service
systemd:
name: vllm
enabled: true
daemon_reload: true
when: gpu_check.stdout != "" and gpu_check.rc == 0