tldream 自托管

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

效果

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据