# Tianji — All-in-One Website Analytics, Uptime Monitoring and Server Status > A self-hosted platform that combines website analytics, uptime monitoring, and server status tracking in a single dashboard, providing a unified view of your web infrastructure health. ## Install Save in your project root: # Tianji — All-in-One Website Analytics, Uptime and Server Status ## Quick Use ```bash # Deploy with Docker Compose wget https://raw.githubusercontent.com/msgbyte/tianji/master/docker-compose.yml docker compose up -d # Access at http://localhost:12345 # Default credentials: admin / admin ``` ## Introduction Tianji combines three common self-hosted monitoring needs into one platform: website analytics (like Umami), uptime monitoring (like Uptime Kuma), and server status pages (like Hetrix). Instead of running separate tools, Tianji offers a single deployment that covers all three use cases with a unified interface. ## What Tianji Does - Tracks website visitors, page views, referrers, and browser statistics - Monitors HTTP/TCP/DNS endpoint availability with configurable check intervals - Displays server CPU, memory, disk, and network metrics via a lightweight agent - Provides public status pages for communicating service health to users - Sends alerts via email, Telegram, Discord, or webhook on downtime events ## Architecture Overview Tianji is a TypeScript application with a Next.js frontend and a Node.js backend. Data is stored in PostgreSQL for configuration and analytics, with optional ClickHouse integration for high-volume analytics workloads. The server status feature uses a lightweight reporter agent installed on monitored hosts that pushes metrics to the Tianji server over HTTPS. ## Self-Hosting & Configuration - Deploy with Docker Compose; includes PostgreSQL in the default stack - Configure via environment variables for database, SMTP, and authentication - Install the tianji-reporter agent on servers you want to monitor - Supports custom domains for public status pages - Multi-workspace support for managing multiple projects in one instance ## Key Features - Three monitoring tools unified under one authentication and interface - Lightweight analytics script with minimal impact on page load - Customizable public status pages with incident reporting - Server metrics collection without heavy agents like Prometheus node_exporter - Survey and feedback collection integrated into the analytics dashboard ## Comparison with Similar Tools - **Umami** — Analytics only; Tianji adds uptime monitoring and server status in the same tool - **Uptime Kuma** — Uptime monitoring only; Tianji extends with website analytics and server metrics - **Beszel** — Server monitoring focused; Tianji provides broader coverage including web analytics and availability checks - **Grafana + Prometheus** — Full observability stack; Tianji is lighter and simpler for teams that need basic monitoring without complex infrastructure ## FAQ **Q: How lightweight is the analytics tracking script?** A: The script is under 2KB and loads asynchronously, adding negligible impact to page performance. **Q: Can I use Tianji just for uptime monitoring?** A: Yes, each feature module is independent. You can use any combination of analytics, uptime, and server status. **Q: How does the server reporter agent work?** A: It is a small binary that collects system metrics and POSTs them to your Tianji instance at configurable intervals. No inbound ports needed on monitored servers. **Q: Does Tianji support multiple team members?** A: Yes, workspaces support multiple users with role-based access for collaborative monitoring. ## Sources - https://github.com/msgbyte/tianji - https://tianji.msgbyte.com --- Source: https://tokrepo.com/en/workflows/asset-a994f596 Author: AI Open Source