README-run.md 2.1 KB

说明

项目使用的基础镜像基于官方的python:3.12-slim镜像生成,里面安装了uv,修改了uv的镜像源配置

/root/.config/uv/uv.toml 内容
[[index]]
url = "https://mirrors.aliyun.com/pypi/simple/"
default = true

镜像构建

Dockerfile的方式构建
cd /root/workspace/SoraWatermarkCleaner
docker build -t sorawm:{tag} .
Docker-compose的方式构建
cd /root/workspace/SoraWatermarkCleaner
docker compose --build sorawm_server
Docker-compose的方式构建且启动【推荐使用】
cd /root/workspace/SoraWatermarkCleaner 
docker compose up -d --build sorawm_server

容器启动和重启

Dockerfile方式
docker run -d --name sorawm-test -p 5344:5344 1aaffb469053

docker restart {容器ID}
Docker-compose的方式
docker compose up {service_name}

docker compose restart {service_name}

代码更新

Dockerfile的方式,需要重新构建镜像
cd /root/workspace/SoraWatermarkCleaner
docker build -t sorawm:{tag} .

docker run -d --name sorawm-test -p 5344:5344 1aaffb469053
Docker-compose的方式
docker compose restart {service_name}

tag建议使用yyyyMMddHHmmss的形式生成 \ 项目最终生成的镜像文件比较大,将近9个G,与.venv环境有关,后续考虑优化

生成uv.lock

RUN uv lock -i https://mirrors.aliyun.com/pypi/simple/

生成uv.lock使用阿里的镜像源,原因: 机器上访问官方的镜像源比较慢,需要换成国内的源。

启动脚本 sorawm_start.sh


#!/bin/bash

source /app/.venv/bin/activate

uv run streamlit run app.py --server.port 8503 --server.headless true --browser.gatherUsageStats false &
uv run python start_server.py --host 0.0.0.0 --port 5344 &

wait

前端正确启动方式(关闭交互提示,便于自动化预览): uv run streamlit run app.py --server.port 8503 --server.headless true --browser.gatherUsageStats false 后端正确启动方式(关闭交互提示,便于自动化预览): uv run python start_server.py --host 0.0.0.0 --port 5344