dokku で node アプリ (express js を使用) をデプロイしています。私のアプリは、2 つの異なるポートをリッスンする 2 つの高速 js アプリで構成されています。1 つはメイン アプリで、もう 1 つはkueの Web インターフェイスです。ノード js の単純なジョブ キューです。アプリを展開するとき、これらのアプリの両方を実行し、ポート 80 でメイン アプリにアクセスし、別のポート (エクスプレス アプリがリッスンするポートが望ましい) で kue アプリにアクセスする必要があります。
これらのアプリの両方を次のように Procfile に配置しました。
web: server=thats-wow NODE_ENV=production node server/app.js
worker: node server/kueUi.js
procfile の複数のプロセスは dokku-supervisord プラグインによって処理されます: https://github.com/statianzo/dokku-supervisord (すべてのプロセス タイプをサポートします: web、worker など)。
2 番目のアプリのプロセス タイプに「web」と「worker」の両方を試しました。
問題
デプロイ時に、Dokku は procfile で指定された最後のアプリ (この場合は kueUi) をポート 80 経由でアクセスできるようにするだけで、最初に指定されたアプリにアクセスする方法はないようです。最初のアプリがリッスンするポート経由でアクセスしようとしましたが、うまくいきません。
特定のポートのリクエストを、アプリがリッスンするdockerコンテナーのそのポートに転送するには、nginx構成が必要だと思います。
私はそれが必要な方法
1. http://example.com - reaches my main app
2. http://example.com:5000 - reaches the second app (Kue UI)
これを達成する方法に関するドキュメントが見つかりませんでした。どんな助けでも大歓迎です!