aptlogica/sereni-base

GitHub: aptlogica/sereni-base

SereniBase是一个开源自托管后端平台,通过集成数据库、API、认证、存储和安全服务,解决数据主权和后端开发复杂度问题。

Stars: 65 | Forks: 10

# SereniBase ### 开源自托管后端平台 — PostgreSQL + 自动 REST API + JWT + 存储 + ClamAV 一个基于 PostgreSQL 构建的、生产就绪的自托管后端平台。您创建的每个表都会自动生成带文档的 REST API。JWT 身份验证、具有 ClamAV 恶意软件扫描的 S3/MinIO 文件存储,以及 SMTP 邮件投递作为独立的微服务运行 — 可通过单个 `docker-compose up` 一起部署,或根据需要单独部署。采用 Apache License 2.0 许可。完全的数据主权。

Go React PostgreSQL Gin Docker MinIO ClamAV Swagger ## 🚀 在线演示 ![SereniBase 演示](https://assets.aptlogica.com/sereni-base-demo.gif) 在线演示 **尝试在线演示:** [https://demo.serenibase.com/login](https://demo.serenibase.com/login)
_查看 SereniBase 的实际运行效果,所有功能均已启用。_ ### 默认登录凭据 ⭐ **如果这个项目对您有帮助,请考虑给它一个星标!** 👉 https://github.com/aptlogica/sereni-base ## 🚀 什么是 [SereniBase](https://www.aptlogica.com/sereni-base/)? 一个后端操作系统。而非另一个工具。 开发者无需再拼接独立的服务,他们得到的是一个统一的后端,其中数据库、API、身份验证、存储、邮件和安全功能已被设计为协同工作。 - 创建一个表 → 得到一个 REST API。即时生效。无需编写代码。 - JWT 身份验证、S3 存储、SMTP 邮件、ClamAV 扫描 — 全部作为微服务运行。 - 通过 REST API 或 TypeScript SDK 与您现有系统无缝集成。 - 团队可使用可视化 UI + 开发者可使用 TypeScript SDK。 - 可自托管或支持云端。完全的数据主权。零供应商锁定。 ![SereniBase 演示](https://assets.aptlogica.com/exploreAPI.jpg) ![SereniBase 演示](https://assets.aptlogica.com/APIcurl.jpg) ## 🔥 为什么选择 SereniBase? 大多数无代码工具在…失效之前都能工作。 | 问题 | SereniBase 解决方案 | |--------|-------------------| | 供应商锁定 | ✅ 自托管 | | 可扩展性有限 | ✅ 开源 & 模块化 | | 扩展成本高昂 | ✅ 基于基础设施的定价 | | 隐私顾虑 | ✅ 完全的数据所有权 | | 没有内置的文件安全 | ✅ ClamAV 在存储前对每个上传文件进行病毒扫描 | | 需要单独的邮件服务 | ✅ 包含带有 Redis 队列和重试机制的 SMTP 微服务 | | 拼接互不关联的工具 | ✅ 数据库 + API + 身份验证 + 存储 + 邮件 + 安全 — 一个技术栈 | ## ⚡ 主要功能 - 🗄️ 无代码 + 开发者友好 - 🔌 REST API (OpenAPI/Swagger) - 🧩 微服务架构 - 🏢 多租户工作区 - ⚡ 动态 Schema(无迁移) - 🔐 企业级安全(RBAC,审计日志) ## 服务架构 | 服务 | 描述 | 端口 | |---------|-------------|------| | **sereni-base** | 核心 REST API 服务器 | 8080 | | **PostgreSQL** | 主数据库 | 5432 | | **JWT Provider** | 身份验证服务 | 8081 | | **Email Service** | SMTP 邮件通知 | 8082 | | **Storage Provider** | 文件存储 (MinIO/S3) | 8083 | | **Antivirus Service** | ClamAV 恶意软件扫描 | 8084 | | **MinIO** | 对象存储 | 9000/9001 | | **Base UI** | 前端应用 | 5050 | ## 快速开始 ### 前置条件 | 需求 | 版本 | 安装 | |-------------|---------|--------------| | **Docker** | 20.10+ | [安装 Docker](https://docs.docker.com/get-docker/) | | **Docker Compose** | 2.0+ | [安装 Compose](https://docs.docker.com/compose/install/) | | **Git** | 最新版 | [安装 Git](https://git-scm.com/downloads) | | **Make** | 最新版 | Windows: `choco install make` | | **SMTP 访问** | - | Gmail, SendGrid, Mailgun 或自定义 SMTP | ### 安装 ``` # 第一步:克隆 repository git clone https://github.com/aptlogica/sereni-base.git cd sereni-base # 第二步:运行交互式设置向导 make setup # 替代方案(不使用 Make): # Windows:.\setup-interactive.ps1 # Linux/macOS:./setup-interactive.sh ``` 安装向导将会: - 提示输入配置(按回车使用默认值) - 生成 `.env` 文件 - 通过 Docker Compose 启动所有服务 ### 访问入口 | 服务 | URL | |---------|-----| | 前端 | `http://localhost:5050` | | 后端 API | `http://localhost:8080` | | API 文档 | `http://localhost:8080/swagger/index.html` | | MinIO 控制台 | `http://localhost:9001` | ### 默认登录 默认凭据通过环境变量配置。请参阅 `.env.example` 进行设置。 ## 命令参考 | 命令 | 描述 | |---------|-------------| | `make setup` | 运行交互式安装向导 | | `make setup-y` | 使用默认值运行安装(非交互式) | | `make up` | 启动所有服务 | | `make down` | 停止服务(保留数据) | | `make down-all` | 停止服务并移除卷 | | `make logs` | 查看服务日志 | | `make restart` | 重启所有服务 | | `make ps` | 显示正在运行的服务 | | `make status` | 显示详细服务状态 | | `make clean` | 移除容器(保留数据) | | `make clean-all` | 完全清理(容器 + 卷 + 镜像) | ## 文档 | 文档 | 描述 | |----------|-------------| | [完整安装指南](build/SETUP_COMPLETE_GUIDE.md) | 全面的新手指南 | | [安装参考](build/SETUP.md) | 快速参考安装指南 | | [交互式安装](INTERACTIVE_SETUP_README.md) | 安装向导文档 | | [环境变量](docs/ENVIRONMENT_VARIABLES.md) | 配置参考 | ## 安全 请参阅 [SECURITY.md](SECURITY.md) 报告漏洞。 ## 贡献 我们欢迎贡献!详情请参阅我们的贡献指南。 ## 生态系统 SereniBase 是一个完整后端平台的核心。所有模块都是开源的,可以独立使用或组合使用: | 模块 | 用途 | 许可证 | |--------|---------|---------| | [sereni-jwt-provider](https://github.com/aptlogica/sereni-jwt-provider) | JWT 身份验证微服务 | Apache 2.0 | | [sereni-storage-provider](https://github.com/aptlogica/sereni-storage-provider) | S3/MinIO/本地存储 | Apache 2.0 | | [sereni-email-smtp](https://github.com/aptlogica/sereni-email-smtp) | SMTP 邮件 + Redis 队列 | Apache 2.0 | | [sereni-antivirus-clamav](https://github.com/aptlogica/sereni-antivirus-clamav) | ClamAV 文件扫描 | Apache 2.0 | | [go-postgres-rest](https://github.com/aptlogica/go-postgres-rest) | PostgreSQL REST API 库 | Apache 2.0 | | [base-sdk](https://github.com/aptlogica/base-sdk) | TypeScript SDK | Apache 2.0 | | [base-ui](https://github.com/aptlogica/base-ui) | React 前端 | MIT | ## 许可证 依据 Apache License, Version 2.0 许可。版权所有 2026-2030 Aptlogica Technologies Pvt Ltd。

标签:API文档, API管理, ClamAV防病毒, Docker容器化, EVTX分析, Gin框架, Go语言, JWT认证, MinIO对象存储, PostgreSQL数据库, React前端, REST API生成, Swagger文档, 全栈平台, 后端即服务, 存储服务, 安全后端, 容器化部署, 开源平台, 微服务架构, 恶意软件扫描, 数据主权, 数据库管理, 文件存储, 文件安全, 日志审计, 测试用例, 生产环境就绪, 电子邮件服务, 程序破解, 自托管后端, 认证服务, 请求拦截, 邮件服务