Leonurus-free

chatgpt-next-web

docker run -d -p 3000:3000 \
   -e CUSTOM_MODELS=-all,+Qwen1.5-110B-Chat-AWQ \
   -e BASE_URL=http://192.168.100.142:8200 \
   yidadaa/chatgpt-next-web
   
docker run -d -p 3001:3000 -e CUSTOM_MODELS=-all,+qwen2.5-72b-instruct-awq -e BASE_URL=http://192.168.100.160:8200 --name chatgpt-next-web --restart=always yidadaa/chatgpt-next-web

docker run -d -p 3002:3000 --name chatgpt-next-web-custom --restart=always yidadaa/chatgpt-next-web

stirling-pdf

docker run -d \
  -p 8080:8080 \
  -v /home/free/python_project/Stirling-PDF/trainingData:/usr/share/tessdata \
  -v /home/free/python_project/Stirling-PDF/extraConfigs:/configs \
  -v /home/free/python_project/Stirling-PDF/logs:/logs \
  -v /home/free/python_project/Stirling-PDF/customFiles:/customFiles \
  -e DOCKER_ENABLE_SECURITY=true \
  -e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=true \
  -e LANGS=zh_CN \
  -e http_proxy=socks5://192.168.20.21:1080 \
  -e https_proxy=socks5://192.168.20.21:1080 \
  --name stirling-pdf-nologin \
  frooodle/s-pdf:latest-fat
  
docker run -d \
  -p 8080:8080 \
  -v /home/free/python_project/Stirling-PDF/trainingData:/usr/share/tessdata \
  -v /home/free/python_project/Stirling-PDF/extraConfigs:/configs \
  -v /home/free/python_project/Stirling-PDF/logs:/logs \
  -v /home/free/python_project/Stirling-PDF/customFiles:/customFiles \
  -e DOCKER_ENABLE_SECURITY=true \
  -e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=true \
  -e SECURITY_ENABLE_LOGIN=true \
  -e SECURITY_INITIALLOGIN_USERNAME=admin \
  -e SECURITY_INITIALLOGIN_PASSWORD=123 \
  -e LANGS=zh_CN \
  --name stirling-pdf-login \
  frooodle/s-pdf:latest-fat
  

docker run -d -p 3004:8080 -v E:/temp/Stirling-PDF/trainingData:/usr/share/tessdata -v E:/temp/Stirling-PDF/extraConfigs:/configs -v E:/temp/Stirling-PDF/logs:/logs -v E:/temp/Stirling-PDF/customFiles:/customFiles -e DOCKER_ENABLE_SECURITY=true -e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=true -e LANGS=zh_CN --name stirling-pdf-nologin --restart=always frooodle/s-pdf:0.27.0-fat


docker run -d \
  --name stirling-pdf \
  -p 8980:8080 \
  --restart=always \
  -v "/home/ubuntu/luo/.Stirling-PDF/trainingData:/usr/share/tessdata" \
  -v "/home/ubuntu/luo/.Stirling-PDF/extraConfigs:/configs" \
  -v "/home/ubuntu/luo/.Stirling-PDF/customFiles:/customFiles/" \
  -v "/home/ubuntu/luo/.Stirling-PDF/logs:/logs/" \
  -v "/home/ubuntu/luo/.Stirling-PDF/pipeline:/pipeline/" \
  -e DOCKER_ENABLE_SECURITY=false \
  -e LANGS=zh_CN \
  stirling-pdf:0.45.6-fat
  
docker run -d \
  --name stirling-pdf \
  -p 8980:8080 \
  --restart=always \
  -v "/data/.Stirling-PDF/trainingData:/usr/share/tessdata" \
  -v "/data/.Stirling-PDF/extraConfigs:/configs" \
  -v "/data/.Stirling-PDF/customFiles:/customFiles/" \
  -v "/data/.Stirling-PDF/logs:/logs/" \
  -v "/data/.Stirling-PDF/pipeline:/pipeline/" \
  -e DOCKER_ENABLE_SECURITY=false \
  -e LANGS=zh_CN \
  stirling-pdf:0.45.6-fat
  
docker run -d --name stirling-pdf -p 8980:8080 -v "E:/temp/Stirling-PDF/trainingData:/usr/share/tessdata" -v "E:/temp/Stirling-PDF/extraConfigs:/configs" -v "E:/temp/Stirling-PDF/customFiles:/customFiles/" -v "E:/temp/Stirling-PDF/logs:/logs/" -v "E:/temp/Stirling-PDF/pipeline:/pipeline/" -e DOCKER_ENABLE_SECURITY=false stirling-pdf:0.45.6-fat

xinference

docker run -d -v F:/.xinference:/root/.xinference \
  -v F:/.xinference/.cache/huggingface:/root/.cache/huggingface \
  -v F:/.xinference/.cache/modelscope:/root/.cache/modelscope \
  -v F:/.xinference/logs:/workspace/xinference/logs \
  -e XINFERENCE_MODEL_SRC=modelscope \

  -p 9997:9997 \
  --gpus all \
  --name xinference \
  --restart=always \
  xprobe/xinference:v0.15.2 \
  xinference-local -H 0.0.0.0 \
  --log-level debug
  
docker run -d -v F:/.xinference:/root/.xinference -v F:/.xinference/.cache/huggingface:/root/.cache/huggingface -v F:/.xinference/.cache/modelscope:/root/.cache/modelscope -v F:/.xinference/logs:/workspace/xinference/logs -p 9997:9997 --gpus all --name xinference --restart=always xprobe/xinference:v0.15.2 xinference-local -H 0.0.0.0 --log-level debug

lobe-chat

docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY=sk-123 \
  -e OPENAI_PROXY_URL=http://192.168.100.143:8090/v1 \
  --name lobe-chat \
  lobehub/lobe-chat:v1.19.33
  
docker run -d -p 3210:3210 -e OPENAI_API_KEY=sk-123 -e OPENAI_PROXY_URL=http://192.168.100.143:8090/v1 --name lobe-chat lobehub/lobe-chat:v1.19.33

vllm

docker pull vllm/vllm-openai:latest  
docker run -d
	--runtime nvidia \
	--gpus all \
	--name vllm_Qwen2.5-7B-Instruct \
    -v F:/.vllm/model:/root/model \
    -v F:/.vllm/vllm:/root/.cache/vllm \
    -v F:/.vllm/huggingface:/root/.cache/huggingface \
    --env "HUGGING_FACE_HUB_TOKEN=<secret>" \
    -p 8888:8000 \
    --ipc=host \
    vllm/vllm-openai:v0.6.3.post1 \   # 以上是docker配置,以下是vllm配置
    --model /root/model/Qwen2.5-7B-Instruct \
    --gpu-memory-utilization 0.8 \
    --tensor-parallel-size 2 \
    --max-model-len 8129 \
    --served-model-name Qwen2.5-7B-Instruct 
    
    
docker run -d --runtime nvidia --gpus "device=1" --name vllm_Qwen2.5-7B-Instruct -v F:/.vllm/model:/root/model -v F:/.vllm/vllm:/root/.cache/vllm -v F:/.vllm/huggingface:/root/.cache/huggingface --env "HUGGING_FACE_HUB_TOKEN=<secret>" -p 8888:8000 --ipc=host vllm/vllm-openai:v0.6.6.post1 --model /root/model/Qwen2.5-7B-Instruct --gpu-memory-utilization 0.8 --tensor-parallel-size 1 --max-model-len 16384 --served-model-name Qwen2.5-7B-Instruct 

docker run -d --runtime nvidia --gpus all --name vllm_Qwen2.5-7B-Instruct-lora -v F:/.vllm/model:/root/model -v F:/.vllm/vllm:/root/.cache/vllm -v F:/.vllm/huggingface:/root/.cache/huggingface --env "HUGGING_FACE_HUB_TOKEN=<secret>" -p 8888:8000 --ipc=host vllm/vllm-openai:v0.6.3.post1 --model /root/model/outputs-Qwen2.5-7B-Instruct-lora --gpu-memory-utilization 0.8 --tensor-parallel-size 2 --max-model-len 8129 --served-model-name Qwen2.5-7B-Instruct-lora 
    
 
 # 采用vllm.entrypoints.openai.api_server启动
 
CUDA_VISIBLE_DEVICES=2 python -m vllm.entrypoints.openai.api_server \
    --model /home/ubuntu/luo/Corrective_fintune_v1/models/Qwen/outputs-Qwen2.5-7B-Instruct-lora \
    --tokenizer /home/ubuntu/luo/Corrective_fintune_v1/models/Qwen/outputs-Qwen2.5-7B-Instruct-lora \
    --max-model-len 2048 \
    --gpu-memory-utilization 1 \
    --enforce-eager \
    --dtype half \
    --port 8888
    


# DeepSeek-R1-Distill-Qwen-7B

docker run -d --runtime nvidia --gpus "device=1" --name vllm-DeepSeek-R1-Distill-Qwen-7B -v F:/.vllm/model:/root/model -v F:/.vllm/vllm:/root/.cache/vllm -v F:/.vllm/huggingface:/root/.cache/huggingface --env "HUGGING_FACE_HUB_TOKEN=<secret>" -p 8888:8000 --ipc=host vllm/vllm-openai:v0.6.6.post1 --model /root/model/DeepSeek-R1-Distill-Qwen-7B --gpu-memory-utilization 0.8 --tensor-parallel-size 1 --max-model-len 16384 --served-model-name DeepSeek-R1-Distill-Qwen-7B

