帮助在Hetzner上配置Proxmox。接管Hetzner installimage停止的地方

proxmox-hetzner-autoconfigure的Python项目详细描述


关于这个项目

这是一个基于命令行dialog的工具,用于帮助配置Hetzner专用服务器上新安装的Proxmox主机节点。在

该应用程序将询问您一系列问题,以确定您希望如何设置服务器,并输出一个整洁、有良好文档记录的boostrap.sh脚本,您可以在Proxmox主机上执行,以配置网络、存储和TLS等功能。在

此项目将帮助配置的内容以及它们是否已实施:

  • [x] 设置网络
    • [x] 已购买附加子网的路由拓扑
    • [x] 已购买单独IP的路由拓扑
    • []已购买附加子网的桥接拓扑
    • []已购买单独IP的桥接拓扑
    • []单IP(端口转发,SNI)
  • [x] 带LetsEncrypt/ACME的TLS
  • [x] 安装Hetzner存储箱
  • [x] 设置LMV Thin
  • []DNS和DHCP(DNSMasq)
  • []线护

希望这个脚本能节省一些人的时间。我将尝试更新它,因为我学会了用Proxmox做事情的新的更好的方法。在

Screenshot

入门

要在本地安装二进制文件,请执行以下步骤:

先决条件

在搜索路径中需要一个类似dialog的程序。 这在大多数Linux操作系统上都可以通过本机包管理器使用,而在MacOS上则可以通过brew获得。 Windows用户可能会遇到更多的麻烦,尽管通过WSL或VM运行可以工作。在

如果尚未安装Python 3.6 or above和pip,则还需要它们。在

例如,在Debian上:

$ apt install dialog python3-pip

安装

  1. 使用python3版本的pip安装包。在
^{pr2}$

使用

$ proxmox_hetzner_autoconfigure

然后按照说明操作。应用程序不需要以root用户身份运行,并且不会对系统进行任何更改。它也不需要在Proxmox主机节点上运行。最好在本地运行它,而不是用不必要的依赖关系污染主机节点。在

它将使用久负盛名的dialog应用程序询问您一系列问题,以确定您希望如何设置Proxmox系统,然后输出一个可以在Proxmox主机节点上运行的简单shell(Bash)脚本boostrap.sh。在

bootstrap.sh没有依赖项,可以很容易地添加到源代码管理中,以记录系统设置和灾难恢复场景。在

开发设置

$ git clone https://github.com/johnknott/proxmox-hetzner-autoconfigure.git
  • 从项目目录中,使用poetry获取依赖项。在
$ poetry install
  • 在项目目录中,使用poetry运行应用程序。在
$ poetry run main
  • 在项目目录中,使用poetry运行测试套件。在
$ poetry run pytest

路线图

请参阅open issues以获取建议的特性(和已知问题)的列表。在

贡献

贡献使开源社区成为一个值得学习、启发和创造的地方。您所做的任何贡献都将受到的高度赞赏。在

  1. 把项目分成两半
  2. 创建要素分支(git checkout -b feature/AmazingFeature
  3. 提交更改(git commit -m 'Add some AmazingFeature'
  4. 推到分支(git push origin feature/AmazingFeature
  5. 打开拉取请求

许可证

根据麻省理工学院的许可证分发。有关详细信息,请参见LICENSE。在

联系人

约翰·诺特-@johndknott-john.knott@gmail.com

项目链接:https://github.com/johnknott/proxmox-hetzner-autoconfigure

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何生成格式化文件。xml文件?   java向Vaadin布局添加模糊侦听器   Java中的默认构造函数内容   java Eclipse错误:“无法找到jre7的可执行文件”   Java8,如何使用流实现switch语句?   java在CDH4示例上运行map reduce作业   java在servlet中获取文件名   如何禁止在所有浏览器中加载脚本“Selenium Java”   java Play框架和gradle   如果DifferencedName有引号,java无法从组中获取成员   java如何在使用链表实现的堆栈中实现pop操作?   java如何在网络视图中全屏制作YouTube视频?   如何在java中为分配的时间或固定的时间执行循环   java如何使用Android SDK在onCreate语句中动态更改活动的背景颜色?   java如何理解客户端没有来自IBM MQ的消息的原因?   java使用表查找用户最多出现的字母   java中的数组多维数据结构   java如何将一个值设置为一个类中的变量,并从另一个类中获取该变量的值?   java在创建新AVD后无法运行Android应用程序   java使用广度优先搜索算法存储迷宫求解路径