Update ISO installer tiers and backend deployment
This commit is contained in:
1 parent
79784a6743
commit
56668f7bdc
38 files changed
+7206
-175
No files matched your search
@@ -0,0 +1,113 @@
|
||||
---
|
||||
# cezen-backend role: installs the Nexus One AI FastAPI management API
|
||||
|
||||
- name: Install system Python deps
|
||||
apt:
|
||||
name:
|
||||
- python3-pip
|
||||
- python3-venv
|
||||
- python3.11
|
||||
- python3.11-venv
|
||||
- libmupdf-dev # required by pymupdf (Document Intelligence)
|
||||
- mupdf-tools
|
||||
state: present
|
||||
update_cache: yes
|
||||
|
||||
- name: Create backend directory
|
||||
file:
|
||||
path: /opt/cezen/backend
|
||||
state: directory
|
||||
owner: "{{ cezen_user }}"
|
||||
group: "{{ cezen_user }}"
|
||||
mode: "0755"
|
||||
|
||||
- name: Create data directory (JWT secret + SQLite DB)
|
||||
file:
|
||||
path: /opt/cezen/data
|
||||
state: directory
|
||||
owner: "{{ cezen_user }}"
|
||||
group: "{{ cezen_user }}"
|
||||
mode: "0750"
|
||||
|
||||
- name: Copy FastAPI application
|
||||
copy:
|
||||
src: main.py
|
||||
dest: /opt/cezen/backend/main.py
|
||||
owner: "{{ cezen_user }}"
|
||||
group: "{{ cezen_user }}"
|
||||
mode: "0644"
|
||||
notify: Restart cezen-api
|
||||
|
||||
- name: Copy QLoRA training runner
|
||||
copy:
|
||||
src: train_qlora.py
|
||||
dest: /opt/cezen/backend/train_qlora.py
|
||||
owner: "{{ cezen_user }}"
|
||||
group: "{{ cezen_user }}"
|
||||
mode: "0755"
|
||||
|
||||
- name: Copy requirements.txt
|
||||
copy:
|
||||
src: requirements.txt
|
||||
dest: /opt/cezen/backend/requirements.txt
|
||||
owner: "{{ cezen_user }}"
|
||||
group: "{{ cezen_user }}"
|
||||
mode: "0644"
|
||||
|
||||
- name: Create Python virtual environment (Python 3.11)
|
||||
become_user: "{{ cezen_user }}"
|
||||
command: python3.11 -m venv /opt/cezen/backend/venv
|
||||
args:
|
||||
creates: /opt/cezen/backend/venv/bin/activate
|
||||
|
||||
- name: Install Python dependencies
|
||||
become_user: "{{ cezen_user }}"
|
||||
pip:
|
||||
requirements: /opt/cezen/backend/requirements.txt
|
||||
virtualenv: /opt/cezen/backend/venv
|
||||
notify: Restart cezen-api
|
||||
|
||||
- name: Install Pro/Max fine-tuning dependencies
|
||||
become_user: "{{ cezen_user }}"
|
||||
pip:
|
||||
name:
|
||||
- torch
|
||||
- transformers
|
||||
- datasets
|
||||
- peft
|
||||
- bitsandbytes
|
||||
- accelerate
|
||||
- trl
|
||||
- sentencepiece
|
||||
virtualenv: /opt/cezen/backend/venv
|
||||
retries: 3
|
||||
delay: 15
|
||||
when: (tier | default('basic')) in ['pro', 'max']
|
||||
|
||||
- name: Install Max multi-GPU training dependencies
|
||||
become_user: "{{ cezen_user }}"
|
||||
pip:
|
||||
name:
|
||||
- deepspeed
|
||||
virtualenv: /opt/cezen/backend/venv
|
||||
retries: 3
|
||||
delay: 15
|
||||
when: (tier | default('basic')) == 'max'
|
||||
|
||||
- name: Install systemd service unit
|
||||
copy:
|
||||
src: cezen-api.service
|
||||
dest: /etc/systemd/system/cezen-api.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
notify:
|
||||
- Reload systemd
|
||||
- Restart cezen-api
|
||||
|
||||
- name: Enable and start cezen-api service
|
||||
systemd:
|
||||
name: cezen-api
|
||||
enabled: yes
|
||||
state: started
|
||||
daemon_reload: yes
|
||||
Reference in new issue
Block a user