llm, always do the setup steps, then XYZ_enabled vars are used to disable and stop services not wanted.
This commit is contained in:
@@ -296,100 +296,97 @@
|
|||||||
mode: "0755"
|
mode: "0755"
|
||||||
|
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | LLMs | runit | open-webui
|
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Packages
|
||||||
block:
|
ansible.builtin.package:
|
||||||
|
name:
|
||||||
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Packages
|
- docker
|
||||||
ansible.builtin.package:
|
state: present
|
||||||
name:
|
|
||||||
- docker
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Packages | init
|
|
||||||
ansible.builtin.package:
|
|
||||||
name:
|
|
||||||
- docker-runit
|
|
||||||
state: present
|
|
||||||
when: ansible_pkg_mgr == "pacman"
|
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Dir | /etc/sv
|
|
||||||
ansible.builtin.file:
|
|
||||||
name: "/etc/sv/open_webui/log"
|
|
||||||
state: directory
|
|
||||||
owner: root
|
|
||||||
mode: "0755"
|
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Dir | /var/log
|
|
||||||
ansible.builtin.file:
|
|
||||||
name: "/var/log/open_webui"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ user }}"
|
|
||||||
mode: "0755"
|
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Script | File
|
|
||||||
ansible.builtin.copy:
|
|
||||||
dest: /etc/sv/open_webui/run
|
|
||||||
content: |
|
|
||||||
#!/bin/sh
|
|
||||||
exec 2>&1
|
|
||||||
|
|
||||||
# Wait for Docker to start up.
|
|
||||||
while [ ! -S /var/run/docker.sock ]; do sleep 1; done
|
|
||||||
|
|
||||||
# Ensure the old container is gone.
|
|
||||||
echo "Stopping..."
|
|
||||||
docker stop open-webui &&
|
|
||||||
echo "Container stopped" ||
|
|
||||||
echo "Container already stopped."
|
|
||||||
echo "Deleting..."
|
|
||||||
docker rm -f open-webui &&
|
|
||||||
echo "Container deleted" ||
|
|
||||||
echo "Container already deleted."
|
|
||||||
|
|
||||||
# Start the open-webui program.
|
|
||||||
set -e
|
|
||||||
exec docker run --rm \
|
|
||||||
-p {{ open_webui_port }}:8080 \
|
|
||||||
--add-host=host.docker.internal:host-gateway \
|
|
||||||
-v open-webui:/app/backend/data \
|
|
||||||
{{ ("-e HF_TOKEN=" ~ hf_token) if hf_token else '' }} \
|
|
||||||
-e WEBUI_SECRET_KEY={{ open_webui_key }} \
|
|
||||||
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
|
|
||||||
--name open-webui \
|
|
||||||
ghcr.io/open-webui/open-webui:main
|
|
||||||
mode: "0755"
|
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Script | Log
|
|
||||||
ansible.builtin.copy:
|
|
||||||
dest: /etc/sv/open_webui/log/run
|
|
||||||
content: |
|
|
||||||
#!/bin/sh -e
|
|
||||||
exec svlogd -tt /var/log/open_webui
|
|
||||||
mode: "0755"
|
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Script | Log Config
|
|
||||||
ansible.builtin.copy:
|
|
||||||
dest: /var/log/open_webui/config
|
|
||||||
content: |
|
|
||||||
s1000000 # rotate at 1 MB
|
|
||||||
n5 # keep 5 old files
|
|
||||||
dateformat %Y-%m-%d_%H-%M-%S # each run gets its own file.
|
|
||||||
mode: "0755"
|
|
||||||
|
|
||||||
when: open_webui_enabled
|
when: open_webui_enabled
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Packages | init
|
||||||
|
ansible.builtin.package:
|
||||||
|
name:
|
||||||
|
- docker-runit
|
||||||
|
state: present
|
||||||
|
when: open_webui_enabled
|
||||||
|
and ansible_pkg_mgr == "pacman"
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Dir | /etc/sv
|
||||||
|
ansible.builtin.file:
|
||||||
|
name: "/etc/sv/open-webui/log"
|
||||||
|
state: directory
|
||||||
|
owner: root
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Dir | /var/log
|
||||||
|
ansible.builtin.file:
|
||||||
|
name: "/var/log/open-webui"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ user }}"
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Script | File
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: /etc/sv/open-webui/run
|
||||||
|
content: |
|
||||||
|
#!/bin/sh
|
||||||
|
exec 2>&1
|
||||||
|
|
||||||
|
# Wait for Docker to start up.
|
||||||
|
while [ ! -S /var/run/docker.sock ]; do sleep 1; done
|
||||||
|
|
||||||
|
# Ensure the old container is gone.
|
||||||
|
echo "Stopping..."
|
||||||
|
docker stop open-webui &&
|
||||||
|
echo "Container stopped" ||
|
||||||
|
echo "Container already stopped."
|
||||||
|
echo "Deleting..."
|
||||||
|
docker rm -f open-webui &&
|
||||||
|
echo "Container deleted" ||
|
||||||
|
echo "Container already deleted."
|
||||||
|
|
||||||
|
# Start the open-webui program.
|
||||||
|
set -e
|
||||||
|
exec docker run --rm \
|
||||||
|
-p {{ open_webui_port }}:8080 \
|
||||||
|
--add-host=host.docker.internal:host-gateway \
|
||||||
|
-v open-webui:/app/backend/data \
|
||||||
|
{{ ("-e HF_TOKEN=" ~ hf_token) if hf_token else '' }} \
|
||||||
|
-e WEBUI_SECRET_KEY={{ open_webui_key }} \
|
||||||
|
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
|
||||||
|
--name open-webui \
|
||||||
|
ghcr.io/open-webui/open-webui:main
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Script | Log
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: /etc/sv/open-webui/log/run
|
||||||
|
content: |
|
||||||
|
#!/bin/sh -e
|
||||||
|
exec svlogd -tt /var/log/open-webui
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Workstation | Linux | Software | LLMs | runit | open-webui | Script | Log Config
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: /var/log/open-webui/config
|
||||||
|
content: |
|
||||||
|
s1000000 # rotate at 1 MB
|
||||||
|
n5 # keep 5 old files
|
||||||
|
dateformat %Y-%m-%d_%H-%M-%S # each run gets its own file.
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
when: ansible_service_mgr == "runit"
|
when: ansible_service_mgr == "runit"
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | LLMs | Services | Enable
|
- name: Workstation | Linux | Software | LLMs | Services | Enable
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
name: "{{ item }}"
|
name: "{{ item.name }}"
|
||||||
state: started
|
state: "{{ 'started' if item.status else 'stopped' }}"
|
||||||
enabled: true
|
enabled: "{{ item.status }}"
|
||||||
loop:
|
loop:
|
||||||
- "{{ ollama if ollama_enabled else dummy_service }}"
|
- { 'name': "{{ ollama }}" , 'status': "{{ ollama_enabled }}" }
|
||||||
- "{{ zeroclaw if zeroclaw_enabled else dummy_service }}"
|
- { 'name': "{{ zeroclaw }}", 'status': "{{ zeroclaw_enabled }}" }
|
||||||
- "{{ 'docker' if open_webui_enabled else dummy_service }}"
|
- { 'name': 'docker' , 'status': true }
|
||||||
- "{{ 'open_webui' if open_webui_enabled else dummy_service }}"
|
- { 'name': 'open-webui' , 'status': "{{ open_webui_enabled }}" }
|
||||||
|
|
||||||
- name: Workstation | Linux | Software | LLMs | Services | Verify
|
- name: Workstation | Linux | Software | LLMs | Services | Verify
|
||||||
ansible.builtin.uri:
|
ansible.builtin.uri:
|
||||||
|
|||||||
Reference in New Issue
Block a user