# Qwen/Qwen2.5-VL-72B-Instruct-AWQ
docker run -d \
	--runtime nvidia \
	--gpus '"device=0,1,2"' \
	--name Qwen2.5-VL-72B-Instruct-AWQ \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8888:8000 \
	--ipc=host \
	vllm/vllm-openai:v0.8.4 \
    --model /root/model/Qwen2.5-VL-72B-Instruct-AWQ \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 3 \
    --max-model-len 32768 \
    --served-model-name Qwen2.5-VL-72B-Instruct-AWQ
   
# ChineseErrorCorrector3-4B
docker run -d \
	--runtime nvidia \
	--gpus '"device=3,4"' \
	--name ChineseErrorCorrector3-4B \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8888:8000 \
	--ipc=host \
	vllm/vllm-openai:v0.10.1.1 \
    --model /root/model/ChineseErrorCorrector3-4B \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 2 \
    --max-model-len 32768 \
    --served-model-name ChineseErrorCorrector3-4B
    
docker run -d --runtime nvidia  --gpus '"device=0,1"' --name Qwen2.5-VL-72B-Instruct-AWQ -v /home/ubuntu/luo/model_files:/root/model -v /home/ubuntu/luo/.vllm/vllm:/root/.cache/vllm -v /home/ubuntu/luo/.vllm/huggingface:/root/.cache/huggingface --env "HUGGING_FACE_HUB_TOKEN=<secret>" -p 8888:8000 --ipc=host vllm/vllm-openai:v0.8.4 --model /root/model/Qwen2.5-VL-72B-Instruct-AWQ --gpu-memory-utilization 0.9 --tensor-parallel-size 2 --max-model-len 32768 --served-model-name Qwen2.5-VL-72B-Instruct-AWQ


# GLM-4-32B-0414
# Deploy with docker on Linux:
docker run -d
	--runtime nvidia \
	--gpus '"device=0,1,2"' \
	--name vllm_GLM-4-32B-0414 \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8888:8000 \
	--ipc=host \
	vllm/vllm-openai:v0.8.4 \
    --model /root/model/GLM-4-32B-0414 \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 3 \
    --max-model-len 32768 \
    --served-model-name GLM-4-32B-0414
    
docker run -d --runtime nvidia  --gpus '"device=0,1"' --name vllm_GLM-4-32B-0414 -v /home/ubuntu/luo/model_files:/root/model -v /home/ubuntu/luo/.vllm/vllm:/root/.cache/vllm -v /home/ubuntu/luo/.vllm/huggingface:/root/.cache/huggingface --env "HUGGING_FACE_HUB_TOKEN=<secret>" -p 8888:8000 --ipc=host vllm/vllm-openai:v0.8.4 --model /root/model/GLM-4-32B-0414 --gpu-memory-utilization 0.9 --tensor-parallel-size 2 --max-model-len 32768 --served-model-name GLM-4-32B-0414

# Qwen2.5-Coder-32B-Instruct-AWQ
docker run -d \
	--runtime nvidia \
	--gpus '"device=2,3"' \
	--name Qwen2.5-Coder-32B-Instruct-AWQ \
    -v /data/model_files:/root/model \
    -v /data/.vllm/Qwen2.5-Coder-32B-Instruct-AWQ/vllm:/root/.cache/vllm \
    -v /data/.vllm/Qwen2.5-Coder-32B-Instruct-AWQ/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8882:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/Qwen2.5-Coder-32B-Instruct-AWQ \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 2 \
    --max-model-len 32768 \
    --served-model-name Qwen2.5-Coder-32B-Instruct-AWQ \
    --dtype auto 

# Qwen3-32B-AWQ
docker run -d \
	--runtime nvidia \
	--gpus '"device=0,1"' \
	--name Qwen3-32B-AWQ \
    -v /data/model_files:/root/model \
    -v /data/.vllm/Qwen3-32B-AWQ/vllm:/root/.cache/vllm \
    -v /data/.vllm/Qwen3-32B-AWQ/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8888:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/Qwen3-32B-AWQ \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 2 \
    --max-model-len 32768 \
    --served-model-name Qwen3-32B-AWQ \
    --dtype auto 
    
# Qwen3-32B-AWQ tool
docker run -d \
	--runtime nvidia \
	--gpus '"device=0,1"' \
	--name Qwen3-32B-AWQ-tool \
    -v /data/model_files:/root/model \
    -v /data/.vllm/Qwen3-32B-AWQ/vllm:/root/.cache/vllm \
    -v /data/.vllm/Qwen3-32B-AWQ/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8888:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/Qwen3-32B-AWQ \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 2 \
    --max-model-len 32768 \
    --served-model-name Qwen3-32B-AWQ \
    --reasoning-parser qwen3 \
    --enable-auto-tool-choice \
    --tool-call-parser hermes \
    --dtype auto 
    
# Qwen3-30B-A3B-Instruct-2507-FP8
docker run -d \
	--runtime nvidia \
	--gpus '"device=0,1"' \
	--name Qwen3-30B-A3B-Instruct-2507-FP8 \
    -v /data/model_files:/root/model \
    -v /data/.vllm/Qwen3-30B-A3B-Instruct-2507-FP8/vllm:/root/.cache/vllm \
    -v /data/.vllm/Qwen3-30B-A3B-Instruct-2507-FP8/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8888:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/Qwen3-30B-A3B-Instruct-2507-FP8 \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 2 \
    --max-model-len 32768 \
    --served-model-name Qwen3-30B-A3B-Instruct-2507-FP8 \
    --reasoning-parser qwen3 \
    --enable-auto-tool-choice \
    --tool-call-parser hermes \
    --dtype auto 
 
    
# Qwen3-32B-AWQ-reasoning
docker run -d \
	--runtime nvidia \
	--gpus '"device=0,1"' \
	--name Qwen3-32B-AWQ-reasoning \
    -v /data/model_files:/root/model \
    -v /data/.vllm/Qwen3-32B-AWQ/vllm:/root/.cache/vllm \
    -v /data/.vllm/Qwen3-32B-AWQ/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8888:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/Qwen3-32B-AWQ \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 2 \
    --max-model-len 32768 \
    --served-model-name Qwen3-32B-AWQ \
    --enable-reasoning \
    --reasoning-parser deepseek_r1 \
    --dtype auto 

# Qwen3-14B-AWQ
docker run -d \
	--runtime nvidia \
	--gpus '"device=4"' \
	--name Qwen3-14B-AWQ \
    -v /data/model_files:/root/model \
    -v /data/.vllm/Qwen3-14B-AWQ/vllm:/root/.cache/vllm \
    -v /data/.vllm/Qwen3-14B-AWQ/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8887:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/Qwen3-14B-AWQ \
    --enforce-eager \
    --gpu-memory-utilization 0.9 \
    --enable-auto-tool-choice \
    --tool-call-parser hermes \
    --tensor-parallel-size 1 \
    --max-model-len 32768 \
    --served-model-name Qwen3-14B-AWQ \
    --dtype auto 
    
# Qwen3-4B-Thinking-2507
docker run -d \
	--runtime nvidia \
	--gpus '"device=4"' \
	--name Qwen3-4B-Thinking-2507 \
    -v /data/model_files:/root/model \
    -v /data/.vllm/Qwen3-4B-Thinking-2507/vllm:/root/.cache/vllm \
    -v /data/.vllm/Qwen3-4B-Thinking-2507/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8887:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/Qwen3-4B-Thinking-2507 \
    --enforce-eager \
    --gpu-memory-utilization 0.9 \
    --enable-auto-tool-choice \
    --tool-call-parser hermes \
    --tensor-parallel-size 1 \
    --max-model-len 32768 \
    --served-model-name Qwen3-4B-Thinking-2507 \
    --dtype auto 
    
# Qwen3-32B
docker run -d \
	--runtime nvidia \
	--gpus '"device=0,1,2,3"' \
	--name Qwen3-32B \
    -v /data/model_files:/root/model \
    -v /data/.vllm/Qwen3-32B/vllm:/root/.cache/vllm \
    -v /data/.vllm/Qwen3-32B/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8888:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/Qwen3-32B \
    --enforce-eager \
    --gpu-memory-utilization 0.9 \
    --enable-auto-tool-choice \
    --tool-call-parser hermes \
    --tensor-parallel-size 4 \
    --max-model-len 32768 \
    --served-model-name Qwen3-32B \
    --enable-reasoning \
    --reasoning-parser deepseek_r1 \
    --dtype auto 

    
# Qwen2.5-VL-32B-Instruct-AWQ
docker run -d \
	--runtime nvidia \
	--gpus '"device=5,6"' \
	--name Qwen2.5-VL-32B-Instruct-AWQ \
    -v /data/model_files:/root/model \
    -v /data/.vllm/Qwen2.5-VL-32B-Instruct-AWQ/vllm:/root/.cache/vllm \
    -v /data/.vllm/Qwen2.5-VL-32B-Instruct-AWQ/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8886:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/Qwen2.5-VL-32B-Instruct-AWQ \
    --enforce-eager \
    --gpu-memory-utilization 0.9 \
    --enable-auto-tool-choice \
    --tool-call-parser hermes \
    --tensor-parallel-size 2 \
    --max-model-len 32768 \
    --served-model-name Qwen2.5-VL-32B-Instruct-AWQ \
    --dtype auto 
    
# bge-reranker-v2-m3
docker run -d \
	--runtime nvidia \
	--gpus '"device=7"' \
	--name bge-reranker-v2-m3 \
    -v /data/model_files:/root/model \
    -v /data/.vllm/bge-reranker-v2-m3/vllm:/root/.cache/vllm \
    -v /data/.vllm/bge-reranker-v2-m3/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8885:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/bge-reranker-v2-m3 \
    --enforce-eager \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 1 \
    --max-model-len 8192 \
    --served-model-name bge-reranker-v2-m3 
    
