54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
---
|
|
# Open WebUI installation and setup
|
|
# Using Docker installation as it's more compatible and the recommended method
|
|
|
|
- name: Check if Docker is installed
|
|
ansible.builtin.command: docker --version
|
|
register: docker_check
|
|
changed_when: false
|
|
failed_when: false
|
|
|
|
- name: Display Open WebUI installation method
|
|
ansible.builtin.debug:
|
|
msg: "Open WebUI will be installed via Docker. Run: docker run -d -p 3080:8080 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main"
|
|
when: docker_check.rc == 0
|
|
|
|
- name: Skip Open WebUI pip installation (use Docker instead)
|
|
ansible.builtin.debug:
|
|
msg: "Skipping pip installation of Open WebUI due to Python version incompatibility. Use Docker instead."
|
|
when: docker_check.rc != 0
|
|
|
|
- name: Create Open WebUI start script (Docker)
|
|
ansible.builtin.copy:
|
|
dest: "{{ llmlab_base }}/lab3/start.sh"
|
|
content: |
|
|
#!/bin/bash
|
|
set -e
|
|
|
|
# Check if Docker is running
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "Error: Docker is not installed. Please install Docker first."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if container is already running
|
|
if docker ps | grep -q open-webui; then
|
|
echo "Open WebUI is already running."
|
|
exit 0
|
|
fi
|
|
|
|
# Start Open WebUI container
|
|
docker run -d \
|
|
-p 3080:8080 \
|
|
-v open-webui:/app/backend/data \
|
|
--name open-webui \
|
|
--restart always \
|
|
ghcr.io/open-webui/open-webui:main
|
|
|
|
echo "Open WebUI started on http://localhost:3080"
|
|
mode: '0755'
|
|
|
|
- name: Display Open WebUI installation
|
|
ansible.builtin.debug:
|
|
msg: "Open WebUI installed via Docker. Access at http://localhost:3080"
|