mirror of
https://github.com/Cian-H/openwebui_engineering_assistant.git
synced 2025-12-22 20:51:57 +00:00
Working openwebui deployment for testing
This commit is contained in:
103
devenv.lock
Normal file
103
devenv.lock
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"devenv": {
|
||||||
|
"locked": {
|
||||||
|
"dir": "src/modules",
|
||||||
|
"lastModified": 1741670053,
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "devenv",
|
||||||
|
"rev": "47abb5dfd5b7824a0979ef86f3986aea48847312",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"dir": "src/modules",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "devenv",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733328505,
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"git-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741379162,
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"git-hooks",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709087332,
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733477122,
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "devenv-nixpkgs",
|
||||||
|
"rev": "7bd9e84d0452f6d2e63b6e6da29fe73fac951857",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"ref": "rolling",
|
||||||
|
"repo": "devenv-nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"devenv": "devenv",
|
||||||
|
"git-hooks": "git-hooks",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"pre-commit-hooks": [
|
||||||
|
"git-hooks"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
13
devenv.nix
13
devenv.nix
@@ -9,12 +9,13 @@
|
|||||||
|
|
||||||
languages.python = {
|
languages.python = {
|
||||||
enable = true;
|
enable = true;
|
||||||
uv = {
|
uv.enable = true;
|
||||||
enable = true;
|
};
|
||||||
sync = {
|
|
||||||
enable = true;
|
tasks = {
|
||||||
allExtras = true;
|
"eng-assistant:deploy-stack" = {
|
||||||
};
|
exec = "docker compose up -d";
|
||||||
|
before = ["devenv:enterShell"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
89
docker-compose.yaml
Normal file
89
docker-compose.yaml
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
services:
|
||||||
|
openwebui:
|
||||||
|
image: ghcr.io/open-webui/open-webui:main
|
||||||
|
container_name: openwebui
|
||||||
|
networks:
|
||||||
|
- webui
|
||||||
|
ports:
|
||||||
|
- "3000:8080"
|
||||||
|
volumes:
|
||||||
|
- open-webui:/app/backend/data
|
||||||
|
environment:
|
||||||
|
WEBUI_AUTH: False
|
||||||
|
# Jupyter API config
|
||||||
|
ENABLE_CODE_INTERPRETER: True
|
||||||
|
CODE_EXECUTION_ENGINE: jupyter
|
||||||
|
CODE_EXECUTION_JUPYTER_URL: http://jupyter:8888
|
||||||
|
CODE_EXECUTION_JUPYTER_AUTH: token
|
||||||
|
CODE_EXECUTION_JUPYTER_AUTH_TOKEN: ${JUPYTER_TOKEN}
|
||||||
|
CODE_EXECUTION_JUPYTER_TIMEOUT: 300
|
||||||
|
CODE_INTERPRETER_ENGINE: jupyter
|
||||||
|
CODE_INTERPRETER_JUPYTER_URL: http://jupyter:8888
|
||||||
|
CODE_INTERPRETER_JUPYTER_AUTH: token
|
||||||
|
CODE_INTERPRETER_AUTH_TOKEN: ${JUPYTER_TOKEN}
|
||||||
|
CODE_INTERPRETER_TIMEOUT: 300
|
||||||
|
# Search API config
|
||||||
|
ENABLE_RAG_WEB_SEARCH: True
|
||||||
|
RAG_WEB_SEARCH_ENGINE: searxng
|
||||||
|
RAG_WEB_SEARCH_RESULT_COUNT: 3
|
||||||
|
RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10
|
||||||
|
SEARXNG_QUERY_URL: http://searxng:8080/search?q=<query>
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
capabilities: [gpu]
|
||||||
|
depends_on:
|
||||||
|
- jupyter
|
||||||
|
- searxng
|
||||||
|
|
||||||
|
jupyter:
|
||||||
|
image: quay.io/jupyter/datascience-notebook
|
||||||
|
container_name: jupyter
|
||||||
|
volumes:
|
||||||
|
- jupyter:/home/jovyan/work
|
||||||
|
networks:
|
||||||
|
- webui
|
||||||
|
command: start-notebook.sh --ip=0.0.0.0
|
||||||
|
environment:
|
||||||
|
JUPYTER_LAB_ENABLE: yes
|
||||||
|
JUPYTER_TOKEN: ${JUPYTER_TOKEN}
|
||||||
|
depends_on:
|
||||||
|
- webui
|
||||||
|
|
||||||
|
searxng:
|
||||||
|
image: docker.io/searxng/searxng:latest
|
||||||
|
container_name: searxng
|
||||||
|
volumes:
|
||||||
|
- searxng:/etc/searxng:rw
|
||||||
|
- ./searxng/limiter.toml:/usr/local/searxng/searx/limiter.toml
|
||||||
|
- ./searxng/settings.yml:/usr/local/searxng/searx/settings.yml
|
||||||
|
- ./searxng/uwsgi.ini:/usr/local/searxng/searx/uwsgi.ini
|
||||||
|
networks:
|
||||||
|
- webui
|
||||||
|
environment:
|
||||||
|
SEARXNG_HOSTNAME: searxng:8080/
|
||||||
|
BASE_URL: http://searxng:8080/
|
||||||
|
INSTANCE_NAME: eng_assistant_test_searxng
|
||||||
|
restart: unless-stopped
|
||||||
|
cap_drop:
|
||||||
|
- ALL
|
||||||
|
cap_add:
|
||||||
|
- CHOWN
|
||||||
|
- SETGID
|
||||||
|
- SETUID
|
||||||
|
- DAC_OVERRIDE
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "1m"
|
||||||
|
max-file: "1"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
webui:
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
searxng:
|
||||||
|
open-webui:
|
||||||
|
jupyter:
|
||||||
10
searxng/limiter.toml
Normal file
10
searxng/limiter.toml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# This configuration file updates the default configuration file
|
||||||
|
# See https://github.com/searxng/searxng/blob/master/searx/botdetection/limiter.toml
|
||||||
|
|
||||||
|
[botdetection.ip_limit]
|
||||||
|
# activate link_token method in the ip_limit method
|
||||||
|
link_token = false
|
||||||
|
|
||||||
|
[botdetection.ip_lists]
|
||||||
|
block_ip = []
|
||||||
|
pass_ip = []
|
||||||
2668
searxng/settings.yml
Normal file
2668
searxng/settings.yml
Normal file
File diff suppressed because it is too large
Load Diff
50
searxng/uwsgi.ini
Normal file
50
searxng/uwsgi.ini
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
[uwsgi]
|
||||||
|
# Who will run the code
|
||||||
|
uid = searxng
|
||||||
|
gid = searxng
|
||||||
|
|
||||||
|
# Number of workers (usually CPU count)
|
||||||
|
# default value: %k (= number of CPU core, see Dockerfile)
|
||||||
|
workers = %k
|
||||||
|
|
||||||
|
# Number of threads per worker
|
||||||
|
# default value: 4 (see Dockerfile)
|
||||||
|
threads = 4
|
||||||
|
|
||||||
|
# The right granted on the created socket
|
||||||
|
chmod-socket = 666
|
||||||
|
|
||||||
|
# Plugin to use and interpreter config
|
||||||
|
single-interpreter = true
|
||||||
|
master = true
|
||||||
|
plugin = python3
|
||||||
|
lazy-apps = true
|
||||||
|
enable-threads = 4
|
||||||
|
|
||||||
|
# Module to import
|
||||||
|
module = searx.webapp
|
||||||
|
|
||||||
|
# Virtualenv and python path
|
||||||
|
pythonpath = /usr/local/searxng/
|
||||||
|
chdir = /usr/local/searxng/searx/
|
||||||
|
|
||||||
|
# automatically set processes name to something meaningful
|
||||||
|
auto-procname = true
|
||||||
|
|
||||||
|
# Disable request logging for privacy
|
||||||
|
disable-logging = true
|
||||||
|
log-5xx = true
|
||||||
|
|
||||||
|
# Set the max size of a request (request-body excluded)
|
||||||
|
buffer-size = 8192
|
||||||
|
|
||||||
|
# No keep alive
|
||||||
|
# See https://github.com/searx/searx-docker/issues/24
|
||||||
|
add-header = Connection: close
|
||||||
|
|
||||||
|
# uwsgi serves the static files
|
||||||
|
static-map = /static=/usr/local/searxng/searx/static
|
||||||
|
# expires set to one day
|
||||||
|
static-expires = /* 86400
|
||||||
|
static-gzip-all = True
|
||||||
|
offload-threads = 4
|
||||||
Reference in New Issue
Block a user