Giter Club home page Giter Club logo

Comments (18)

AthanaD avatar AthanaD commented on May 22, 2024 7

一、准备工作
私信作者, 提供你的ip, 群主gen一个jwt字符串。
或者打开如下网址登陆,输入VPS IP自动获取jwt。
https://dash.pandoranext.com
二、部署方式
㈠部署方式一(较麻烦):

把jwt字符串放进 license.jwt 跟PandoraNext文件放在一个目录即可。全部文件上传至VPS。
修改config.json文件端口, 后端(screen)执行./pandoranext文件,然后nginx/caddy反代至config文件端口即可。
㈡部署方式二(较简单):

1.将所有文件放到VPS下的/data/data文件夹下,若为docker-compose.yml放在/data下。
2.LINUX服务器:
⑴docker方式部署
docker pull pengzhile/pandora-next && docker run -d --restart always --name PandoraNext --net=bridge -p 8181:8181 -v /data/data:/data -e PANDORA_NEXT_LICENSE="jwt字符串" pengzhile/pandora-next

⑵docker-compose方式部署
sudo docker-compose down && sudo docker-compose pull && sudo docker-compose up -d && sudo docker-compose logs --tail=180

三、反代设置( 因caddy功能更强可自动生成证书等,推荐caddy):
1、cloudflare配置DNS
⑴添加A类型,名称chat,内容为IP地址,代理状态仅DNS,TTL自动→保存。
⑵SSL/TLS设置加密模式为完全(严格),并设置边缘证书确保状态有效。
2、caddy配置

