mushroomlabs.hub20

Hub20

この役割は、すべてのバックグラウンドジョブを含む Hub20 のインスタンスをセットアップするために必要なすべてを提供します。

要件

この役割は、以下の Hub20 サービスのインストールとセットアップのみを担当します:

  • API: REST API(Django アプリケーション、Uvicorn によって提供される)
  • web3 イベントのリスニング: 関連する web3 イベント(例:私たちのサービスが保有するアカウントへの ETH/ERC20 転送、Raiden チャンネルの開閉、ユーザーが定義するその他のイベント)をリスンするバックグラウンドジョブ
  • Raiden 同期: Raiden インスタンスからすべてのイベントを収集し処理するバックグラウンドジョブ
  • 保留中の支払いを追跡: Hub20 内部ウォレットのいずれかのアカウントをターゲットとした保留中のトランザクションをチェックするバックグラウンドジョブ

この役割は、Hub20 が依存しているサービス(PostgreSQL や Redis)のセットアップを提供しません。また、Uvicorn の前に置くべき Web サーバー(静的メディアを提供するなど)も提供しません。このサービスは、Web サーバーまたは負荷分散システムの後ろで実行されることを意図しています(Uvicorn のデプロイメントのヒントを確認して、最良のオプションを理解してください)。

この役割は、systemd を使用する Debian ベースの Linux ディストリビューションをターゲットにしていると想定しています。また、Hub20 が Python >= 3.7 に依存しているため、最新のディストリビューションを使用する必要があります。そうでない場合、ターゲットプラットフォームに最新の Python をインストールするためのタスクをプレイブックに追加する必要があります。

役割の変数

  • hub20_application_host: (デフォルト 127.0.0.1)
  • hub20_application_port: (デフォルト 5000)
  • hub20_blockchain_network_id: (デフォルト 1)
  • hub20_blockchain_starting_block: (デフォルト 9500000)
  • hub20_database_host: (デフォルト localhost)
  • hub20_database_name: (デフォルト hub20)
  • hub20_database_user: (デフォルト hub20)
  • hub20_database_port: (デフォルト 5432)
  • hub20_environment_file_path: (デフォルト /etc/hub20)
  • hub20_email_backend: (デフォルト django.core.mail.backends.console.EmailBackend)
  • hub20_email_sender_address: (デフォルト noreply@hub20.example.com)
  • hub20_pip_package_name: (デフォルト hub20)
  • hub20_pip_package_state: (デフォルト latest)
  • hub20_redis_host: (デフォルト localhost)
  • hub20_redis_port: (デフォルト 6379)
  • hub20_redis_celery_database: (デフォルト 0)
  • hub20_redis_cache_database: (デフォルト 1)
  • hub20_run_debug_mode: (デフォルト false)
  • hub20_run_python_version: (デフォルト python3.7)
  • hub20_service_web3_event_listener_enabled: (デフォルト true)
  • hub20_service_raiden_sync_enabled: (デフォルト true)
  • hub20_service_web_enabled: (デフォルト true)
  • hub20_user_name: (デフォルト hub20)
  • hub20_user_home_path: (デフォルト /srv/hub20)
  • hub20_web3_provider_uri: (デフォルト http://localhost:8545)
  • hub20_tracked_tokens: ストアで通貨として使用/受け入れられるトークンアドレスのリスト(16進数の文字列)。 (デフォルト: ETH、WETH、DAI および RDN のアドレス)
  • hub20_application_static_folder_path: (デフォルト /srv/hub20/static_)
  • hub20_broker_url: (デフォルト redis://localhost:6379/0)
  • hub20_cache_url: (デフォルト redis://localhost:6379/1)
  • hub20_run_virtualenv_path: (デフォルト /srv/hub20/.venv)

以下の変数は定義する必要があり、機密情報と見なされるべきです:

  • hub20_database_password: データベースに接続するためのパスワード。
  • hub20_service_secret_key: hub20 Web アプリケーションのセッション管理、CSRF トークン生成などに使用される秘密鍵。

例プレイブック

- hosts: hub20_servers
  roles:
     - role: geerlingguy.nginx   # フロントプロキシに nginx を使用
     - role: lullis.certbot-nginx  # Let's Encrypt から SSL 証明書を取得し、nginx で提供
     - role: mushroomlabs.hub20

ライセンス

MIT

著者情報

Raphael Lullis (raphael@mushroomlabs.com)

プロジェクトについて

Installs and sets up all hub20 services in any Debian-based linux distro

インストール
ansible-galaxy install mushroomlabs.hub20
ライセンス
mit
ダウンロード
92
所有者