# bge-large-zh-v1.5
docker run -d \
	--runtime nvidia \
	--gpus '"device=7"' \
	--name bge-large-zh-v1.5 \
    -v /data/model_files:/root/model \
    -v /data/.vllm/bge-large-zh-v1.5/vllm:/root/.cache/vllm \
    -v /data/.vllm/bge-large-zh-v1.5/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8884:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.10.0 \
    --model /root/model/bge-large-zh-v1.5 \
    --enforce-eager \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 1 \
    --served-model-name bge-large-zh-v1.5 \
    --task embed
 
# Qwen3-Embedding-0.6B
docker run -d \
	--runtime nvidia \
	--gpus '"device=4"' \
	--name Qwen3-Embedding-0.6B \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/Qwen3-Embedding-0.6B/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/Qwen3-Embedding-0.6B/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8884:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.13.0-x86_64 \
    --model /root/model/Qwen3-Embedding-0.6B \
    --enforce-eager \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 1 \
    --served-model-name Qwen3-Embedding-0.6B
    
    
# Qwen3-VL-30B-A3B-Instruct
docker run -d \
	--runtime nvidia \
	--gpus '"device=0"' \
	--name Qwen3-VL-30B-A3B-Instruct \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/Qwen3-VL-30B-A3B-Instruct/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/Qwen3-VL-30B-A3B-Instruct/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8886:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.13.0-x86_64 \
    --model /root/model/Qwen3-VL-30B-A3B-Instruct \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 1 \
    --max-model-len 32768 \
    --served-model-name Qwen3-VL-30B-A3B-Instruct \
    --enable-auto-tool-choice \
    --tool-call-parser hermes \
    --dtype auto 
    
# Qwen3-VL-30B-A3B-Instruct-FP8
docker run -d \
	--runtime nvidia \
	--gpus '"device=0"' \
	--name Qwen3-VL-30B-A3B-Instruct-FP8 \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/Qwen3-VL-30B-A3B-Instruct-FP8/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/Qwen3-VL-30B-A3B-Instruct-FP8/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8886:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:v0.13.0-x86_64 \
    --model /root/model/Qwen3-VL-30B-A3B-Instruct-FP8 \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 1 \
    --max-model-len 32768 \
    --served-model-name Qwen3-VL-30B-A3B-Instruct-FP8 \
    --enable-auto-tool-choice \
    --tool-call-parser hermes \
    --dtype auto 

注意事项: tensor_parallel_size只支持 2、4、6、8。

vLLM 支持将模型生成的思考内容解析为结构化消息:

vllm serve Qwen/Qwen3-8B --enable-reasoning --reasoning-parser deepseek_r1

--enable-reasoning \
--reasoning-parser deepseek_r1 \

彻底禁用nouveau驱动! sudo vim /etc/modprobe.d/blacklist.conf blacklist nouveau

重启后,看是否成功,命令窗输入下面指令,无回复内容,则成功!

lsmod grep nouveau

Qwen3.5-35B-A3B-AWQ-4bit

docker run -d \
	--runtime nvidia \
	--gpus '"device=0"' \
	--name Qwen3.5-35B-A3B-AWQ-4bit \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/Qwen3.5-35B-A3B-AWQ-4bit/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/Qwen3.5-35B-A3B-AWQ-4bit/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8886:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:latest \
    --model /root/model/Qwen3___5-35B-A3B-AWQ-4bit \
    --gpu-memory-utilization 0.9 \
    --tensor-parallel-size 1 \
    --max-model-len 262144 \
    --served-model-name Qwen3.5-35B-A3B-AWQ-4bit \
    --enable-auto-tool-choice \
    --tool-call-parser qwen3_coder \
    --reasoning-parser qwen3
    

vllm启动embeding

export CUDA_VISIBLE_DEVICES=3  
vllm serve /qwen/Qwen/Qwen3-Embedding-4B \
  --served-model-name Qwen3-Embedding-4B  \
  --port 8010 \
  --enforce-eager \
  --gpu-memory-utilization 0.45 \
  --task embed \
  --max_model_len 10000

http://192.168.100.100:8010/v1/embeddings

docker run -d \
	--runtime nvidia \
	--gpus '"device=4"' \
	--name Qwen3-Embedding-4B \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/Qwen3-Embedding-4B/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/Qwen3-Embedding-4B/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8884:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:latest \
    --model /root/model/Qwen3-Embedding-4B \
    --gpu-memory-utilization 0.4 \
    --tensor-parallel-size 1 \
    --max_model_len 8192 \
    --served-model-name Qwen3-Embedding-4B \
    --hf-overrides '{"is_matryoshka": true, "matryoshka_dimensions": [256,512,768,1024,2048,4096]}'

vllm启动reranker

export CUDA_VISIBLE_DEVICES=3
vllm serve /qwen/Qwen/Qwen3-Reranker-4B \
  --served-model-name Qwen3-Reranker-4B \
  --enforce-eager \
  --gpu-memory-utilization 0.45 \
  --port 8011 \
  --task score \
  --max_model_len 10000
  
  
docker run -d \
	--runtime nvidia \
	--gpus '"device=4"' \
	--name Qwen3-Reranker-4B \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/Qwen3-Reranker-4B/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/Qwen3-Reranker-4B/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8885:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm/vllm-openai:latest \
    --model /root/model/Qwen3-Reranker-4B \
    --gpu-memory-utilization 0.4 \
    --tensor-parallel-size 1 \
    --max_model_len 8192 \
    --served-model-name Qwen3-Reranker-4B \
    --task score
    
    
docker run -d \
  --runtime nvidia \
  --gpus '"device=4"' \
  --name Qwen3-Reranker-4B \
  -v /home/ubuntu/luo/model_files:/root/model \
  -v /home/ubuntu/luo/.vllm/Qwen3-Reranker-4B/vllm:/root/.cache/vllm \
  -v /home/ubuntu/luo/.vllm/Qwen3-Reranker-4B/huggingface:/root/.cache/huggingface \
  --env "HUGGING_FACE_HUB_TOKEN=<secret>" \
  -p 8885:8000 \
  --ipc=host \
  --restart=unless-stopped \
  vllm/vllm-openai:latest \
  /root/model/Qwen3-Reranker-4B \
  --trust-remote-code \
  --gpu-memory-utilization 0.4 \
  --tensor-parallel-size 1 \
  --max-model-len 8192 \
  --served-model-name Qwen3-Reranker-4B \
  --hf_overrides '{
    "architectures": ["Qwen3ForSequenceClassification"],
    "classifier_from_token": ["no", "yes"],
    "is_original_qwen3_reranker": true
  }'

whisper


docker run -d \
	--runtime nvidia \
	--gpus '"device=4"' \
	--name whisper-large-v3-turbo \
    -v /home/ubuntu/luo/model_files:/root/model \
    -v /home/ubuntu/luo/.vllm/whisper-large-v3-turbo/vllm:/root/.cache/vllm \
    -v /home/ubuntu/luo/.vllm/whisper-large-v3-turbo/huggingface:/root/.cache/huggingface \
 	--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
	-p 8883:8000 \
	--ipc=host \
	--restart=unless-stopped \
	vllm-whisper:v0.13.0 \
    --model /root/model/whisper-large-v3-turbo \
    --enforce-eager \
    --gpu-memory-utilization 0.15 \
    --tensor-parallel-size 1 \
    --served-model-name whisper-large-v3-turbo

压力测试

运行全套性能测试:
python run_benchmarks.py --llm_url "http://192.168.100.166:8888/v1" --api_key "sk-123" --model "Qwen3-30B-A3B-Instruct-2507-FP8" --use_long_context

运行单次并发测试:
python llm_benchmark.py --llm_url "http://192.168.100.166:8888/v1" --api_key "sk-123" --model "Qwen3-32B-AWQ" --num_requests 100 --concurrency 50 --output_tokens 25000

python run_benchmarks.py --llm_url "http://192.168.100.166:8887/v1" --api_key "sk-123" --model "Qwen3-14B-AWQ" --use_long_context


python run_benchmarks.py --llm_url "http://192.168.100.166:8886/v1" --api_key "sk-123" --model "Qwen2.5-VL-32B-Instruct-AWQ" --use_long_context

Whisper-vllm

# Dockerfile
FROM vllm/vllm-openai:v0.13.0

