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 的部署建议 以了解最佳选择)。
该角色还假设您使用的目标是基于 Debian 的 Linux 发行版,并使用 systemd。此外,由于 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
:商店将使用/接受的令牌地址列表(以十六进制字符串表示)。 (默认: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
拥有者