#setup #server #applications #deployment #system #update #security

bin+lib serverforge

ServerForge - 一款强大的服务器配置和维护工具

4 个版本

0.1.3 2024年6月25日
0.1.2 2024年6月25日
0.1.1 2024年6月24日
0.1.0 2024年6月24日

#763 in 开发工具

MIT 许可证

95KB
1.5K SLoC

ServerForge

ServerForge 是一款由 Rust 编写的强大、可定制的服务器配置和维护工具。它旨在自动化跨多个 Linux 发行版配置和部署服务器的过程,支持容器化和高级安全功能。

功能

  • 多发行版支持(Ubuntu、CentOS、Fedora)
  • 模块化架构,易于定制和扩展
  • 支持容器化,包括 Docker 和 Kubernetes 选项
  • 实施高级安全措施
  • 自动系统更新配置
  • 使用 Prometheus 和 Grafana 进行监控设置
  • 备份系统配置
  • 应用部署(传统和容器化)
  • 所有主要操作均支持回滚功能

先决条件

  • 目标系统上的 root 权限(适用于 Linux 和 macOS)
  • 管理员权限(适用于 Windows)

安装

Linux

Ubuntu/Debian

# Add our repository
echo "deb [trusted=yes] https://apt.fury.io/doziestar/ /" | sudo tee /etc/apt/sources.list.d/doziestar.list
# Update package list
sudo apt update
# Install ServerForge
sudo apt install serverforge

更新

sudo apt update
sudo apt upgrade serverforge

CentOS/RHEL

# Add our repository
sudo yum-config-manager --add-repo https://yum.fury.io/doziestar/
# Install ServerForge
sudo yum install serverforge

更新

sudo yum update serverforge

Fedora

# Add our repository
sudo dnf config-manager --add-repo https://yum.fury.io/doziestar/
# Install ServerForge
sudo dnf install serverforge

更新

sudo dnf update serverforge

手动安装(所有平台)

您也可以使用我们的安装脚本安装 ServerForge

curl -sSL https://raw.githubusercontent.com/doziestar/server_forge/main/install.sh | bash

此脚本将检测您的操作系统和架构,并安装合适的 ServerForge 版本。

用法

以适当的权限运行 ServerForge

在 Linux/macOS 上

sudo serverforge

按照交互式提示配置您的服务器。ServerForge 将要求您提供如下信息:

  • Linux 发行版(适用于 Linux 安装)
  • 服务器角色
  • 安全级别
  • 监控偏好
  • 备份频率
  • 更新计划
  • 容器化偏好
  • 要部署的应用程序

模块

ServerForge 由以下模块组成

  • main.rs: 应用程序的入口点,负责设置流程。
  • config.rs: 定义服务器设置的配置结构。
  • utils.rs: 包含应用程序中使用的实用函数。
  • setup.rs: 处理初始系统设置和基本软件包安装。
  • security.rs: 实施安全措施并配置安全工具。
  • updates.rs: 设置自动系统更新。
  • monitoring.rs: 配置监控工具,如 Prometheus 和 Grafana。
  • backup.rs: 设置备份系统。
  • deployment.rs:处理传统应用部署。
  • containerization.rs:管理Docker和Kubernetes设置及容器部署。
  • rollback.rs:为所有主要操作提供回滚功能。
  • distro.rs:处理特定发行版的操作和包管理。

定制化

ServerForge设计为易于定制。要添加或修改功能

  1. 找到相关模块文件(例如,用于安全功能的security.rs)。
  2. 根据需要添加或修改函数。
  3. 如果添加了新的高级功能,请更新main.rs文件。

文档

ServerForge使用Rustdoc进行文档编写。要生成文档:[文档](https://crates.io/crates/serverforge)

贡献

欢迎为ServerForge做出贡献!请按照以下步骤操作

  1. 复制仓库。
  2. 为您的功能或错误修复创建一个新分支。
  3. 编写您的代码和测试。
  4. 提交一个带有对您的更改的清晰描述的pull request。

许可

ServerForge在MIT许可下发布。有关详细信息,请参阅LICENSE文件。

免责声明

ServerForge是一个强大的工具,可以对您的系统进行重大更改。请首先在测试环境中使用它,并在将其部署到生产服务器之前确保您有备份。

支持

对于错误报告和功能请求,请在该GitHub仓库中打开一个问题。

致谢

ServerForge受到在Rust生态系统中对灵活、跨发行版服务器设置工具需求的启发。特别感谢Rust社区和在此项目中使用的库的开发者。

依赖

~6–15MB
~211K SLoC