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 = {
|
||||
enable = true;
|
||||
uv = {
|
||||
enable = true;
|
||||
sync = {
|
||||
enable = true;
|
||||
allExtras = true;
|
||||
};
|
||||
uv.enable = true;
|
||||
};
|
||||
|
||||
tasks = {
|
||||
"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