EasyPanelとBTCPayServerでnginx / traefikを使用するときに503サービスを一時的に使用できませんか?

EasyPanelとBTCPayServerでnginx / traefikを使用するときに503サービスを一時的に使用できませんか?

私はDebian 12 VPSでこれをすべてやっています。

  • 私はインストールできます簡単パネルSSLが有効な状態で動作するようにします。

  • 私はインストールできますビットコイン決済サーバー単独で使用このガイドBTC/XMR が正しく動作するようにしてください。

  • ただし、同じVPSで同時に作業することはできません。

Easypanelを最初にインストールしてからBTCPayServerをインストールしようとしましたが、BTCPayServerがまったくインストールされず、エラーが発生しました。

ERROR: for nginx: Bind for 0.0.0.0:443 failed: port is already allocated

これで、反対方向にBTCPayServerを最初にインストールしてから、EasyPanelをインストールしました。

今動作します。

Next.jsただし、実行中のアプリケーションにアクセスできませんeasypaneleasypanel.mysite.com何らかの理由で有効なカスタムURLを設定することもできません。

BTCPayServerで使用するNginxやEasyPanelで使用するTraefikのためのようです。

503 Service Temporarily Unavailable現在、この問題は、EasyPanelにインストールされているNext.jsアプリケーションを開こうとしたときに発生します。

この問題をどのように解決できますか?

イージーパネルこれに関する文書。だから私は何をするのか分からない:

/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つが別のポートを通過する必要があることを知っていますが、それを機能させる方法は混乱しています。

答え1

公開したガイドラインを簡単に見てみると、これがbtcpayserver実行中の唯一のWebサービスであると仮定し、デフォルトでEasyPanelと競合するポート(80、443、8080など)を使用し、サーバー上で実行されている唯一のWebサービスであると仮定します。これらの前提により、両方のサービスに対してデフォルト設定が使用できなくなり、連携するには、「スタートアップガイド」に含まれていない追加の構成が必要です。

最初の提案は、btcpayserverEasyPanelインストールを使用することです。これはDockerイメージのコレクションに過ぎませんが、btcpayserverデザインはそれほど簡単ではありません。開発者にプルリクエストを送信して、btcpayserverEasyPanelインストールオプションを追加しているかどうかを確認するか、自分で開発してプロジェクトに貢献することもできます。

私が考えることができるもう1つのオプションは、EasyPanelのすべての設定ポートを調整したり、互いにbtcpayserver競合しないようにすることです。いくつかの基本的なDockerネットワーキングの知識が必要です。両方のサービスの経験がないと、この作業がどれほど難しかったかを説明できません。

心に浮かぶ最後のオプション(おそらく最も簡単なオプション)は、2つの別々のサーバーで2つのサービスを実行することです。仮想化を使用して同じ結果を得ることもできます。

関連情報