https://chat.域名 {
reverse_proxy /* {
to :8181
}
}
3、重置配置(执行命令)
systemctl restart caddy
systemctl reload caddy

OK!

from deploy.

liuhuapiaoyuan avatar liuhuapiaoyuan commented on May 22, 2024

跪求

from deploy.

liuhuapiaoyuan avatar liuhuapiaoyuan commented on May 22, 2024

群主昨晚是不是熬夜还没起床~

from deploy.

xiaobaitingtao avatar xiaobaitingtao commented on May 22, 2024

当配置项public_share设置为时true,查看共享链接不需要登录。
请问,再哪里设置public_share?为啥我把key放进去了,不起作用?

from deploy.

Rainsheep avatar Rainsheep commented on May 22, 2024

吾皇配享太庙,已发 ip

from deploy.

lovesmily00 avatar lovesmily00 commented on May 22, 2024

请问linux服务器运行代码后license.jwt、config两个文件在哪配置,,纯小白,先感谢各位大神。。 @pandoradevin

from deploy.

jurieo avatar jurieo commented on May 22, 2024

请问linux服务器运行代码后license.jwt、config两个文件在哪配置,,纯小白,先感谢各位大神。。 @pandoradevin

解压就有,license.jwt自己建。

from deploy.

lovesmily00 avatar lovesmily00 commented on May 22, 2024

请问linux服务器运行代码后license.jwt、config两个文件在哪配置,,纯小白,先感谢各位大神。。 @pandoradevin

解压就有,license.jwt自己建。

感谢,我试一下,看看能不能弄明白。。

from deploy.

eskimo220 avatar eskimo220 commented on May 22, 2024

想在本地跑跑的话就没办法了是吧?

from deploy.

yfh667 avatar yfh667 commented on May 22, 2024

测试了下,docker compose测试完美。nginx和pandoranext均为docker版本写一下配置:
文件夹:
├── data
│   ├── config.json
│   └── tokens.json
└── docker-compose.yml

首先 config.json写法:

{
  "bind": "0.0.0.0:8181",
  "timeout": 600,
  "proxy_url": ""
}

注意,请留意这里的8181

tokens.json写法

{
  "test2": {
    "token": "fk-stsiadoah6HFJSAmowkt2iuR3rQvcpLpDwxQnmo9824",
    "password": "12345"
  }
}

你可以写多个token,注意语法

最后是yml文件


version: '3'

services:
  pandora-next:
    image: pengzhile/pandora-next
    container_name: PandoraNext
    network_mode: bridge
    restart: always
    environment:
      - PANDORA_NEXT_LICENSE=eyJhbGciO(需要dd始皇gg)
    volumes:
      - ./data:/data
    networks:
      - nginx_network

networks:
  nginx_network:
    external: true

这里我说明一下, nginx_network网络包含nginx,因为我不想让pandoranext暴露端口,所以我没设置port字段,但这个nginx_network你需要自己创建,然后让nginx也加入这个网络,至少当你运行
docker network inspect nginx_network
命令后有 "5ae90c7b2397d580ea71dfc98143a56b670d576f3953371234a6e16ca6a0e862": {
"Name": "nginx1(你的nginx容器)",
"EndpointID": "b0b32201d7cf909fda32bd235c767bbc422bfb1e953ef248a5b79bf4d3bd31bd",
"MacAddress": "02:52:ac:12:00:03",
"IPv4Address": "172.18.0.3/16",
"IPv6Address": ""
},
"a06fc0df70f6836a569bf826185f013bbf13e47c6b3214759ea4b22474f2fe7a": {
"Name": "PandoraNext",
"EndpointID": "66191a12ca4c5f49bf67fb3f2c816bc39415c76fa1ad20bc92cd94df0c98ff0f",
"MacAddress": "02:52:ac:12:00:04",
"IPv4Address": "172.18.0.4/16",
"IPv6Address": ""
},类似结果

至此,完成pandoranext部署,可以直接部署,但是由于没有暴露端口,你无法直接ip:8181访问,需要nginx反代,

#erver block
server {
    listen 80;
    server_name chat1.com(也就是你的域名);

    location / {
        return 301 https://$host$request_uri;
    }
}

# HTTPS server block
server {
    listen 443 ssl;
    server_name chat1.com(也就是你的域名);

    ssl_certificate /etc/nginx/cert/url.com.pem(你的证书);
    ssl_certificate_key /etc/nginx/cert/url.com.key(你的证书);
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;



    location / {
        proxy_pass http://PandoraNext:8181;  # 将请求代理到PandoraNext服务
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }



    # Uncomment if needed
    # location = /favicon.ico {
    #    log_not_found off;
    #    access_log off;
    # }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

这样就能在访问chat1.com的时候使用pandora了,而且没有暴露端口。
注意在nginx的8181,这个就是上面config的端口号,需要保持一致

from deploy.

glaw1984 avatar glaw1984 commented on May 22, 2024

测试了下,docker compose测试完美。nginx和pandoranext均为docker版本写一下配置: 文件夹: ├── data │   ├── config.json │   └── tokens.json └── docker-compose.yml

首先 config.json写法:

{
  "bind": "0.0.0.0:8181",
  "timeout": 600,
  "proxy_url": ""
}

注意,请留意这里的8181

tokens.json写法

{
  "test2": {
    "token": "fk-stsiadoah6HFJSAmowkt2iuR3rQvcpLpDwxQnmo9824",
    "password": "12345"
  }
}

你可以写多个token,注意语法

最后是yml文件


version: '3'

services:
  pandora-next:
    image: pengzhile/pandora-next
    container_name: PandoraNext
    network_mode: bridge
    restart: always
    environment:
      - PANDORA_NEXT_LICENSE=eyJhbGciO(需要dd始皇gg)
    volumes:
      - ./data:/data
    networks:
      - nginx_network

networks:
  nginx_network:
    external: true

这里我说明一下, nginx_network网络包含nginx,因为我不想让pandoranext暴露端口,所以我没设置port字段,但这个nginx_network你需要自己创建,然后让nginx也加入这个网络,至少当你运行 docker network inspect nginx_network 命令后有 "5ae90c7b2397d580ea71dfc98143a56b670d576f3953371234a6e16ca6a0e862": { "Name": "nginx1(你的nginx容器)", "EndpointID": "b0b32201d7cf909fda32bd235c767bbc422bfb1e953ef248a5b79bf4d3bd31bd", "MacAddress": "02:52:ac:12:00:03", "IPv4Address": "172.18.0.3/16", "IPv6Address": "" }, "a06fc0df70f6836a569bf826185f013bbf13e47c6b3214759ea4b22474f2fe7a": { "Name": "PandoraNext", "EndpointID": "66191a12ca4c5f49bf67fb3f2c816bc39415c76fa1ad20bc92cd94df0c98ff0f", "MacAddress": "02:52:ac:12:00:04", "IPv4Address": "172.18.0.4/16", "IPv6Address": "" },类似结果

至此,完成pandoranext部署,可以直接部署,但是由于没有暴露端口,你无法直接ip:8181访问,需要nginx反代,

#erver block
server {
    listen 80;
    server_name chat1.com(也就是你的域名);

    location / {
        return 301 https://$host$request_uri;
    }
}

# HTTPS server block
server {
    listen 443 ssl;
    server_name chat1.com(也就是你的域名);

    ssl_certificate /etc/nginx/cert/url.com.pem(你的证书);
    ssl_certificate_key /etc/nginx/cert/url.com.key(你的证书);
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;



    location / {
        proxy_pass http://PandoraNext:8181;  # 将请求代理到PandoraNext服务
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }



    # Uncomment if needed
    # location = /favicon.ico {
    #    log_not_found off;
    #    access_log off;
    # }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

这样就能在访问chat1.com的时候使用pandora了,而且没有暴露端口。 注意在nginx的8181,这个就是上面config的端口号,需要保持一致

老大,帮我看下这个是什么错误,如何解决?

image
image
image
image
image

from deploy.

Qinks6 avatar Qinks6 commented on May 22, 2024

一、准备工作 私信群主, 提供你的ip, 群主gen一个jwt字符串。 二、部署方式 ㈠部署方式一(较麻烦):

把jwt字符串放进 license.jwt 跟PandoraNext文件放在一个目录即可。全部文件上传至VPS。 修改config.json文件端口, 后端(screen)执行./pandoranext文件,然后nginx/caddy反代至config文件端口即可。 ㈡部署方式二(较简单):

1.将所有文件放到VPS下的/data/data文件夹下,若为docker-compose.yml放在/data下。 2.LINUX服务器: ⑴docker方式部署 docker pull pengzhile/pandora-next && docker run -d --restart always --name PandoraNext --net=bridge -p 8181:8181 -v /data/data:/data -e PANDORA_NEXT_LICENSE="jwt字符串" pengzhile/pandora-next

⑵docker-compose方式部署 sudo docker-compose down && sudo docker-compose pull && sudo docker-compose up -d && sudo docker-compose logs --tail=180

三、反代设置( 因caddy功能更强可自动生成证书等,推荐caddy): 1、cloudflare配置DNS ⑴添加A类型,名称chat,内容为IP地址,代理状态仅DNS,TTL自动→保存。 ⑵SSL/TLS设置加密模式为完全(严格),并设置边缘证书确保状态有效。 2、caddy配置

https://chat.域名 { reverse_proxy /* { to :8181 } } 3、重置配置(执行命令) systemctl restart caddy systemctl reload caddy

OK!

群是啥呀?

from deploy.

wozulong avatar wozulong commented on May 22, 2024

文档已完善。

from deploy.

tianzhen889 avatar tianzhen889 commented on May 22, 2024

群主是哪个呀,然后那个获取jwt-token的链接如果GitHub账号注册不足一年是拒绝访问的,怎么办

from deploy.

yfh667 avatar yfh667 commented on May 22, 2024

测试了下,docker compose测试完美。nginx和pandoranext均为docker版本写一下配置: 文件夹: ├── data │   ├── config.json │   └── tokens.json └── docker-compose.yml
首先 config.json写法:

{
  "bind": "0.0.0.0:8181",
  "timeout": 600,
  "proxy_url": ""
}

注意,请留意这里的8181
tokens.json写法

{
  "test2": {
    "token": "fk-stsiadoah6HFJSAmowkt2iuR3rQvcpLpDwxQnmo9824",
    "password": "12345"
  }
}

你可以写多个token,注意语法
最后是yml文件


version: '3'

services:
  pandora-next:
    image: pengzhile/pandora-next
    container_name: PandoraNext
    network_mode: bridge
    restart: always
    environment:
      - PANDORA_NEXT_LICENSE=eyJhbGciO(需要dd始皇gg)
    volumes:
      - ./data:/data
    networks:
      - nginx_network

networks:
  nginx_network:
    external: true

这里我说明一下, nginx_network网络包含nginx,因为我不想让pandoranext暴露端口,所以我没设置port字段,但这个nginx_network你需要自己创建,然后让nginx也加入这个网络,至少当你运行 docker network inspect nginx_network 命令后有 "5ae90c7b2397d580ea71dfc98143a56b670d576f3953371234a6e16ca6a0e862": { "Name": "nginx1(你的nginx容器)", "EndpointID": "b0b32201d7cf909fda32bd235c767bbc422bfb1e953ef248a5b79bf4d3bd31bd", "MacAddress": "02:52:ac:12:00:03", "IPv4Address": "172.18.0.3/16", "IPv6Address": "" }, "a06fc0df70f6836a569bf826185f013bbf13e47c6b3214759ea4b22474f2fe7a": { "Name": "PandoraNext", "EndpointID": "66191a12ca4c5f49bf67fb3f2c816bc39415c76fa1ad20bc92cd94df0c98ff0f", "MacAddress": "02:52:ac:12:00:04", "IPv4Address": "172.18.0.4/16", "IPv6Address": "" },类似结果
至此,完成pandoranext部署,可以直接部署,但是由于没有暴露端口,你无法直接ip:8181访问,需要nginx反代,

#erver block
server {
    listen 80;
    server_name chat1.com(也就是你的域名);

    location / {
        return 301 https://$host$request_uri;
    }
}

# HTTPS server block
server {
    listen 443 ssl;
    server_name chat1.com(也就是你的域名);

    ssl_certificate /etc/nginx/cert/url.com.pem(你的证书);
    ssl_certificate_key /etc/nginx/cert/url.com.key(你的证书);
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;



    location / {
        proxy_pass http://PandoraNext:8181;  # 将请求代理到PandoraNext服务
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }



    # Uncomment if needed
    # location = /favicon.ico {
    #    log_not_found off;
    #    access_log off;
    # }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

这样就能在访问chat1.com的时候使用pandora了,而且没有暴露端口。 注意在nginx的8181,这个就是上面config的端口号,需要保持一致

老大,帮我看下这个是什么错误,如何解决?

image image image image image

  1. 我没设置site password,因此我不知道这个怎么搞,如果你要实现我的效果,你先把所有配置弄得跟我一样,先跑起来再说,后面再一点点调试
  2. 尝试使用token登陆,
  3. 如果按照我的部署,输入的账号密码是自定义的,而不是你的真实openai 账号
  4. 先完成第1步,再完成第2步,关于第3步,自建的意义在于,分享账号给他人用时,无需暴露token和openai的账号密码。只需要你自己弄一个自定义的账号密码,pandoranext自动的将自定义账密映射到token(从你openai账号获取的),至于演示站的账号密码登陆,如果你打算用账号密码登陆,我建议不需要自建

from deploy.

yuejunzhang avatar yuejunzhang commented on May 22, 2024

cloudflare配置DNS
⑴添加A类型,名称chat,内容为IP地址,代理状态仅DNS,--------->为什么不打开CDN?

from deploy.

LYsunshine123 avatar LYsunshine123 commented on May 22, 2024

1
有没有大佬知道怎么运行这个,我配置了config文件和token文件,什么命令跑这程序

from deploy.

cryboy007 avatar cryboy007 commented on May 22, 2024

proxy模式如何使用

from deploy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.