A tiny little diffusion drawing app
画图结合 prompts 生成图片
环境
- Debian 11
- Python 3.9
- Nginx
- Tesla P40
步骤
准备运行环境
apt install libgl1 libglib2.0-0 python3-dev python3-pip nginx
安装 tldream
# 国内网络建议先换源 pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple pip -U pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple # 安装 tldream pip install tldream
安装过程中会下载 python 依赖和 Stable Diffusion 模型,模型存储在 ~/.cache/huggingface/hub 下
测试运行
执行指令运行 tldream,添加 --listen 令其监听外部 IP 地址
tldream --listen --port [port]
然后浏览器访问 IP+端口,测试图片可以正常生成
配置系统服务
在 /etc/systemd/system 下新建配置文件 tldream.service,写入以下内容
[Unit] Description=tldream [Service] User=root ExecStart=/usr/local/bin/tldream --no-listen --port [port] --no-nsfw-filter [Install] WantedBy=multi-user.target
添加 --no-nsfw-filter 会允许生成 NSFW 图片
添加 --model [模型] 可以指定其他 Stable Diffusion 模型
启动并设置开机自启
systemctl enable tldream.service --now
配置 Nginx
在 /etc/nginx/sites-available 下新建配置文件 tldream.conf,写入以下内容
server { listen [port]; server_name [server name]; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:[tldream listen port]; } location /ws/ { proxy_pass http://127.0.0.1:[tldream listen port]; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
除了基本的反向代理外,还需要单独为 Websocket 配置代理
新建软链接并重载配置文件
ln -s /etc/nginx/sites-available/tldream.conf /etc/nginx/sites-enabled nginx -t nginx -s reload
效果