Adam Outler 655ba84834
Some checks reported errors
Updates/open-webui-ollama-docker-deploy/pipeline/head Something is wrong with the build of this commit
Initial commit
2025-04-03 16:40:06 -04:00

88 lines
3.6 KiB
Groovy

pipeline {
agent {
node { label 'Wrangler1' }
}
environment {
DOCKER_HOST = 'unix:///var/run/docker.sock'
OPENAI_TOKEN = credentials('OpenAI-Token')
OLLAMA = 'ollama/ollama'
OPENWEBUI = 'ghcr.io/open-webui/open-webui:latest'
TIKA = 'apache/tika:latest'
CHROMADB = 'chromadb/chroma:latest'
CHROMAUI = 'ghcr.io/logspace-ai/chroma-ui:latest'
}
stages {
stage('Check NVIDIA Driver Version') {
steps {
script {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
sh 'nvidia-smi --query-gpu=driver_version --format=csv,noheader'
}
}
}
}
stage('Check Ollama and Open-WebUI Versions (Before Deploy)') {
steps {
script {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
echo 'Checking Ollama version before deploy:'
sh 'docker exec -i ollama ollama -v || echo "Ollama check failed"'
echo 'Checking Open-WebUI version before deploy:'
sh 'docker exec -i openwebui jq -r .version /app/package.json || echo "Open-WebUI check failed"'
}
}
}
}
stage('Deploy with Docker Compose') {
steps {
script {
withCredentials([usernamePassword(credentialsId: 'gitea-oauth-open-webui-client-id-secret', passwordVariable: 'CLIENT_SECRET', usernameVariable: 'CLIENT_ID'), string(credentialsId: 'OpenAI-API-Token', variable: 'OPEN_AI_TOKEN'), usernamePassword(credentialsId: 'ldap-bind-auth-user', passwordVariable: 'AD_BIND_PASSWORD', usernameVariable: 'AD_BIND_USER')]) {
sh """
COMPOSE_PROJECT_NAME=openwebui \
CHROMAUI=${CHROMAUI} \
CHROMADB=${CHROMADB} \
TIKA=${TIKA} \
OLLAMA=${OLLAMA} \
OPENWEBUI=${OPENWEBUI} \
export PG_PASS=\$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c32)
docker compose pull
COMPOSE_PROJECT_NAME=openwebui \
CHROMADB=${CHROMADB} \
CHROMAUI=$CHROMAUI} \
TIKA=${TIKA} \
OLLAMA=${OLLAMA} \
OPENWEBUI=${OPENWEBUI} \
docker compose up -d --force-recreate
sleep 5
echo "ALTER USER openwebui_user WITH PASSWORD '\$PG_PASS';" | docker exec -i openwebui_postgres_db psql -U openwebui_user -d openwebui_db
"""
}
}
}
}
stage('Check Ollama and Open-WebUI Versions (After Deploy)') {
steps {
script {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
echo 'Checking Ollama version after deploy:'
sh 'docker exec -i ollama ollama -v || echo "Ollama check failed"'
echo 'Checking Open-WebUI version after deploy:'
sh 'docker exec -i openwebui jq -r .version /app/package.json || echo "Open-WebUI check failed"'
}
}
}
}
}
post {
always {
echo 'Pipeline finished.'
}
}
}