# 安装音频相关依赖
RUN apt-get update && apt-get install -y \
    libglib2.0-0 \
    libsndfile1 \
    && rm -rf /var/lib/apt/lists/*

# 安装vLLM音频支持包
RUN uv pip install --system vllm[audio]==0.13.0

构建命令

# 构建镜像(指定镜像名称和版本)
docker build -t vllm-whisper:v0.13.0 .

# 或者使用完整标签
docker build -t vllm-whisper:v0.13.0 -f Dockerfile .

postman

curl http://192.168.100.50:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
    "model": "/home/data/models/Qwen1___5-7B-Chat",
    "messages": [
    {"role": "system", "content": "你是一个有用的助手."},
    {"role": "user", "content": "告诉我关于尼米兹号航母的的一些知识."}
    ]
}'

omniparse

# 构建镜像
docker build -t omniparse:v2 .

# 启动镜像
docker run -d --runtime nvidia --gpus "device=1" -p 18001:8001 -v F:/.omniparse:/tmp -v F:/pythonProject/omniparse/omniparseV2/.env:/app/.env -v F:/pythonProject/omniparse/omniparseV2/models:/app/models --name omniparse omniparse:v2

# 100.100
docker run -d --runtime nvidia --gpus "device=4" -p 18801:8001 -v /home/ubuntu/luo/.omniparse/tmp:/tmp -v /home/ubuntu/luo/.omniparse/.env:/app/.env -v /home/ubuntu/luo/.omniparse/models:/app/models --name omniparse omniparse:20250422

mysql

docker run \
	-d \
   	--name mysql_9.1.0 \
   	-e MYSQL_ROOT_PASSWORD=1qaz2wsx \
   	-p 33306:3306 \
   	-v F:/.mysql/conf:/etc/mysql/conf.d \
   	-v F:/.mysql/data:/var/lib/mysql \
   	-v F:/.mysql/logs:/var/log/mysql \
   	--restart=always \
   	mysql:9.1.0
   	
# 注意mysql9.1.0中删除了以下服务器选项和变量:
–mysql本机密码服务器选项
–mysql本机密码代理用户服务器选项
–default_authentication_plugin服务器系统变量
9版本推荐使用caching_sha2_password远程密码连接
   	
docker run -d --name mysql_8.0 -e MYSQL_ROOT_PASSWORD=1qaz2wsx -p 33306:3306 -v F:/.mysql/conf:/etc/mysql/conf.d -v F:/.mysql/data:/var/lib/mysql -v F:/.mysql/logs:/var/log/mysql --restart=always mysql:8.0

docker exec -it mysql_8.0 bin/bash

docker run -d --name mysql_8.0 -e MYSQL_ROOT_PASSWORD=1qaz2wsx -p 33306:3306 -v /home/ubuntu/luo/.mysql/conf:/etc/mysql/conf.d -v /home/ubuntu/luo/.mysql/data:/var/lib/mysql -v /home/ubuntu/luo/.mysql/logs:/var/log/mysql --restart=always mysql:8.0

docker run -d --name mysql_8.0 -e MYSQL_ROOT_PASSWORD=1qaz2wsx -p 33306:3306 -v /data/.mysql/conf:/etc/mysql/conf.d -v /data/.mysql/data:/var/lib/mysql -v /data/.mysql/logs:/var/log/mysql --restart=always mysql:8.0

dev_env

docker run -d \
  --privileged
  --runtime nvidia --gpus all \
  -p 98080:8080 \ 
  -p 90022:22 \
  -p 97000:7000 \
  -p 98000:8000 \
  -v F:/pythonProject:/home/pythonProject \
  --restart=always \
  --name dev_env \
  dev_env_cuda12.5:latest

docker run -d --privileged --runtime nvidia --gpus "device=1" -p 18080:8080 -p 10022:22 -p 17000:7000 -p 18000:8000 -v F:/pythonProject:/home/pythonProject --restart=always --name dev_env dev_env_conda_ssh:12.6.3-cudnn-devel-ubuntu22.04

# A6000

docker run -d --gpus '"device=0,1,2"' -p 18080:8080 -p 10022:22 -p 17000:7000 -p 18000:8000 -v /home/ubuntu/luo:/home/luo --restart=always --name dev_env_A6000 dev_env_conda_ssh:12.6.3-cudnn-devel-ubuntu22.04

# 3090

docker run -d --gpus '"device=3,4"' -p 18081:8081 -p 10023:22 -p 17001:7001 -p 18001:8001 -v /home/ubuntu/luo:/home/luo --restart=always --name dev_env_3090 dev_env_conda_ssh:12.6.3-cudnn-devel-ubuntu22.04

# 本机 使用3090GPU 满足后端,前端
docker run -d --privileged --runtime nvidia --gpus "device=1" -p 15080:8080 -p 15022:22 -p 15700:7000 -p 15701:7001 -p 15702:7002 -p 15703:7003 -p 15704:7004 -p 15705:7005 -p 15666:5666 -p 15800:8000 -p 15801:8001 -p 15802:8002 -p 15803:8003 -p 15804:8004 -p 15805:8005 -v F:/pythonProject:/home/pythonProject -v F:/frontend_project:/home/frontend_project -v F:/paperCode:/home/paperCode -v F:/python_full_project:/home/python_full_project -v F:/projects:/home/projects --restart=unless-stopped --name dev_env_v2 dev_env_conda_ssh:12.6.3-cudnn-devel-ubuntu22.04

自己在容器中安装ssh


DataTransfer

docker build -t datatransfer:v1 .

docker run -d --restart=always --name DataTransfer datatransfer:v1

NotesSynchronization

docker build -t notes_synchronization:v1 .

docker run -d -v D:/MyNotes:/app/MyNotes --restart=always --name notes_synchronization notes_synchronization:v1

onlyoffice

sudo docker run -i -t -d -p 80:80 --restart=always \
    -v F:/.onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v F:/.onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v F:/.onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v F:/.onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=false onlyoffice/documentserver:8.3.0
    

docker run -i -t -d -p 80:80 --restart=always -v F:/.onlyoffice/DocumentServer/logs:/var/log/onlyoffice  -v F:/.onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  -v F:/.onlyoffice/DocumentServer/lib:/var/lib/onlyoffice -v F:/.onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=false onlyoffice/documentserver:8.3.0

open-webui

docker run -d -p 3003:8080 -e OPENAI_API_KEY=sk-123 -e OPENAI_API_BASE_URL=http://192.168.100.160:8200/v1 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

docker run -d -p 30031:8080 -e OPENAI_API_KEY=sk-123 -e OPENAI_API_BASE_URL=http://192.168.100.100:8888/v1 -v open-webui:/app/backend/data --name open-webui-vl --restart always ghcr.io/open-webui/open-webui:main

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --restart always --env=OPENAI_API_BASE_URL=http://192.168.:8000/v1 --env=OPENAI_API_KEY=token-abc123 --env=ENABLE_OLLAMA_API=false --env=ENABLE_RAG_WEB_SEARCH=true --env=RAG_WEB_SEARCH_ENGINE=duckduckgo  ghcr.io/open-webui/open-webui:main

docker run -d -p 3003:8080 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:v0.6.26

docker run -d --name open-webui -p 3003:8080 -v open-webui-data:/app/backend/data -e HF_HUB_OFFLINE=1 --restart unless-stopped open-webui:0_6_43_custom

docker run -d \
    --name open-webui \
    -p 3003:8080 \
    -e ENABLE_OLLAMA_API=false \
    -e OPENAI_API_BASE_URL=http://192.168.100.143:8200 \
    -e OPENAI_API_KEY=sk-123 \
    -e CORS_ALLOW_ORIGIN='*' \
    -e FORWARDED_ALLOW_IPS='*' \
    -e SCARF_NO_ANALYTICS=true \
    -e DO_NOT_TRACK=true \
    -e ANONYMIZED_TELEMETRY=false \
    -e RAG_EMBEDDING_ENGINE=openai \
    -e RAG_EMBEDDING_MODEL=Qwen3-Embedding-0.6B \
    -e RAG_OPENAI_API_BASE_URL=http://192.168.100.100:8884 \
    -e RAG_OPENAI_API_KEY=sk-123 \
    -e ENABLE_COMMUNITY_SHARING=false \
    -v /home/ubuntu/luo/.open-webui:/app/backend/data \
    open-webui:0_6_43_custom
    
docker run -d \
    --name open-webui \
    -p 3003:8080 \
    -e ENABLE_OLLAMA_API=false \
    -e CORS_ALLOW_ORIGIN='http://192.168.100.100:3003' \
    -e FORWARDED_ALLOW_IPS='*' \
    -e SCARF_NO_ANALYTICS=true \
    -e DO_NOT_TRACK=true \
    -e ANONYMIZED_TELEMETRY=false \
    -v /home/ubuntu/luo/.open-webui:/app/backend/data \
    open-webui:0_7_2_custom
    
docker run -d \
    --name open-webui-1 \
    -p 3004:8080 \
    -e ENABLE_OLLAMA_API=false \
    -e CORS_ALLOW_ORIGIN='*' \
    -e FORWARDED_ALLOW_IPS='*' \
    -e SCARF_NO_ANALYTICS=true \
    -e DO_NOT_TRACK=true \
    -e ANONYMIZED_TELEMETRY=false \
    -v /home/ubuntu/luo/.open-webui:/app/backend/data \
    open-webui:0_6_43_custom
    
docker build -t open-webui:0_7_2_custom .
docker save -o open-webui.tar open-webui:0_7_2_custom

open-webui+casdoor

name: openwebui-production

services:
  # ============================================
  # Open WebUI 主服务
  # ============================================
  openwebui:
    image: open-webui:0_7_2_custom
    container_name: openwebui
    restart: unless-stopped
    stop_grace_period: 30s
    depends_on:
      open_webui_postgres:
        condition: service_healthy
      open_webui_redis:
        condition: service_started
      open_webui_qdrant:
        condition: service_started
    ports:
      - "${WEBUI_PORT:-23303}:8080"
    environment:
      # 数据库配置 (PostgreSQL)
      - DATABASE_URL=postgresql://${POSTGRES_USER:-openwebui}:${POSTGRES_PASSWORD:-1qaz2wsx}@open_webui_postgres:5432/${POSTGRES_DB:-openwebui}
      
      # Redis 缓存配置
      - REDIS_URL=redis://:${REDIS_PASSWORD:-1qaz2wsx}@open_webui_redis:6379/0
      
      # 向量数据库配置 (Qdrant)
      - VECTOR_DB=qdrant
      - QDRANT_URI=http://open_webui_qdrant:6333
      
      # WebSocket 配置
      - ENABLE_WEBSOCKET_SUPPORT=true
      - WEBSOCKET_MANAGER=redis
      - WEBSOCKET_REDIS_URL=redis://:${REDIS_PASSWORD:-1qaz2wsx}@open_webui_redis:6379/1
      
      # WebUI 配置
      - ENV=prod
      - ENABLE_OLLAMA_API=false
      - CORS_ALLOW_ORIGIN=http://192.168.100.100:23303
      - FORWARDED_ALLOW_IPS='*'
      - SCARF_NO_ANALYTICS=true
      - DO_NOT_TRACK=true
      - ANONYMIZED_TELEMETRY=false
      - WEBUI_URL=http://192.168.100.100:23303
      - WEBUI_SECRET_KEY=caj6D3Jzif1DfBXCP8aMQE4h6R/Gbt0lg5vN/A1eUAk=
      
      # 数据库连接池优化
      - DATABASE_POOL_SIZE=50
      - DATABASE_POOL_MAX_OVERFLOW=20
      - DATABASE_POOL_TIMEOUT=60
      - DATABASE_POOL_RECYCLE=3600
      
      # 性能优化配置
      - THREAD_POOL_SIZE=1000
      - CHAT_RESPONSE_STREAM_DELTA_CHUNK_SIZE=7
      - ENABLE_REALTIME_CHAT_SAVE=false
      - ENABLE_COMPRESSION_MIDDLEWARE=true
      
      # SSO
      - OAUTH_CLIENT_ID=34c0ccfa111882b676cf
      - OAUTH_CLIENT_SECRET=de3b07d7365fb356630835e189aaeeebd76ae2b7
      - OPENID_PROVIDER_URL=http://192.168.100.100:18104/.well-known/openid-configuration
      - OPENID_REDIRECT_URI=http://192.168.100.100:23303/oauth/oidc/callback
      - WEBUI_AUTH_SIGNOUT_REDIRECT_URL=http://192.168.100.100:23303/auth
      - OAUTH_SCOPES=openid email profile
      - OAUTH_PROVIDER_NAME=沧澜SSO
      - ENABLE_OAUTH_SIGNUP=true
      - OAUTH_MERGE_ACCOUNTS_BY_EMAIL=true
      - OAUTH_ALLOWED_DOMAINS=*
      - ENABLE_OAUTH_PERSISTENT_CONFIG=false
      
      # 登录界面
      - ENABLE_PASSWORD_AUTH=false
      - ENABLE_LOGIN_FORM=false
      - ENABLE_SIGNUP=false
      
    volumes:
      - /home/ubuntu/luo/projectDockerCompose/open_webui/openwebui:/app/backend/data
    networks:
      - open_webui_network
    healthcheck:
      test: ["CMD-SHELL", "unset http_proxy https_proxy; curl --silent --fail http://localhost:8080/health | jq -ne 'input.status == true' || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
    deploy:
      resources:
        limits:
          cpus: '4'
          memory: 8G
    security_opt:
      - no-new-privileges:true

  # ============================================
  # PostgreSQL 数据库服务
  # ============================================
  open_webui_postgres:
    image: postgres:18.1-bookworm
    container_name: openwebui-postgres
    restart: unless-stopped
    stop_grace_period: 30s
    ports:
      - "${POSTGRESQL_PORT:-25432}:5432"
    environment:
      - POSTGRES_USER=${POSTGRES_USER:-openwebui}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-1qaz2wsx}
      - POSTGRES_DB=${POSTGRES_DB:-openwebui}
      - TZ=Asia/Shanghai
    volumes:
      - /home/ubuntu/luo/projectDockerCompose/open_webui/open_webui_postgres/data:/var/lib/postgresql
      - /home/ubuntu/luo/projectDockerCompose/open_webui/open_webui_postgres/config:/etc/postgresql
    networks:
      - open_webui_network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-openwebui} -d ${POSTGRES_DB:-openwebui}"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s
    deploy:
      resources:
        limits:
          cpus: '4'
          memory: 16G
        reservations:
          cpus: '2'
          memory: 8G
    security_opt:
      - no-new-privileges:true
    shm_size: 256MB

  # ============================================
  # Redis 缓存服务
  # ============================================
  open_webui_redis:
    image: redis:7.4.2
    ports:
      - "${DOCKER_MAP_REDIS_PORT:-26379}:6379"
    container_name: open_webui_redis
    restart: unless-stopped
    stop_grace_period: 30s
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /home/ubuntu/luo/projectDockerCompose/open_webui/open_webui_redis/conf:/etc/redis  # 单独存放配置文件
      - /home/ubuntu/luo/projectDockerCompose/open_webui/open_webui_redis/data:/data       # 单独存放数据文件
      - /home/ubuntu/luo/projectDockerCompose/open_webui/open_webui_redis/logs:/var/log/redis  # 日志目录
    command: redis-server /etc/redis/redis.conf --appendonly yes
    networks:
      - open_webui_network
    healthcheck:
      test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD:-1qaz2wsx}", "ping"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 10s
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 2G
        reservations:
          cpus: '1'
          memory: 512M
    security_opt:
      - no-new-privileges:true

  # ============================================
  # Qdrant 向量数据库服务
  # ============================================
  open_webui_qdrant:
    image: qdrant/qdrant:v1.16.3-gpu-nvidia
    container_name: openwebui-qdrant
    runtime: nvidia  # 如果使用 GPU,确保启用
    restart: unless-stopped
    stop_grace_period: 30s
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /home/ubuntu/luo/projectDockerCompose/open_webui/open_webui_qdrant/storage:/qdrant/storage
      - /home/ubuntu/luo/projectDockerCompose/open_webui/open_webui_qdrant/config/custom_config.yaml:/qdrant/config/production.yaml
    networks:
      - open_webui_network
    ports:
      - "${QDRANT_PORT:-26333}:6333"
      - "${QDRANT_GRPC_PORT:-26334}:6334"
    healthcheck:
      test: ["CMD", "bash", "-c", "exec 3<>/dev/tcp/127.0.0.1/6333"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 30s
    deploy:
      resources:
        limits:
          cpus: '4'
          memory: 8G
        reservations:
          cpus: '2'
          memory: 4G
    security_opt:
      - no-new-privileges:true
      
  # ============================================
  # pipelines服务
  # ============================================
  open_webui_pipelines:
    image: ghcr.io/open-webui/pipelines:main
    container_name: openwebui-pipelines
    stop_grace_period: 30s
    volumes:
      - /home/ubuntu/luo/projectDockerCompose/open_webui/open_webui_pipelines:/app/pipelines
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
      - PIPELINES_API_KEY=1qaz2wsx
    networks:
      - open_webui_network
    ports:
      - "29099:9099"
    healthcheck:
      test: ["CMD", "bash", "-c", "exec 3<>/dev/tcp/127.0.0.1/9099"]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 30s

# ============================================
# 网络配置
# ============================================
networks:
  open_webui_network:
    name: open_webui_network
    driver: bridge

open_webui数据迁移

安装 pgloader
pgloader sqlite://webui.db postgresql://openwebui:1qaz2wsx@192.168.100.100:25432/openwebui
或者直接使用navicat

FileCodeBox

docker run -d --restart=always -p 12345:12345 -v E:/.fcb-data/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:beta

docker run -d --restart=always -p 12345:12345 -v /home/ubuntu/luo/.fcb-data/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:beta

初始:
访问 /#/admin
输入管理员密码 FileCodeBox2023

redis

wget http://download.redis.io/redis-stable/redis.conf

bind 127.0.0.1 # 这行要注释掉,解除本地连接限制
protected-mode no # 默认yes,如果设置为yes,则只允许在本机的回环连接,其他机器无法连接。
daemonize no # 默认no 为不守护进程模式,docker部署不需要改为yes,docker run -d本身就是后台启动,不然会冲突
requirepass 123456 # 设置密码
appendonly yes # 持久化
databases 32 # 数据库个数(可选)

docker run --restart=always --privileged=true --name redis_7.4 -p 36379:6379 -v F:/.redis/redis.conf:/etc/redis/redis.conf -v F:/.redis:/data -d redis:7.4.2 redis-server /etc/redis/redis.conf --appendonly yes

docker run --restart=always --privileged=true --name redis_7.4 -p 36379:6379 -v /home/ubuntu/luo/.redis/redis.conf:/etc/redis/redis.conf -v /home/ubuntu/luo/.redis:/data -d redis:7.4.2 redis-server /etc/redis/redis.conf --appendonly yes

docker run --restart=always --privileged=true --name redis_7.4 -p 36379:6379 -v /data/.redis/redis.conf:/etc/redis/redis.conf -v /data/.redis:/data -d redis:7.4.2 redis-server /etc/redis/redis.conf --appendonly yes

fastapi-sso

# 部署

docker build -t fastapi-sso:v1 .

# 启动

docker run -d -p 19999:9999 --restart=always -v .env:/home/.env --name fastapi-sso fastapi-sso:v1

第二版

docker build -t fastapi-sso:20250705 .

docker-compose up -d

luo-vben5

# 部署
docker build -t luo_vben5:v1 .
# 启动 
docker run -d -p 15666:5666 --restart=always -v F:/frontend_project/luo-vben5/apps/web-antd/docker_env/.env.development:/app/apps/web-antd/.env.development --name luo_vben5 luo_vben5:v1

docker save -o luo-vben5.tar luo_vben5:v1

Prompt Optimizer

# 运行容器(默认配置)
docker run -d -p 80:80 --restart unless-stopped --name prompt-optimizer linshen/prompt-optimizer

# 运行容器(配置API密钥)
docker run -d -p 180:80 \
  -e VITE_CUSTOM_API_KEY=sk-123 \
  -e VITE_CUSTOM_API_BASE_URL=http://192.168.100.160:8200/v1 \
  -e VITE_CUSTOM_API_MODEL=qwen2.5-72b-instruct-awq \
  --restart unless-stopped \
  --name prompt-optimizer \
  linshen/prompt-optimizer
  
docker run -d -p 180:80 -e VITE_CUSTOM_API_KEY=sk-123 -e VITE_CUSTOM_API_BASE_URL=http://192.168.100.160:8200/v1 -e VITE_CUSTOM_API_MODEL=qwen2.5-72b-instruct-awq --restart unless-stopped --name prompt-optimizer linshen/prompt-optimizer

docker run -d -p 180:80 --restart unless-stopped --name prompt-optimizer linshen/prompt-optimizer

mtranserver

compose.yml

services:
  mtranserver:
    image: xxnuo/mtranserver:2.1.1
    container_name: mtranserver
    restart: unless-stopped
    ports:
      - "18989:8989"
    volumes:
      - ./models:/app/models
    environment:
      - CORE_API_TOKEN=1qaz2wsx
docker run -d -p 18989:8989 --restart unless-stopped --name mtranserver -v /home/ubuntu/luo/.mtranserver/models:/app/models -e CORE_API_TOKEN=1qaz2wsx xxnuo/mtranserver:4.0.32

docker run -d -p 18989:8989 --restart unless-stopped --name mtranserver -v /data/.mtranserver/models:/app/models -e CORE_API_TOKEN=1qaz2wsx xxnuo/mtranserver:2.1.1

请求方式:

Postman 请求配置

  1. 请求方法POST
  2. 请求 URLhttp://localhost:18989/translate
  3. Headers
    • Content-Type: application/json
    • Authorization: 1qaz2wsx (替换为你的实际 token)
  4. Body (选择 raw 并设置为 JSON 格式):
{
    "from": "en",
    "to": "zh",
    "text": "Hello, world!"
}

预期响应

成功请求后,你将会收到类似以下的响应:

{
    "result": "你好,世界!"
}

注意事项

使用

下面表格内的 localhost 可以替换为你的服务器地址或 Docker 容器名。

下面表格内的 8989 端口可以替换为你在 compose.yml 文件中设置的端口值。

如果未设置 CORE_API_TOKEN 或者设置为空,翻译插件使用无密码的 API。

如果设置了 CORE_API_TOKEN,翻译插件使用有密码的 API。

下面表格中的 your_token 替换为你在 config.ini 文件中设置的 CORE_API_TOKEN 值。

翻译插件接口:

注:

接下来按下表的设置方法设置插件的自定义接口地址。注意第一次请求会慢一些,因为需要加载模型。以后的请求会很快。

名称 URL 插件设置
沉浸式翻译无密码 http://localhost:8989/imme 自定义API 设置 - API URL
沉浸式翻译有密码 http://localhost:8989/imme?token=your_token 同上,需要更改 URL 尾部的 your_token 为你的 CORE_API_TOKEN
简约翻译无密码 http://localhost:8989/kiss 接口设置 - Custom - URL
简约翻译有密码 http://localhost:8989/kiss 同上,需要 KEYyour_token
划词翻译自定义翻译源无密码 http://localhost:8989/hcfy 设置-其他-自定义翻译源-接口地址
划词翻译自定义翻译源有密码 http://localhost:8989/hcfy?token=your_token 设置-其他-自定义翻译源-接口地址

普通用户参照表格内容设置好插件使用的接口地址就可以使用了。

TranslationV4

# 部署

docker build -t translation:v4 .

# 启动

docker run -d -p 17001:7000 --restart=always --network my_network_1 -v F:/pythonProject/TranslationV4/docker_env/.env:/app/.env -v F:/pythonProject/TranslationV4/InputFile:/app/InputFile -v F:/pythonProject/TranslationV4/OutputFile:/app/OutputFile --name translation_v4 translation:v4

docker save -o translation_4.tar translation:v4

翻译项目docker compose

docker-compose up -d
services:
  frontend:
    image: luo_vben5:20250422
    container_name: translation_luo_vben5_docker_compose
    restart: always
    ports:
      - "15666:5666"
    volumes:
      - "F:/projectDockerCompose/translation/frontend/.env.development:/app/apps/web-antd/.env.development"
    networks:
      - my_network

  backend:
    image: translation:20250422
    container_name: translation_v4_docker_compose
    restart: always
    ports:
      - "17001:7000"
    volumes:
      - "F:/projectDockerCompose/translation/backend/.env:/app/.env"
      - "F:/projectDockerCompose/translation/backend/InputFile:/app/InputFile"
      - "F:/projectDockerCompose/translation/backend/OutputFile:/app/OutputFile"
      - "F:/projectDockerCompose/translation/backend/logs:/app/logs"
    networks:
      - my_network
    depends_on:
      - redis
      - mysql

  redis:
    image: redis:7.4.2
    container_name: translation_redis_7.4_docker_compose
    restart: always
    privileged: true
    ports:
      - "16379:6379"
    volumes:
      - "F:/projectDockerCompose/translation/redis/conf:/etc/redis"  # 单独存放配置文件
      - "F:/projectDockerCompose/translation/redis/data:/data"       # 单独存放数据文件
    command: redis-server /etc/redis/redis.conf --appendonly yes
    networks:
      - my_network

  mysql:
    image: mysql:8.0
    container_name: translation_mysql_8.0_docker_compose
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "1qaz2wsx"
    ports:
      - "13306:3306"
    volumes:
      - "F:/projectDockerCompose/translation/mysql/conf:/etc/mysql/conf.d"  # 配置目录
      - "F:/projectDockerCompose/translation/mysql/data:/var/lib/mysql"     # 数据目录
      - "F:/projectDockerCompose/translation/mysql/logs:/var/log/mysql"     # 日志目录
    networks:
      - my_network

networks:
  my_network:
    name: translation_network

Umi-OCR_runtime_linux

docker run -d --name umi-ocr \
    -e HEADLESS=true \
    -p 1224:1224 \
    umi-ocr-paddle
    
docker run -d --name umi-ocr --restart=always -e HEADLESS=true -p 12298:1224 umi-ocr-paddle:latest

etherpad-lite

docker-compose up -d

Perplexica/Vane

docker-compose up -d
docker run -d -p 23000:3000 -e SEARXNG_API_URL=http://192.168.100.100:6789 -v /home/ubuntu/luo/.vane:/home/vane/data --name vane itzcrazykns1337/vane:slim-latest


docker run -d -p 23000:3000 -v /home/ubuntu/luo/.vane:/home/vane/data --name vane itzcrazykns1337/vane:latest

comfyUI

# Nvidia GPU Base Images
# For NVIDIA GPU with stable CUDA version
FROM nvidia/cuda:12.6.3-cudnn-runtime-ubuntu24.04 AS base

# For NVIDIA GPU with latest CUDA version
# FROM nvidia/cuda:12.8.1-cudnn-runtime-ubuntu24.04 AS base 

# AMD GPU Base Images
# For AMD GPU with stable ROCm version
# FROM rocm/dev-ubuntu-24.04:6.2.4-complete AS base 

# For AMD GPU with latest ROCm version
# FROM rocm/dev-ubuntu-24.04:6.3.4-complete AS base 

# Environment variables
ENV DEBIAN_FRONTEND=noninteractive

# Install necessary dependencies and Python 3.12
RUN apt-get update \
    && apt-get install -y \
    git \
    software-properties-common \
    curl \
    python3.12 \
    python3.12-dev \
    python3.12-venv \
    python3-setuptools \
    wget \
    ffmpeg \
    libsm6 \
    libxext6 \
    libgl1 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# Set the working directory
WORKDIR /app

# Clone the ComfyUI repository and set up virtual environment
RUN git clone https://github.com/comfyanonymous/ComfyUI.git /app/comfyui \
    && python3.12 -m venv /app/venv \
    && /app/venv/bin/pip install --upgrade pip \
    && /app/venv/bin/pip install pyyaml \
    && /app/venv/bin/pip install -r /app/comfyui/requirements.txt

# Clone ComfyUI-Manager and install its dependencies
RUN git clone https://github.com/ltdrdata/ComfyUI-Manager.git /app/temp/ComfyUI-Manager \
    && mv /app/temp/* /app/comfyui/custom_nodes/ \
    && rm -rf /app/temp \
    && /app/venv/bin/pip install -r /app/comfyui/custom_nodes/ComfyUI-Manager/requirements.txt

    # NVIDIA GPU PyTorch Installation

    # Install PyTorch with CUDA 12.6 support (stable version)
# RUN /app/venv/bin/pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu126

    # Install PyTorch with CUDA 12.8 support (latest version)
# RUN /app/venv/bin/pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128

    # AMD GPU PyTorch Installation

    # Install PyTorch with ROCm 6.2 support (stable version)
# RUN /app/venv/bin/pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2.4

    # Install PyTorch with ROCm 6.3 support (latest version)
# RUN /app/venv/bin/pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.3


# Expose the backend port
EXPOSE 8188

# Set the entrypoint to run the app
CMD ["/bin/bash", "-c", "source /app/venv/bin/activate && python3 /app/comfyui/main.py --listen 0.0.0.0 --port 8188"]
docker build -t comfyui:0.3.40 .
docker run -it -d --name comfyui_0340 -p 8188:8188 -v F:/.comfyui/input:/app/comfyui/input -v F:/.comfyui/models:/app/comfyui/models -v F:/.comfyui/output:/app/comfyui/output -v F:/.comfyui/user:/app/comfyui/user -e NVIDIA_VISIBLE_DEVICES=all -e NVIDIA_DRIVER_CAPABILITIES=all --restart=always --runtime nvidia comfyui:0.3.40

docker run -it -d --name comfyui_0340 -p 8188:8188 -v /home/ubuntu/luo/.comfyui/input:/app/comfyui/input -v /home/ubuntu/luo/.comfyui/models:/app/comfyui/models -v /home/ubuntu/luo/.comfyui/output:/app/comfyui/output -v /home/ubuntu/luo/.comfyui/user:/app/comfyui/user -e NVIDIA_VISIBLE_DEVICES=all -e NVIDIA_DRIVER_CAPABILITIES=all --restart=always --runtime nvidia comfyui:0.3.40

docker run -it -d --name comfyui_0340 -p 8188:8188 -v /data/.comfyui/input:/app/comfyui/input -v /data/.comfyui/models:/app/comfyui/models -v /data/.comfyui/output:/app/comfyui/output -v /data/.comfyui/user:/app/comfyui/user -e NVIDIA_VISIBLE_DEVICES="7" -e NVIDIA_DRIVER_CAPABILITIES=all --restart=always --runtime nvidia comfyui:0.3.40

新的命令

mkdir -p \
  storage \
  storage-models/models \
  storage-models/hf-hub \
  storage-models/torch-hub \
  storage-user/input \
  storage-user/output \
  storage-user/workflows

docker run -it -d \
  --name comfyui \
  --runtime nvidia \
  --gpus all \
  -p 8188:8188 \
  -v "$(pwd)"/storage:/root \
  -v "$(pwd)"/storage-models/models:/root/ComfyUI/models \
  -v "$(pwd)"/storage-models/hf-hub:/root/.cache/huggingface/hub \
  -v "$(pwd)"/storage-models/torch-hub:/root/.cache/torch/hub \
  -v "$(pwd)"/storage-user/input:/root/ComfyUI/input \
  -v "$(pwd)"/storage-user/output:/root/ComfyUI/output \
  -v "$(pwd)"/storage-user/workflows:/root/ComfyUI/user/default/workflows \
  -e CLI_ARGS="--disable-xformers" \
  yanwk/comfyui-boot:cu128-megapak

n8n

docker volume create n8n_data
docker run -it -d --name n8n --restart=always -p 5678:5678 -v n8n_data:/home/node/.n8n -e N8N_SECURE_COOKIE=false docker.n8n.io/n8nio/n8n

videolingo

docker build -t videolingo .

docker run -d -p 8501:8501 --gpus all videolingo:latest

searxng

docker run -d -p 6789:8080 --name searxng -v "F:/.searxng/searxng:/etc/searxng" -e "BASE_URL=http://localhost:6789/" -e "INSTANCE_NAME=my-instance" searxng/searxng:2025.5.21-156d1eb

去文件夹F:/.searxng/searxng找配置文件settings.yml,然后进行修改。

docker run -d -p 6789:8080 --restart=always --name searxng -v "/home/ubuntu/luo/.searxng:/etc/searxng" searxng/searxng:2025.6.3-eb36de8

docker run --name searxng -d \
    --restart=always \
    -p 6789:8080 \
    -v "/home/ubuntu/luo/.searxng/config/:/etc/searxng/" \
    -v "/home/ubuntu/luo/.searxng/data/:/var/cache/searxng/" \
	searxng/searxng:2026.3.13-3c1f68c59

portainer

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /home/luo/.dockerData/portainer:/data --restart=always --name portainer portainer/portainer-ce:2.30.1

drawio

docker run -d -v "/home/ubuntu/luo/.drawiodata/letsencrypt-log:/var/log/letsencrypt/" -v "/home/ubuntu/luo/.drawiodata/letsencrypt-etc:/etc/letsencrypt/" -v "/home/ubuntu/luo/.drawiodata/letsencrypt-lib:/var/lib/letsencrypt" -e LETS_ENCRYPT_ENABLED=true -e PUBLIC_DNS=drawio.example.com --restart=always --name=drawio -p 11180:80 -p 11443:8443 jgraph/drawio:27.0.9

docker run -d --restart=always --name=drawio -p 11188:8080 -p 18443:8443 jgraph/drawio:27.0.9

打开地址:
http://192.168.100.100:11188/?lang=zh

-e LANG=zh_CN.UTF-8 -e LANGUAGE=zh_CN:zh -e LC_ALL=zh_CN.UTF-8

IOPaint

docker run -d -p 8380:8080 --runtime nvidia -v F:/.IOPaint/models:/root/.cache --restart=unless-stopped --name IOPaint thr3a/iopaint:20250409

docker run -d -p 8380:8080 --runtime nvidia --name IOPaint thr3a/iopaint:20250409

docker run -d \
-p 8380:8080 \
--runtime nvidia \
-v /home/ubuntu/luo/.IOPaint/models:/root/.cache/ \
--restart=unless-stopped \
--name IOPaint \
thr3a/iopaint:20250409 \
HF_ENDPOINT=https://hf-mirror.com

wewe-rss

version: '3.9'

services:
  db:
    image: mysql:8.3.0
    command: --mysql-native-password=ON
    environment:
      # 请修改为自己的密码
      MYSQL_ROOT_PASSWORD: 1qaz2wsx
      TZ: 'Asia/Shanghai'
      MYSQL_DATABASE: 'wewe-rss'
    # ports:
    #   - 13306:3306
    volumes:
      - db_data:/var/lib/mysql
    healthcheck:
      test: ['CMD', 'mysqladmin', 'ping', '-h', 'localhost']
      timeout: 45s
      interval: 10s
      retries: 10

  app:
    image: cooderl/wewe-rss:v2.6.1
    ports:
      - 14000:4000
    depends_on:
      db:
        condition: service_healthy
    environment:
      # 数据库连接地址
      - DATABASE_URL=mysql://root:1qaz2wsx@db:3306/wewe-rss?schema=public&connect_timeout=30&pool_timeout=30&socket_timeout=30
      # 服务接口请求授权码
      - AUTH_CODE=1qaz2wsx
      # 提取全文内容模式
      - FEED_MODE=fulltext
      # 定时更新订阅源Cron表达式
      - CRON_EXPRESSION=35 5,17 * * *
      # 服务接口请求限制,每分钟请求次数
      - MAX_REQUEST_PER_MINUTE=60
      # 外网访问时,需设置为服务器的公网 IP 或者域名地址
      # - SERVER_ORIGIN_URL=http://localhost:4000

networks:
  wewe-rss:

volumes:
  db_data:

docker-compose up -d

ConvertX

# docker-compose.yml
services:
  convertx:
    image: c4illin/convertx:pr-337
    container_name: convertx
    restart: unless-stopped
    ports:
      - "8981:3000"
    environment:
      - JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # will use randomUUID() if unset
      - ALLOW_UNAUTHENTICATED=true
      - HTTP_ALLOWED=true
      - LANGUAGE=zh
    volumes:
      - ./data:/app/data
docker-compose up -d
docker run -d \
-p 8981:3000 \
-v /home/ubuntu/luo/.convertx/data:/app/data \
-e LANGUAGE=zh \
-e JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 \
-e HTTP_ALLOWED=true \
-e ALLOW_UNAUTHENTICATED=true \
--restart=unless-stopped \
--name convertx \
convertx:v337

docker run -d \
-p 8981:3000 \
-v /data/.convertx/data:/app/data \
-e LANGUAGE=zh \
-e JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 \
-e HTTP_ALLOWED=true \
-e ALLOW_UNAUTHENTICATED=true \
--restart=unless-stopped \
--name convertx \
convertx:v337

rabbitmq

docker run -id --restart=always --name=rabbitmq_4.1.1 -v F:/.rabbitmq:/var/lib/rabbitmq -p 35673:15672 -p 35672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=1qaz2wsx rabbitmq:4.1.1-management

 docker network connect my_network_1 rabbitmq_4.1.1

oneline

docker build -t oneline:2.3.0 . 
docker run -p 23001:3000 \
  --restart=unless-stopped \
  --name=oneline \
  -e NEXT_PUBLIC_API_ENDPOINT=http://192.168.100.166:8888/v1/chat/completions \
  -e NEXT_PUBLIC_API_MODEL=Qwen3-32B-AWQ \
  -e NEXT_PUBLIC_API_KEY=sk-123 \
  -e NEXT_PUBLIC_SEARXNG_URL=http://192.168.100.100:6789 \
  -e NEXT_PUBLIC_SEARXNG_ENABLED=true \
  -e NEXT_PUBLIC_ALLOW_USER_CONFIG=false \
  -e NEXT_PUBLIC_ACCESS_PASSWORD= \
  -d oneline:2.3.0
  
docker run -p 23001:3000 --restart=unless-stopped --name=oneline -e NEXT_PUBLIC_API_ENDPOINT=http://192.168.100.143:8200/v1/chat/completions -e NEXT_PUBLIC_API_MODEL=Qwen3-235B-A22B-Instruct-2507-FP8 -e NEXT_PUBLIC_API_KEY=sk-123 -e NEXT_PUBLIC_SEARXNG_URL=http://192.168.100.100:6789 -e NEXT_PUBLIC_SEARXNG_ENABLED=true -e NEXT_PUBLIC_ALLOW_USER_CONFIG=false -e NEXT_PUBLIC_ACCESS_PASSWORD= -d oneline:2.3.0

# windows
docker run -p 23001:3000 --restart=unless-stopped --name=oneline -v "${PWD}\.env.local:/app/.env.local" -d oneline:2.3.0

# Linux
docker run -p 23001:3000 --restart=unless-stopped --name=oneline -v "$(pwd)/.env.local:/app/.env.local" -d oneline:2.3.0

环境变量说明

环境变量 说明 默认值
NEXT_PUBLIC_API_ENDPOINT 外部API端点 -
NEXT_PUBLIC_API_MODEL API模型名称 gemini-2.0-flash-exp-search
NEXT_PUBLIC_API_KEY API密钥 -
NEXT_PUBLIC_SEARXNG_URL SearXNG搜索服务URL https://sousuo.emoe.top
NEXT_PUBLIC_SEARXNG_ENABLED 是否启用SearXNG false
NEXT_PUBLIC_ALLOW_USER_CONFIG 是否允许用户在前端修改配置 true
NEXT_PUBLIC_ACCESS_PASSWORD 访问密码 -

注意事项:

drawdb

git clone https://github.com/drawdb-io/drawdb

docker build -t drawdb .

docker run -d -p 23002:80 --restart=unless-stopped --name drawdb drawdb
# 访问地址
http://192.168.100.123:23002/editor

drawnix

docker run pubuzhixing/drawnix:v0.2.0

docker run -d -p 23003:80 --restart=unless-stopped --name drawnix pubuzhixing/drawnix:v0.2.0

http://192.168.100.123:23003/

minio

docker run -p 9091:9000 -p 9090:9090 \
     --name minio \
     -d --restart=unless-stopped \
     -e "MINIO_ROOT_USER=root" \
     -e "MINIO_ROOT_PASSWORD=1qaz2wsx" \
     -v /data/.minio/data:/data \
     -v /data/.minio/config:/root/.minio \
     minio/minio:RELEASE.2025-07-23T15-54-02Z server \
     /data --console-address ":9090" --address ":9000"
     
docker run -p 9091:9000 -p 9090:9090 --name minio -d --restart=unless-stopped -e "MINIO_ROOT_USER=root" -e "MINIO_ROOT_PASSWORD=1qaz2wsx" -v F:/.minio/data:/data -v F:/.minio/config:/root/.minio minio/minio:RELEASE.2025-07-23T15-54-02Z server /data --console-address ":9090" --address ":9000"
     

openai-whisper-asr-webservice

docker run -d --runtime nvidia --gpus "device=1" -p 9000:9000 \
  -e ASR_MODEL=base \
  -e ASR_ENGINE=openai_whisper \
  onerahmet/openai-whisper-asr-webservice:latest-gpu
  
docker run -d --runtime nvidia --gpus "device=1" -p 9000:9000 -e ASR_MODEL=base -e ASR_ENGINE=whisperx onerahmet/openai-whisper-asr-webservice:latest-gpu

docker run -d --runtime nvidia --gpus "device=1" --name whisper_engine -p 9007:9000 -e ASR_MODEL=medium.en -e ASR_ENGINE=whisperx -e ASR_MODEL_PATH=/data/whisper -e HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxx -v F:/.whisperx/cache:/data/whisper onerahmet/openai-whisper-asr-webservice:latest-gpu

# 100.100
docker run -d --runtime nvidia --gpus "device=4" --name whisper_engine -p 9007:9000 -e ASR_MODEL=medium.en -e ASR_ENGINE=whisperx -e HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxx -v /home/ubuntu/luo/.whisper-asr/cache:/root/.cache/ -v /home/ubuntu/luo/.whisper-asr/swagger-ui-assets:/swagger-ui-assets onerahmet/openai-whisper-asr-webservice:latest-gpu

manga-image-translator

docker build -t image-translator:v1 .

docker run -d \
    --name image_translator_gpu \
    -p 15003:5003 \
    --ipc=host \
    --gpus "device=0" \
    -v /home/ubuntu/luo/.image-translator/models:/app/models \
    -v /home/ubuntu/luo/.image-translator/result:/app/result \
    -e CUSTOM_OPENAI_API_KEY='sk-123' \
    -e CUSTOM_OPENAI_API_BASE='http://192.168.100.143:8200/v1' \
    -e CUSTOM_OPENAI_MODEL='Qwen3-235B-A22B-Instruct-2507-FP8' \
    -w /app/server \
    --entrypoint python \
    image-translator:v1 \
    main.py --verbose --start-instance --host=0.0.0.0 --port=5003 --use-gpu
    
docker run -d --name image_translator_gpu -p 15003:5003 --ipc=host --gpus "device=1" -v F:/pythonProject/manga-image-translator/models:/app/models -v F:/pythonProject/manga-image-translator/result:/app/result -e CUSTOM_OPENAI_API_KEY='sk-123' -e CUSTOM_OPENAI_API_BASE='http://192.168.100.143:8200/v1' -e CUSTOM_OPENAI_MODEL='Qwen3-235B-A22B-Instruct-2507-FP8' -w /app/server --entrypoint python image-translator:v1 smain.py --verbose --start-instance --host=0.0.0.0 --port=5003 --use-gpu

whisperlivekit

docker build -t wlk .

docker run -d --gpus "device=1" -p 8800:8000 --name wlk-production -v F:/python_full_project/WhisperLiveKitProject/WhisperLiveKit/whisperlivekit_models/huggingface/hub:/root/.cache/huggingface/hub -v F:/python_full_project/WhisperLiveKitProject/WhisperLiveKit/whisperlivekit_models/torch:/root/.cache/torch -v F:/python_full_project/WhisperLiveKitProject/WhisperLiveKit/whisperlivekit_models/whisper:/root/.cache/whisper -e WHISPER_CACHE_DIR=/root/.cache/whisper -e HF_HOME=/root/.cache/huggingface -e TORCH_HOME=/root/.cache/torch wlk:diarization --model base --diarization --diarization-backend sortformer --target-language zh-CN

# 说话人识别
docker run -d --gpus "device=1" -p 8800:8000 --name wlk -v F:/python_full_project/WhisperLiveKitProject/WhisperLiveKit/whisperlivekit_models:/whisperlivekit_models -e WHISPER_CACHE_DIR=/whisperlivekit_models/whisper -e HF_HOME=/whisperlivekit_models/huggingface -e TORCH_HOME=/whisperlivekit_models/torch -e XDG_CACHE_HOME=/whisperlivekit_models wlk:latest --model large-v3 --diarization --target-language zh 

docker run -d \
  --gpus "device=1" \
  -p 8800:8000 \
  --name wlk-production \
  --restart unless-stopped \
  -v F:/python_full_project/WhisperLiveKitProject/WhisperLiveKit/whisperlivekit_models/huggingface/hub:/root/.cache/huggingface/hub \
  -v F:/python_full_project/WhisperLiveKitProject/WhisperLiveKit/whisperlivekit_models/torch:/root/.cache/torch \
  -v F:/python_full_project/WhisperLiveKitProject/WhisperLiveKit/whisperlivekit_models/whisper:/root/.cache/whisper \
  -e WHISPER_CACHE_DIR=/root/.cache/whisper \
  -e HF_HOME=/root/.cache/huggingface \
  -e TORCH_HOME=/root/.cache/torch \
  wlk:diarization \
  --model large-v3 \
  --language auto \
  --diarization \
  --diarization-backend sortformer \
  --target-language zh-CN

方案11(使用 generateBundle 钩子直接注入代码)

原来采用虚拟模块的方式的代码需要修改么?

next-ai-draw-io

docker run -d -p 3008:3000 \
  --name next-ai-draw-io \
  -d --restart=unless-stopped \
  -e AI_PROVIDER=openai \
  -e AI_MODEL=Qwen3-235B-A22B-Instruct-2507-FP8 \
  -e OPENAI_BASE_URL=http://192.168.100.143:8200/v1 \
  -e OPENAI_API_KEY=sk-123 \
  ghcr.io/dayuanjiang/next-ai-draw-io:0.4.7

我是一个大一在校大学生,专业是软件工程。平时除了上课闲暇时间就喜欢逛逛论坛,看一些有趣的技术分享,平时也喜欢和大佬讨论C++、python编程技术。最近在google中搜到l站的llm和vps的相关帖子,作为爱好者想进来交流一下,希望能和大家一起学习。

我是在计算机行业工作5年的小菜鸡,目前做的工作是python软件开发和NLP算法,平时对软件开发和NLP算法探索感兴趣。最近在google中搜到l站的llm和vps的相关帖子,作为爱好者想进来交流一下,希望能和大家一起学习。

linuxdo站我一开始接触是在网上搜各种代码出错解决办法和教程,linuxdo总是能给出好的解决方法,因此觉得linuxdo生态特别好。之前一直就曾想申请账号,但是由于种种原因在注册的时候没有成功。希望这次贵站能够同意我的申请。

casbin/casdoor

docker-compose.yml

services:
  casdoor:
    image: casbin/casdoor::2.277.0
    container_name: casdoor
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      - GIN_MODE=release
    volumes:
      - ./conf:/conf
      - ./logs:/logs
    networks:
      - casdoor-network

networks:
  casdoor-network:
    driver: bridge

//div[@class=’btn-web-link’]/a/@href

//main[@id=’page-content’]

https://www.rand.org/pubs/external_publications/EP71199.html

elasticsearch

version: '3.8'

services:
  elasticsearch:
    image: elasticsearch:8.19.11
    container_name: elasticsearch
    restart: unless-stopped
    # 容器拥有root权限
    privileged: true
    # 在 Linux 里使用 ulimit 命令可以对进程的资源进行限制,这里设置为无限
    ulimits:
      memlock:
        soft: -1
        hard: -1
    environment:
      # 该环境变量设置 ElasticSearch 的最小和最大内存使用都是 1G
      - ES_JAVA_OPTS=-Xms1024m -Xmx1024m
      # 该环境变量设置成 0.0.0.0 表示允许任意客户端机器的连接访问
      - http.host=0.0.0.0
      - node.name=elastic
      - cluster.name=cluster_elasticsearch
      # 该环境变量设置为 single-node 表示部署的 ElasticSearch 为单节点
      - discovery.type=single-node
    volumes:
      - ./elasticsearch/elasticsearch-data:/usr/share/elasticsearch/data
      - ./elasticsearch/elasticsearch-config:/usr/share/elasticsearch/config
      - ./elasticsearch/elasticsearch-plugins:/usr/share/elasticsearch/plugins
      - ./elasticsearch/elasticsearch-logs:/usr/share/elasticsearch/logs
    ports:
      - "9200:9200"
    networks:
      - es-network

  kibana:
    image: kibana:8.19.11
    container_name: kibana
    restart: unless-stopped
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    ports:
      - "5601:5601"
    depends_on:
      - elasticsearch
    networks:
      - es-network
    volumes:
      - ./kibana/kibana-data:/usr/share/kibana/data
      - ./kibana/kibana-config:/usr/share/kibana/config

networks:
  es-network:
    driver: bridge