mirror of
https://github.com/itme-brain/nixos.git
synced 2026-05-08 14:50:12 -04:00
integrated rigby
This commit is contained in:
parent
532c874c96
commit
6af94e54d5
9 changed files with 1653 additions and 8 deletions
136
external/rigby/playbooks/recover.yml
vendored
136
external/rigby/playbooks/recover.yml
vendored
|
|
@ -41,6 +41,29 @@
|
|||
- linux-headers-{{ ansible_kernel }}
|
||||
- linux-modules-extra-{{ ansible_kernel }}
|
||||
- samba
|
||||
- just
|
||||
- python3.12
|
||||
- python3.12-venv
|
||||
- docker.io
|
||||
vllm_user: vllm
|
||||
vllm_home: /home/vllm
|
||||
vllm_venv: /home/vllm/vllm-venv
|
||||
vllm_models: /home/vllm/models
|
||||
vllm_port: 8000
|
||||
vllm_gpu_memory_utilization: "0.95"
|
||||
vllm_rocm_wheels_url: https://wheels.vllm.ai/rocm/0.19.0/rocm721
|
||||
vllm_models_list:
|
||||
- name: Qwen2.5-Coder-14B
|
||||
recipe: coder
|
||||
dir: Qwen2.5-Coder-14B-Instruct
|
||||
max_model_len: 4096
|
||||
- name: Qwen2.5-7B-Instruct
|
||||
recipe: qwen7b
|
||||
dir: Qwen2.5-7B-Instruct
|
||||
max_model_len: 8192
|
||||
tool_call_parser: hermes
|
||||
librechat_root: /home/bryan/LibreChat
|
||||
librechat_repo_url: https://github.com/danny-avila/LibreChat
|
||||
tasks:
|
||||
- name: Ensure deadsnakes PPA is configured
|
||||
ansible.builtin.apt_repository:
|
||||
|
|
@ -304,3 +327,116 @@
|
|||
ansible.builtin.command: netplan apply
|
||||
when: rigby_static_network_enabled | bool
|
||||
changed_when: true
|
||||
|
||||
# --- vLLM ---
|
||||
|
||||
- name: Ensure vllm user exists
|
||||
ansible.builtin.user:
|
||||
name: "{{ vllm_user }}"
|
||||
groups:
|
||||
- render
|
||||
- video
|
||||
append: true
|
||||
create_home: true
|
||||
shell: /bin/bash
|
||||
|
||||
- name: Ensure vllm models directory exists
|
||||
ansible.builtin.file:
|
||||
path: "{{ vllm_models }}"
|
||||
state: directory
|
||||
owner: "{{ vllm_user }}"
|
||||
group: "{{ vllm_user }}"
|
||||
mode: "0755"
|
||||
|
||||
- name: Ensure uv is installed for vllm user
|
||||
ansible.builtin.shell: |
|
||||
set -euo pipefail
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
args:
|
||||
creates: "{{ vllm_home }}/.local/bin/uv"
|
||||
become_user: "{{ vllm_user }}"
|
||||
|
||||
- name: Ensure vllm venv exists
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- "{{ vllm_home }}/.local/bin/uv"
|
||||
- venv
|
||||
- --python
|
||||
- "3.12"
|
||||
- "{{ vllm_venv }}"
|
||||
args:
|
||||
creates: "{{ vllm_venv }}/bin/python"
|
||||
become_user: "{{ vllm_user }}"
|
||||
|
||||
- name: Install vLLM in venv
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- "{{ vllm_home }}/.local/bin/uv"
|
||||
- pip
|
||||
- install
|
||||
- --python
|
||||
- "{{ vllm_venv }}/bin/python"
|
||||
- vllm
|
||||
- --extra-index-url
|
||||
- "{{ vllm_rocm_wheels_url }}"
|
||||
args:
|
||||
creates: "{{ vllm_venv }}/bin/vllm"
|
||||
become_user: "{{ vllm_user }}"
|
||||
|
||||
- name: Install vllm justfile
|
||||
ansible.builtin.template:
|
||||
src: ../templates/vllm-justfile.j2
|
||||
dest: "{{ vllm_home }}/justfile"
|
||||
owner: "{{ vllm_user }}"
|
||||
group: "{{ vllm_user }}"
|
||||
mode: "0644"
|
||||
|
||||
- name: Ensure vllm bashrc sources api key from file
|
||||
ansible.builtin.lineinfile:
|
||||
path: "{{ vllm_home }}/.bashrc"
|
||||
line: "export VLLM_API_KEY=$(cat {{ vllm_home }}/.api_key)"
|
||||
state: present
|
||||
|
||||
# --- LibreChat ---
|
||||
|
||||
- name: Ensure Docker service is enabled and running
|
||||
ansible.builtin.systemd_service:
|
||||
name: docker
|
||||
enabled: true
|
||||
state: started
|
||||
|
||||
- name: Ensure bryan is in docker group
|
||||
ansible.builtin.user:
|
||||
name: "{{ rigby_user }}"
|
||||
groups:
|
||||
- docker
|
||||
append: true
|
||||
|
||||
- name: Ensure LibreChat repo is present
|
||||
ansible.builtin.git:
|
||||
repo: "{{ librechat_repo_url }}"
|
||||
dest: "{{ librechat_root }}"
|
||||
update: false
|
||||
become_user: "{{ rigby_user }}"
|
||||
|
||||
- name: Install librechat.yaml config
|
||||
ansible.builtin.template:
|
||||
src: ../templates/librechat.yaml.j2
|
||||
dest: "{{ librechat_root }}/librechat.yaml"
|
||||
owner: "{{ rigby_user }}"
|
||||
group: "{{ rigby_user }}"
|
||||
mode: "0644"
|
||||
|
||||
- name: Install librechat systemd unit
|
||||
ansible.builtin.template:
|
||||
src: ../templates/librechat.service.j2
|
||||
dest: /etc/systemd/system/librechat.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
|
||||
- name: Reload systemd and enable librechat service
|
||||
ansible.builtin.systemd_service:
|
||||
name: librechat.service
|
||||
daemon_reload: true
|
||||
enabled: true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue