diff --git a/apps/tianji/1.24.22/.env.sample b/apps/tianji/1.24.22/.env.sample new file mode 100644 index 0000000..fa47f3a --- /dev/null +++ b/apps/tianji/1.24.22/.env.sample @@ -0,0 +1,11 @@ +CONTAINER_NAME="tianji" +PANEL_APP_PORT_HTTP="40205" +ALLOW_OPENAPI="true" +ALLOW_REGISTER="false" +JWT_SECRET="any-random-text_fZpxzA" +PANEL_DB_HOST="postgresql" +PANEL_DB_HOST_NAME="postgresql" +PANEL_DB_NAME="tianji_5pz3w2" +PANEL_DB_PORT="5432" +PANEL_DB_USER="tianji_XA6H4c" +PANEL_DB_USER_PASSWORD="tianji_4X2sNe" diff --git a/apps/tianji/1.24.22/data.yml b/apps/tianji/1.24.22/data.yml new file mode 100644 index 0000000..2120606 --- /dev/null +++ b/apps/tianji/1.24.22/data.yml @@ -0,0 +1,73 @@ +additionalProperties: + formFields: + - default: 40205 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: PANEL_DB_HOST + key: postgresql + labelEn: Database Service + labelZh: 数据库服务 + required: true + type: service + - default: tianji + envKey: PANEL_DB_NAME + labelEn: Database Name + labelZh: 数据库名 + random: true + required: true + rule: paramCommon + type: text + - default: tianji + envKey: PANEL_DB_USER + labelEn: Database User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: tianji + envKey: PANEL_DB_USER_PASSWORD + labelEn: Database Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password + - default: any-random-text + edit: true + envKey: JWT_SECRET + labelEn: Secret + labelZh: 秘钥 + random: true + required: true + rule: paramComplexity + type: text + - default: "true" + envKey: ALLOW_OPENAPI + labelEn: Allow OpenAPI + labelZh: 是否开启OpenAPI + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "false" + envKey: ALLOW_REGISTER + labelEn: Allow Register + labelZh: 是否允许注册 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" diff --git a/apps/tianji/1.24.22/docker-compose.yml b/apps/tianji/1.24.22/docker-compose.yml new file mode 100644 index 0000000..6cc6584 --- /dev/null +++ b/apps/tianji/1.24.22/docker-compose.yml @@ -0,0 +1,19 @@ +services: + tianji: + container_name: ${CONTAINER_NAME} + restart: always + image: moonrailgun/tianji:1.24.22 + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:12345 + environment: + - DATABASE_URL=postgresql://${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@${PANEL_DB_HOST}:${PANEL_DB_PORT}/${PANEL_DB_NAME} + - JWT_SECRET=${JWT_SECRET} + - ALLOW_REGISTER=${ALLOW_REGISTER} + - ALLOW_OPENAPI=${ALLOW_OPENAPI} + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true diff --git a/apps/tianji/README.md b/apps/tianji/README.md new file mode 100644 index 0000000..b1f7d33 --- /dev/null +++ b/apps/tianji/README.md @@ -0,0 +1,70 @@ +# Tianji 介绍 + +## 简介 + +Tianji 是一款开源的 all-in-one 数据洞察中心,集成了网站分析、服务监控和服务器状态监控等功能。它为个人和企业提供了一个统一的平台来监控和分析各种数据,帮助用户更好地了解自己的数字资产状况。 + +![](https://cdn.jsdelivr.net/gh/xiaoY233/PicList@main/public/assets/tianji.png) + +![](https://img.shields.io/badge/Copyright-arch3rPro-ff9800?style=flat&logo=github&logoColor=white) + +## 主要特性 + +- **网站流量分析**:只需一段小于2KB的脚本即可监控网站的 PV/UV、在线时长、跳出率、访客设备使用情况、地理位置、访问来源等信息,可理解为自托管版的 Google Analytics。 +- **服务监控**:实时监控服务响应时间,支持 HTTP、TCP、Ping 等多种监控方式,甚至可以编写自定义脚本进行高级监控。 +- **服务状态页**:提供对外公开的服务状态页面,展示各项服务的运行状态,增强用户信任度。 +- **服务器状态监控**:类似 ServerStatus,可以监控服务器的 CPU、内存、网络流量、磁盘空间等实时状况。 +- **多种通知方式**:支持 100+ 种通知方式(由 Apprise 提供),包括邮件、Telegram、Server酱等。 +- **自定义仪表板**:支持可定制的 Dashboard 布局,满足不同用户的展示需求。 +- **主题支持**:支持亮色/暗色模式切换,保护用户视力。 +- **多语言支持**:内置英语、法语、德语、日语、俄语、中文等多种语言界面。 +- **开源免费**:基于开源协议,完全免费使用,支持自托管部署。 + +## 快速开始 + +### 默认账户 + +- **用户名**: `admin` +- **密码**: `admin` + +> ⚠️ **重要提醒**:首次登录后请立即修改默认密码以确保安全! + +### 访问方式 + +部署完成后,通过浏览器访问服务地址即可开始使用。首次使用时建议: + +1. 修改默认管理员密码 +2. 配置监控目标(网站、服务器等) +3. 设置通知渠道 +4. 自定义仪表板布局 + +## 核心功能详解 + +### 网站分析 + +- **轻量级追踪**:仅需嵌入小于2KB的JavaScript代码 +- **隐私友好**:数据完全由您控制,无第三方追踪 +- **丰富指标**:页面浏览量、独立访客、停留时间、跳出率等 +- **访客洞察**:设备类型、操作系统、浏览器、地理位置等 +- **来源分析**:访问来源、搜索关键词、外链分析等 + +### 服务监控 + +- **多协议支持**:HTTP/HTTPS、TCP、ICMP Ping 等 +- **自定义检查**:支持编写自定义监控脚本 +- **响应时间监控**:实时监控服务响应速度 +- **状态历史**:记录服务可用性历史数据 +- **告警机制**:服务异常时自动发送通知 + +### 服务器监控 + +- **系统资源**:CPU使用率、内存占用、磁盘空间 +- **网络状况**:实时网络流量监控 +- **进程管理**:监控关键进程运行状态 +- **历史数据**:保存监控历史,便于趋势分析 + +## 相关链接 + +- **官方网站**: [https://tianji.dev/](https://tianji.dev/) +- **GitHub 仓库**: [https://github.com/msgbyte/tianji](https://github.com/msgbyte/tianji) +- **官方文档**: [https://tianji.dev/docs/intro](https://tianji.dev/docs/intro) diff --git a/apps/tianji/README_en.md b/apps/tianji/README_en.md new file mode 100644 index 0000000..d8165f7 --- /dev/null +++ b/apps/tianji/README_en.md @@ -0,0 +1,70 @@ +# Tianji Introduction + +## Overview + +Tianji is an open-source all-in-one data insight center that integrates website analytics, service monitoring, and server status monitoring. It provides individuals and enterprises with a unified platform to monitor and analyze various data, helping users better understand their digital asset status. + +![](https://cdn.jsdelivr.net/gh/xiaoY233/PicList@main/public/assets/tianji.png) + +![](https://img.shields.io/badge/Copyright-arch3rPro-ff9800?style=flat&logo=github&logoColor=white) + +## Key Features + +- **Website Analytics**: Monitor website PV/UV, online duration, bounce rate, visitor device usage, geographic location, traffic sources and more with just a script less than 2KB. Think of it as a self-hosted Google Analytics. +- **Service Monitoring**: Real-time monitoring of service response times, supporting HTTP, TCP, Ping and other monitoring methods. You can even write custom scripts for advanced monitoring. +- **Service Status Page**: Provides a public status page for external access, displaying the operational status of various services to enhance user trust. +- **Server Status Monitoring**: Similar to ServerStatus, monitors real-time server conditions including CPU, memory, network traffic, disk space, etc. +- **Multiple Notification Methods**: Supports 100+ notification methods (powered by Apprise), including email, Telegram, ServerChan, and more. +- **Customizable Dashboard**: Supports customizable dashboard layouts to meet different users' display needs. +- **Theme Support**: Supports light/dark mode switching to protect user vision. +- **Multi-language Support**: Built-in support for English, French, German, Japanese, Russian, Chinese and other languages. +- **Open Source & Free**: Based on open source license, completely free to use, supports self-hosted deployment. + +## Quick Start + +### Default Account + +- **Username**: `admin` +- **Password**: `admin` + +> ⚠️ **Important Reminder**: Please change the default password immediately after first login to ensure security! + +### Access Method + +After deployment, access through a web browser to the service address to start using. For first-time use, it's recommended to: + +1. Change the default administrator password +2. Configure monitoring targets (websites, servers, etc.) +3. Set up notification channels +4. Customize dashboard layout + +## Core Features Details + +### Website Analytics + +- **Lightweight Tracking**: Only requires embedding JavaScript code less than 2KB +- **Privacy-Friendly**: Data is completely under your control, no third-party tracking +- **Rich Metrics**: Page views, unique visitors, dwell time, bounce rate, etc. +- **Visitor Insights**: Device type, operating system, browser, geographic location, etc. +- **Source Analysis**: Traffic sources, search keywords, referral analysis, etc. + +### Service Monitoring + +- **Multi-Protocol Support**: HTTP/HTTPS, TCP, ICMP Ping, etc. +- **Custom Checks**: Support for writing custom monitoring scripts +- **Response Time Monitoring**: Real-time monitoring of service response speed +- **Status History**: Records service availability historical data +- **Alert Mechanism**: Automatically sends notifications when services are abnormal + +### Server Monitoring + +- **System Resources**: CPU usage, memory consumption, disk space +- **Network Status**: Real-time network traffic monitoring +- **Process Management**: Monitor key process running status +- **Historical Data**: Save monitoring history for trend analysis + +## Related Links + +- **Official Website**: [https://tianji.dev/](https://tianji.dev/) +- **GitHub Repository**: [https://github.com/msgbyte/tianji](https://github.com/msgbyte/tianji) +- **Official Documentation**: [https://tianji.dev/docs/intro](https://tianji.dev/docs/intro) diff --git a/apps/tianji/data.yml b/apps/tianji/data.yml new file mode 100644 index 0000000..13013e2 --- /dev/null +++ b/apps/tianji/data.yml @@ -0,0 +1,26 @@ +name: Tianji +tags: + - 监控工具 +title: 开源 all-in-one 数据洞察中心 +description: Tianji 是一款开源的 all-in-one 数据洞察中心,集成网站分析、服务监控、服务器状态监控等功能 +additionalProperties: + key: tianji + name: Tianji + tags: + - Monitoring + shortDescZh: 开源 all-in-one 数据洞察中心 + shortDescEn: Open-source all-in-one data insight center + description: + en: Tianji is an open-source all-in-one data insight center that combines website analytics, uptime monitoring, and server status monitoring + zh: Tianji 是一款开源的 all-in-one 数据洞察中心,集成网站分析、服务监控、服务器状态监控等功能 + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://tianji.dev/ + github: https://github.com/msgbyte/tianji + document: https://tianji.dev/docs/intro + memoryRequired: 1024 + architectures: + - arm64 + - amd64 diff --git a/apps/tianji/latest/.env.sample b/apps/tianji/latest/.env.sample new file mode 100644 index 0000000..fa47f3a --- /dev/null +++ b/apps/tianji/latest/.env.sample @@ -0,0 +1,11 @@ +CONTAINER_NAME="tianji" +PANEL_APP_PORT_HTTP="40205" +ALLOW_OPENAPI="true" +ALLOW_REGISTER="false" +JWT_SECRET="any-random-text_fZpxzA" +PANEL_DB_HOST="postgresql" +PANEL_DB_HOST_NAME="postgresql" +PANEL_DB_NAME="tianji_5pz3w2" +PANEL_DB_PORT="5432" +PANEL_DB_USER="tianji_XA6H4c" +PANEL_DB_USER_PASSWORD="tianji_4X2sNe" diff --git a/apps/tianji/latest/data.yml b/apps/tianji/latest/data.yml new file mode 100644 index 0000000..2120606 --- /dev/null +++ b/apps/tianji/latest/data.yml @@ -0,0 +1,73 @@ +additionalProperties: + formFields: + - default: 40205 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: PANEL_DB_HOST + key: postgresql + labelEn: Database Service + labelZh: 数据库服务 + required: true + type: service + - default: tianji + envKey: PANEL_DB_NAME + labelEn: Database Name + labelZh: 数据库名 + random: true + required: true + rule: paramCommon + type: text + - default: tianji + envKey: PANEL_DB_USER + labelEn: Database User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: tianji + envKey: PANEL_DB_USER_PASSWORD + labelEn: Database Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password + - default: any-random-text + edit: true + envKey: JWT_SECRET + labelEn: Secret + labelZh: 秘钥 + random: true + required: true + rule: paramComplexity + type: text + - default: "true" + envKey: ALLOW_OPENAPI + labelEn: Allow OpenAPI + labelZh: 是否开启OpenAPI + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "false" + envKey: ALLOW_REGISTER + labelEn: Allow Register + labelZh: 是否允许注册 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" diff --git a/apps/tianji/latest/docker-compose.yml b/apps/tianji/latest/docker-compose.yml new file mode 100644 index 0000000..0086878 --- /dev/null +++ b/apps/tianji/latest/docker-compose.yml @@ -0,0 +1,19 @@ +services: + tianji: + container_name: ${CONTAINER_NAME} + restart: always + image: moonrailgun/tianji:latest + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:12345 + environment: + - DATABASE_URL=postgresql://${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@${PANEL_DB_HOST}:${PANEL_DB_PORT}/${PANEL_DB_NAME} + - JWT_SECRET=${JWT_SECRET} + - ALLOW_REGISTER=${ALLOW_REGISTER} + - ALLOW_OPENAPI=${ALLOW_OPENAPI} + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true diff --git a/apps/tianji/logo.png b/apps/tianji/logo.png new file mode 100644 index 0000000..db128c8 Binary files /dev/null and b/apps/tianji/logo.png differ