mirror of
https://github.com/itme-brain/nixos.git
synced 2026-05-08 14:50:12 -04:00
init
This commit is contained in:
commit
864c69fe61
147 changed files with 11233 additions and 0 deletions
16
external/rigby/templates/99-rigby-static.yaml.j2
vendored
Normal file
16
external/rigby/templates/99-rigby-static.yaml.j2
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
network:
|
||||
version: 2
|
||||
renderer: networkd
|
||||
ethernets:
|
||||
{{ rigby_interface }}:
|
||||
dhcp4: false
|
||||
addresses:
|
||||
- {{ rigby_static_ip }}
|
||||
routes:
|
||||
- to: default
|
||||
via: {{ rigby_gateway }}
|
||||
nameservers:
|
||||
addresses:
|
||||
{% for dns in rigby_dns %}
|
||||
- {{ dns }}
|
||||
{% endfor %}
|
||||
9
external/rigby/templates/comfy-output.conf.j2
vendored
Normal file
9
external/rigby/templates/comfy-output.conf.j2
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[comfy-output]
|
||||
path = {{ comfy_output_dir }}
|
||||
browseable = yes
|
||||
read only = no
|
||||
guest ok = yes
|
||||
force user = {{ comfy_user }}
|
||||
force group = {{ comfy_group }}
|
||||
create mask = 0664
|
||||
directory mask = 2775
|
||||
22
external/rigby/templates/comfyui.service.j2
vendored
Normal file
22
external/rigby/templates/comfyui.service.j2
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
[Unit]
|
||||
Description=ComfyUI
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User={{ comfy_user }}
|
||||
Group={{ comfy_group }}
|
||||
UMask=0002
|
||||
WorkingDirectory={{ comfy_root }}
|
||||
Environment=HOME={{ comfy_home }}
|
||||
Environment=COMFYUI_PATH={{ comfy_root }}
|
||||
Environment=PATH={{ comfy_home }}/.local/bin:{{ comfy_venv }}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
ExecStart={{ comfy_venv }}/bin/python {{ comfy_root }}/main.py --highvram --enable-manager --listen 0.0.0.0 --port {{ comfy_port }} --disable-auto-launch
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
18
external/rigby/templates/librechat.service.j2
vendored
Normal file
18
external/rigby/templates/librechat.service.j2
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[Unit]
|
||||
Description=LibreChat
|
||||
After=network-online.target docker.service
|
||||
Wants=network-online.target
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User={{ rigby_user }}
|
||||
Group=docker
|
||||
WorkingDirectory={{ librechat_root }}
|
||||
ExecStart=/usr/bin/docker compose up
|
||||
ExecStop=/usr/bin/docker compose down
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
43
external/rigby/templates/librechat.yaml.j2
vendored
Normal file
43
external/rigby/templates/librechat.yaml.j2
vendored
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
version: 1.3.5
|
||||
|
||||
cache: true
|
||||
|
||||
interface:
|
||||
webSearch: false
|
||||
runCode: false
|
||||
mcpServers:
|
||||
use: true
|
||||
create: true
|
||||
share: false
|
||||
public: false
|
||||
|
||||
mcpServers:
|
||||
searxng:
|
||||
command: npx
|
||||
args:
|
||||
- -y
|
||||
- mcp-searxng
|
||||
env:
|
||||
SEARXNG_URL: http://searxng:8080
|
||||
timeout: 60000
|
||||
fetch:
|
||||
command: uvx
|
||||
args:
|
||||
- mcp-server-fetch
|
||||
- --ignore-robots-txt
|
||||
timeout: 60000
|
||||
|
||||
endpoints:
|
||||
custom:
|
||||
- name: "rigby-vllm"
|
||||
apiKey: "${VLLM_API_KEY}"
|
||||
baseURL: "http://host.docker.internal:{{ vllm_port }}/v1"
|
||||
models:
|
||||
default: []
|
||||
fetch: true
|
||||
titleConvo: true
|
||||
titleModel: "current_model"
|
||||
titleMessageRole: "user"
|
||||
summarize: false
|
||||
summaryModel: "current_model"
|
||||
modelDisplayLabel: "Rigby vLLM"
|
||||
58
external/rigby/templates/vllm-justfile.j2
vendored
Normal file
58
external/rigby/templates/vllm-justfile.j2
vendored
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{% raw %}# List available recipes
|
||||
[private]
|
||||
default:
|
||||
@just --list
|
||||
|
||||
# Show currently running vLLM server
|
||||
status:
|
||||
@pgrep -a -f "vllm serve" || echo "No vLLM server running"
|
||||
|
||||
# Tail the vLLM log
|
||||
logs:
|
||||
@tail -f {% endraw %}{{ vllm_home }}/vllm.log{% raw %}
|
||||
|
||||
# Stop any running vLLM server and wait for VRAM to free
|
||||
stop:
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
if pgrep -f "vllm serve" > /dev/null; then
|
||||
echo "Stopping vLLM..."
|
||||
pkill -TERM -f "vllm serve" || true
|
||||
sleep 2
|
||||
pkill -KILL -f "vllm serve" 2>/dev/null || true
|
||||
fi
|
||||
echo "Waiting for VRAM to release..."
|
||||
for i in $(seq 1 30); do
|
||||
used=$(rocm-smi --showmeminfo vram 2>/dev/null | awk '/VRAM Total Used Memory/ {print $NF}')
|
||||
total=$(rocm-smi --showmeminfo vram 2>/dev/null | awk '/VRAM Total Memory \(B\)/ {print $NF}')
|
||||
if [ -n "$used" ] && [ -n "$total" ] && [ "$total" -gt 0 ]; then
|
||||
pct=$(( used * 100 / total ))
|
||||
echo " VRAM: ${pct}%"
|
||||
if [ "$pct" -lt 10 ]; then
|
||||
echo "VRAM free."
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
echo "Warning: VRAM did not fully release after 60s"
|
||||
{% endraw %}
|
||||
{% for model in vllm_models_list %}
|
||||
# Serve {{ model.name }}
|
||||
{{ model.recipe }}: stop
|
||||
#!/usr/bin/env bash
|
||||
source {{ vllm_home }}/.bashrc
|
||||
nohup {{ vllm_home }}/vllm-venv/bin/vllm serve {{ vllm_models }}/{{ model.dir }} \
|
||||
--served-model-name {{ model.name }} \
|
||||
--host 0.0.0.0 \
|
||||
--port {{ vllm_port }} \
|
||||
--api-key ${VLLM_API_KEY} \
|
||||
--dtype auto \
|
||||
--max-model-len {{ model.max_model_len }} \
|
||||
--gpu-memory-utilization {{ vllm_gpu_memory_utilization }}{% if model.tool_call_parser is defined %} \
|
||||
--enable-auto-tool-choice \
|
||||
--tool-call-parser {{ model.tool_call_parser }}{% endif %} \
|
||||
> {{ vllm_home }}/vllm.log 2>&1 &
|
||||
echo "Started {{ model.name }} (pid $!). Run 'just logs' to follow."
|
||||
|
||||
{% endfor %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue