Add deployment scripts and configuration for Open WebUI + Ollama stack on Linux
This commit is contained in:
50
install-linux.sh
Normal file
50
install-linux.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
STACK_DIR="/opt/openwebui-ollama"
|
||||
SERVICE_NAME="openwebui-ollama.service"
|
||||
SERVICE_PATH="/etc/systemd/system/${SERVICE_NAME}"
|
||||
|
||||
if ! command -v docker >/dev/null 2>&1; then
|
||||
echo "Docker is not installed. Install Docker first, then rerun this script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! docker compose version >/dev/null 2>&1; then
|
||||
echo "Docker Compose plugin is not available. Install docker-compose-plugin, then rerun this script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
sudo mkdir -p "${STACK_DIR}"
|
||||
sudo cp "${SCRIPT_DIR}/docker-compose.yml" "${STACK_DIR}/docker-compose.yml"
|
||||
|
||||
sudo tee "${SERVICE_PATH}" >/dev/null <<'EOF'
|
||||
[Unit]
|
||||
Description=Open WebUI + Ollama Docker Stack
|
||||
Requires=docker.service
|
||||
After=docker.service network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
WorkingDirectory=/opt/openwebui-ollama
|
||||
ExecStart=/usr/bin/docker compose up -d
|
||||
ExecStop=/usr/bin/docker compose down
|
||||
TimeoutStartSec=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now "${SERVICE_NAME}"
|
||||
|
||||
# Keep local models persistent and pull a small starter model.
|
||||
sudo docker exec ollama ollama pull llama3.2 || true
|
||||
|
||||
echo "Deployment complete."
|
||||
echo "Open WebUI: http://<your-linux-host-ip>:3000"
|
||||
echo "Service status: sudo systemctl status ${SERVICE_NAME}"
|
||||
Reference in New Issue
Block a user