{"id":13457193,"url":"https://github.com/msgbyte/tianji","last_synced_at":"2026-03-15T20:14:51.828Z","repository":{"id":213998936,"uuid":"685392779","full_name":"msgbyte/tianji","owner":"msgbyte","description":"Tianji: Insight into everything, Website Analytics + Uptime Monitor + Server Status. not only another GA alternatives","archived":false,"fork":false,"pushed_at":"2025-05-05T19:23:59.000Z","size":11916,"stargazers_count":2205,"open_issues_count":97,"forks_count":128,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-05T20:38:25.022Z","etag":null,"topics":["analytics","docker","google-analytics","monitor","self-hosted","selfhosted","server-status","statistics","umami","uptime","uptime-monitor","uptimekuma","web-analytics"],"latest_commit_sha":null,"homepage":"https://tianji.msgbyte.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/msgbyte.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-31T06:06:41.000Z","updated_at":"2025-05-05T19:24:03.000Z","dependencies_parsed_at":"2024-02-03T10:22:59.411Z","dependency_job_id":"43564c72-58a9-46a7-8e96-7561bff60e88","html_url":"https://github.com/msgbyte/tianji","commit_stats":{"total_commits":1014,"total_committers":11,"mean_commits":92.18181818181819,"dds":"0.023668639053254448","last_synced_commit":"67c4fa305af8ffc60d31c6f598aad2434811de81"},"previous_names":["msgbyte/tianji"],"tags_count":127,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msgbyte%2Ftianji","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msgbyte%2Ftianji/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msgbyte%2Ftianji/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msgbyte%2Ftianji/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/msgbyte","download_url":"https://codeload.github.com/msgbyte/tianji/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254083612,"owners_count":22011901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","docker","google-analytics","monitor","self-hosted","selfhosted","server-status","statistics","umami","uptime","uptime-monitor","uptimekuma","web-analytics"],"created_at":"2024-07-31T08:01:35.358Z","updated_at":"2025-12-29T19:01:54.687Z","avatar_url":"https://github.com/msgbyte.png","language":"TypeScript","readme":"[![CI](https://github.com/msgbyte/tianji/actions/workflows/ci.yaml/badge.svg)](https://github.com/msgbyte/tianji/actions/workflows/ci.yaml)\n[![Build Reporter Release](https://github.com/msgbyte/tianji/actions/workflows/reporter-release.yml/badge.svg)](https://github.com/msgbyte/tianji/actions/workflows/reporter-release.yml)\n[![Docker Build CI](https://github.com/msgbyte/tianji/actions/workflows/ci-docker.yaml/badge.svg)](https://github.com/msgbyte/tianji/actions/workflows/ci-docker.yaml)\n![Docker Pulls](https://img.shields.io/docker/pulls/moonrailgun/tianji)\n![Docker Image Size](https://img.shields.io/docker/image-size/moonrailgun/tianji)\n![Tianji Visitor](https://tianji.moonrailgun.com/telemetry/clnzoxcy10001vy2ohi4obbi0/cltjxvcwm02wdut4e106maek7/badge.svg?url=http://github.com/msgbyte/tianji)\n\n# Tianji\n\n\u003cimg src=\"./website/static/img/logo.svg\" width=\"128\" /\u003e\n\n**All-in-One Insight Hub**\n\n`Website analytics` + `Uptime Monitor`  + `Server Status` = `Tianji`\n\nAll in one project!\n\n## Motivation\n\nDuring our observations of the website. We often need to use multiple applications together. For example, we need analysis tools such as `GA`/`umami` to check pv/uv and the number of visits to each page, we need an uptime monitor to check the network quality and connectivity of the server, and we need to use prometheus to obtain the status reported by the server to check the quality of the server. In addition, if we develop an application that allows open source deployment, we often need a telemetry system to help us collect the simplest information about other people's deployment situations.\n\nI think these tools should serve the same purpose, so is there an application that can integrate these common needs in a lightweight way? After all, most of the time we don't need very professional and in-depth functions. But in order to achieve comprehensive monitoring, I need to install so many services.\n\nIt's good to specialize in one thing, if we are experts in related abilities we need such specialized tools. But for most users who only have lightweight needs, an **All-in-One** application will be more convenient and easier to use.\n\n## Roadmap\n\n- [x] website analysis\n- [x] monitor\n  - [x] support passive reception of results\n- [x] server status\n- [x] problem notification\n- [x] telemetry\n- [x] openapi\n- [x] website\n- [x] team collaboration\n- [x] utm track\n- [x] waitlist\n- [x] survey\n  - [ ] survey page\n- [x] lighthouse report\n- [x] hooks\n- [x] helm install support\n  - [x] allow install from public\n- [x] improve monitor reporter usage\n  - [x] uninstall guide\n  - [x] download from server\n  - [x] custom params guide\n\n## Preview\n\n![](./website/static/img/preview/1.png)\n\n![](./website/static/img/preview/2.png)\n\n![](./website/static/img/preview/3.png)\n\n![](./website/static/img/preview/4.png)\n\n![](./website/static/img/preview/5.png)\n\n![](./website/static/img/preview/6.png)\n\n## Translation\n\n### Add a new translation\n\nmodify those file:\n- `src/client/i18next-toolkit.config.cjs` in this file, edit country code\n- `src/client/utils/i18n.ts` in this file, add for display\n\nThen, run below code to auto generate\n\n```bash\ncd src/client\npnpm install\npnpm run translation:extract\npnpm run translation:translate # this will call chatgpt to run auto translation, so you need set env `OPENAPI_KEY` to make sure run correct\n```\n\nThen manual check translation file in `src/client/public/locales`\n\n### Improve translation\n\nDirect update  `src/client/public/locales`\n\n## Open Source\n\n`Tianji` is open source with `Apache 2.0` license.\n\nAnd its inspired by `umami` license which under `MIT` and `uptime-kuma` which under `MIT` license too\n\n### One-Click Deployment\n\n[![Deploy on Hostinger](https://assets.hostinger.com/vps/deploy.svg)](https://www.hostinger.com/vps/docker-hosting?compose_url=https://github.com/msgbyte/tianji/)\n\n[![Deploy on Sealos](https://cdn.jsdelivr.net/gh/labring-actions/templates@main/Deploy-on-Sealos.svg)](https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dtianji)\n\n[![Deploy to RepoCloud](https://d16t0pc4846x52.cloudfront.net/deploylobe.svg)](https://repocloud.io/details/?app_id=270)\n\n[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/msgbyte/tianji)\n\n[![Run on ClawCloud](https://raw.githubusercontent.com/ClawCloud/Run-Template/refs/heads/main/Run-on-ClawCloud.svg)](https://template.run.claw.cloud/?referralCode=TNW6NVWTLHPQ\u0026openapp=system-fastdeploy%3FtemplateName%3Dtianji)\n","funding_links":[],"categories":["TypeScript","置顶","Other Tools and Integrations"],"sub_categories":["05、运维监控体系","How to Submit"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsgbyte%2Ftianji","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsgbyte%2Ftianji","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsgbyte%2Ftianji/lists"}