像打理农场一样
打理你的服务器

waf.farm 是基于 Caddy 的宿主机多站点管理系统:自动 HTTPS、原生 Go WAF、站点草稿与回滚、PHP 多版本、Node.js / Go / Python 项目、Docker、数据库与 DNS 解析,一条命令播种,开箱即收获。

$ 快速安装 — DEBIAN / UBUNTU
curl -fsSL https://raw.githubusercontent.com/popcorn-25/waf.farm/main/scripts/install.sh -o install.sh \ && sh install.sh
查看详细步骤

Debian 12/13 · Ubuntu 22.04/24.04 · 需要 systemd · 占用 80 / 443 / 面板端口(默认 18081)

🌾 一块地,种下所有服务

网站、证书、安全、运行时、数据——都在同一块面板里耕耘

🌐多站点管理

反向代理站点集中管理,支持站点草稿、结构化路由、版本回滚,改错了随时回到上一季。

🔒自动 HTTPS

Caddy 自动申请与续期证书,ACME 与 DNS-01 验证开箱即用,证书到期有人替你看着。

🛡️原生 Go WAF

定制 Caddy 内置 WAF 与限流模块:规则、模板、封禁、学习模式与安全报告,不靠第三方插件。

🐘PHP 多版本

本机 PHP-FPM 多版本共存,一键切换、模块管理,老项目和新项目各得其所。

📦Node.js / Go 项目

宿主机项目与 Docker 项目统一管理:运行用户隔离、资源限制、端口冲突自动检查。

🐳Docker

容器、镜像、Compose、仓库全套管理,部署应用不用再切到命令行。

🗄️数据库

MySQL / MariaDB / PostgreSQL / Redis:实例、账号、备份,一处管完。

🌍DNS 解析

Cloudflare、阿里云、腾讯云、Spaceship 等多家服务商:域名与解析记录服务端分页,根记录统一显示为 @。

💾备份与存储

定时备份、本地与远端存储目标、自动清理策略,收成按时归仓。

🚜 进仓看看

面板长这样(示意):深林侧栏 + 干草纸卡片,亮 / 暗 / 农场三种风格一键切换

 waf.farm · 我的农场服务器
🌐 网站
🔒 证书
🛡️ 防火墙
📦 项目
🐳 Docker
🗄️ 数据库
站点状态证书
example.com运行中自动续期
shop.example.com运行中自动续期
old.example.com草稿未发布

🌱 三步播种

不需要 Git、Go、Node.js,朋友的服务器也能装

下载安装脚本

只需要 curl,一条命令:

curl -fsSL https://raw.githubusercontent.com/popcorn-25/waf.farm/main/scripts/install.sh -o install.sh

运行并按菜单选

首次安装会交互式设置目录、端口与管理员账号:

sh install.sh

打开面板

默认端口 18081,浏览器访问:

http://服务器IP:18081
# 更新到最新版(菜单里选“更新面板”,或非交互):
sh install.sh update

# 服务管理:
systemctl status caddy waf-farm waf-farm-agent
systemctl restart caddy waf-farm
journalctl -u waf-farm -f

❓ 田间问答

先看这里,省一次翻文档

需要哪些端口?

TCP 80、TCP/UDP 443 给网站用,面板端口默认 18081(安装时可改,不能用 Caddy 与日志服务保留的 80、443、2020)。

更新会丢数据吗?

不会。更新前校验发行包,失败自动回滚旧程序;数据库、网站、项目与 Caddy 数据目录始终保留。

卸载干不干净?

默认保留网站、项目、证书与配置;加 --purge 才会删除面板配置与数据库,适合彻底换地。

装在哪?

默认全部位于 /home/waf-farm(二进制、Caddy、配置、数据库、网站、项目、运行时),systemd 单元在 /etc/systemd/system,除此之外不写别处。

国内服务器下载慢?

安装菜单里有“更换系统软件源”,一键切清华源 / 官方源,改前自动备份。