我在 Debian 12 VPS 上完成这一切。
我尝试先安装 Easypanel,然后安装 BTCPayServer,但 BTCPayServer 根本没有安装,给我一个错误:
ERROR: for nginx: Bind for 0.0.0.0:443 failed: port is already allocated
现在我走了相反的路,先安装了BTCPayServer,然后再安装了EasyPanel。
现在它正在发挥作用。
但我无法访问Next.js
正在运行的应用程序easypanel
。easypanel.mysite.com
由于某种原因,我什至无法设置启用的自定义 URL 。
我认为这是由于 BTCPayServer 使用的 Nginx 或 EasyPanel 使用的 Traefik 造成的。
503 Service Temporarily Unavailable
目前,当我尝试打开在 EasyPanel 上安装的 Next.js 应用程序时,出现此问题。
我该如何解决这个问题?
Easypanel 有一个关于此的文档。所以我在以下人员的帮助下做了它所说的困惑:
/etc/easypanel/traefik/config/custom.yaml
# Enable debug logs
log:
level: DEBUG
# Define the entry points
entryPoints:
web:
address: ":80"
websecure:
address: ":443"
# Enable and configure Let's Encrypt
certificatesResolvers:
myresolver:
acme:
email: "[email protected]"
storage: "/etc/traefik/acme/acme.json"
httpChallenge:
entryPoint: "web"
# Configure the API
api:
insecure: true
dashboard: true
# Define the global configuration
global:
checkNewVersion: true
sendAnonymousUsage: true
# Configure access to Docker
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
# Configure the entry points for the services
http:
routers:
btcpayserver-router:
rule: "Host(`btcpay.mysite.com`)"
service: "btcpayserver-service"
entryPoints:
- "websecure"
easypanel-router:
rule: "Host(`easypanel.mysite.com`)"
service: "easypanel-service"
entryPoints:
- "websecure"
services:
btcpayserver-service:
loadBalancer:
servers:
- url: "http://btcpayserver-docker:80"
easypanel-service:
loadBalancer:
servers:
- url: "http://easypanel:80"
但我不知道http://btcpayserver-docker:80
应该用什么来代替。
当我跑步时,docker ps --format "table {{.ID}}\t{{.Names}}"
我得到了这个:
CONTAINER ID NAMES
969e4c50ec21 easypanel.1.vzayltvbta10oaqc3wpnztkq2
37e61e15eab5 sinister-kings_nextjs-app.1.lym2ck5oa18gdtfr3lcirz9rf
7999d7177605 letsencrypt-nginx-proxy-companion
24691446a0bd nginx-gen
d295cc6dbcd3 btcpayserver_monero_wallet
9f2ed203c36d generated_nbxplorer_1
b9b8b4463c3d btcpayserver_bitcoind
f6337df09401 generated_btcpayserver_1
696ff12c318d tor-gen
aa89e0b619b2 generated_postgres_1
fe8d006707dd nginx
11cf23a5363d btcpayserver_monerod
f7d42ade4300 tor
btcpayserver
我应该在自定义 traefik 配置中使用哪一个?这个配置就是我所需要的吗?
我知道我必须使用反向代理并让其中一个端口通过其他端口,但我对如何使其工作感到困惑?
答案1
快速浏览一下您发布的说明,btcpayserver
假设它是唯一正在运行的 Web 服务,并且默认使用会与 EasyPanel 冲突的端口(即 80、443、8080),这也假设它是唯一的 Web 服务在服务器上运行。由于这些假设,您无法使用这两种服务的默认设置,并且需要“入门”文档中未包含的其他配置才能协同工作。
我的第一个建议是btcpayserver
使用 EasyPanel 安装,因为它只是 Docker 镜像的集合,但btcpayserver
设计的方式可能并不那么容易。也许可以向开发人员提交请求,btcpayserver
看看他们是否会添加 EasyPanel 安装选项,或者您可以自己开发它并为该项目做出贡献。
我能想到的另一个选择是调整 EasyPanel 的所有配置端口或btcpayserver
使其不相互冲突。具备一些基本的 Docker 网络知识应该是可行的。如果没有这两种服务的经验,我无法评论这项任务有多么困难。
我想到的最后一个选择(可能也是最简单的选择)是在两个单独的服务器上运行这两个服务。您还可以使用虚拟化来实现相同的结果。