🚀 Gemini Storyboard 部署指南

🚀 Gemini Storyboard 部署指南

_

Gemini Storyboard 部署指南

目标:将 Gemini Storyboard 部署到 Ubuntu 服务器,使用域名 aaa.why.vin,对外服务端口 8001,支持 HTTP / HTTPS


目录


一、部署前准备

1.1 服务器信息

项目

服务器 IP

175.178.59.129

操作系统

Ubuntu

域名

aaa.why.vin

应用端口

8001

访问地址

https://aaa.why.vin

1.2 项目文件清单

本地项目路径示例:E:\mianshi\0128\

文件名

说明

是否修改

server.py

FastAPI 主程序

Index.html

前端页面

Dockerfile

镜像构建

docker-compose.yml

编排配置

是(端口)

requirements.txt

Python 依赖

.env

环境变量

SSL 证书

HTTPS

1.3 SSL 证书

文件

说明

fullchain.pem

证书链

privkey.pem

私钥

获取方式

  • 1Panel 自动申请(Let's Encrypt)

  • 第三方证书服务商

上传位置

  • 有 1Panel:/www/ssl/aaa_why_vin/

  • 无 1Panel:/etc/ssl/certs/aaa_why_vin/


二、本地文件修改

2.1 修改 docker-compose.yml

version: '3.8'
services:
  app:
    build: .
    container_name: gemini-storyboard-aaa
    restart: unless-stopped
    ports:
      - "8001:8000"
    env_file:
      - .env
    volumes:
      - ./state:/app/state
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/healthz"]
      interval: 30s
      timeout: 10s
      retries: 3

修改要点

  • 容器名避免与 test.why.vin 冲突

  • 对外端口统一使用 8001


三、服务器部署 · 方案 A(1Panel)

适用场景:服务器已安装 1Panel(OpenResty 在 Docker 中运行)

3.1 登录服务器

ssh ubuntu@175.178.59.129

3.2 创建项目目录

mkdir -p /home/ubuntu/gemini-storyboard-aaa
cd /home/ubuntu/gemini-storyboard-aaa

3.3 上传项目文件

推荐方式:Termius / SFTP

上传以下文件到项目目录:

  • server.py

  • Index.html

  • Dockerfile

  • docker-compose.yml

  • requirements.txt

  • .env

3.4 上传 SSL 证书

sudo mkdir -p /www/ssl/aaa_why_vin

校验:

openssl x509 -in /www/ssl/aaa_why_vin/fullchain.pem -noout -subject -dates

3.5 防火墙

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8001/tcp

3.6 Nginx(OpenResty)配置

配置文件:aaa.why.vin.conf

  • 反向代理:127.0.0.1:8001

  • SSL 证书路径:/www/sites/aaa.why.vin/ssl/

配置完成后:

docker exec 1Panel-openresty nginx -t
docker exec 1Panel-openresty nginx -s reload

3.7 启动服务

mkdir -p state
docker compose up -d

四、服务器部署 · 方案 B(原生 Nginx)

适用场景:无 1Panel,直接使用系统 Nginx

4.1 安装 Nginx

sudo apt update && sudo apt install -y nginx

4.2 SSL 证书

sudo mkdir -p /etc/ssl/certs/aaa_why_vin
sudo chmod 600 /etc/ssl/certs/aaa_why_vin/privkey.pem

4.3 站点配置

路径:/etc/nginx/sites-available/aaa.why.vin

  • HTTP + HTTPS

  • 反代至 127.0.0.1:8001

启用站点:

sudo ln -s /etc/nginx/sites-available/aaa.why.vin /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

4.4 启动容器

mkdir -p state
docker compose up -d

五、部署验证

curl http://localhost:8001/healthz
curl https://aaa.why.vin/healthz

浏览器访问:


六、常见问题排查

问题

排查命令

容器未启动

docker compose logs

端口占用

lsof -i :8001

Nginx 报错

nginx -t

证书错误

openssl x509 -in fullchain.pem -noout


七、运维与管理命令

# 日志
docker compose logs -f

# 重启
docker compose restart

# 更新
docker compose down && docker compose up -d --build

八、文件与目录速查

类型

路径

项目目录

/home/ubuntu/gemini-storyboard-aaa/

状态数据

/home/ubuntu/gemini-storyboard-aaa/state/

SSL(1Panel)

/www/ssl/aaa_why_vin/

SSL(原生)

/etc/ssl/certs/aaa_why_vin/


九、与 test.why.vin 的区别

项目

test

aaa

端口

8000

8001

容器名

gemini-storyboard

gemini-storyboard-aaa

域名

test.why.vin

aaa.why.vin


十、快速检查清单

  • 端口映射 8001:8000

  • 容器名唯一

  • HTTPS 正常

  • /healthz 返回 ok:true


🎉 部署完成: https://aaa.why.vin

Docker 常用命令大全 2026-02-03
Gemini Storyboard 部署指南 2026-02-02

评论区