Tianji Features

Tianji offers more than just web analytics – it’s a suite of tools designed for independent developers and small teams.

Tianji focuses on providing lightweight, cost-effective features without the bloat of larger, more complex platforms. It prioritizes a user-centric approach, aiming to deliver practical solutions.

Key Features

  • Website Analytics: 📊 Get the data you need to understand your website’s performance and user behavior.
  • Uptime Monitor: ⏰ Keep your site online and get alerted to any downtime.
  • Server Status: 🖥️ Monitor your server health and performance.
  • Docker Status: 🐳 Track the status of your Docker containers.
  • Status Page: 📢 Communicate effectively with your users about outages or maintenance.
  • Telemetry: 🛰️ Collect and analyze performance data to optimize your applications.
  • Survey: 📝 Easily gather feedback from your users.
  • Feeds: 📰 Stay informed with relevant updates and information.

Privacy First: No Cookies! 🍪🚫

Tianji respects user privacy. It doesn’t use cookies to track user activity, so you don’t have to worry about cookie consent banners. This can lead to a cleaner user experience and potentially higher retention.

GDPR & CCPA Compliant

Tianji takes data protection seriously. It’s designed to comply with both the General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA), ensuring that user data is handled securely and transparently.

Tianji Setup with Docker

version: '3'
services:
  tianji:
    image: moonrailgun/tianji
    build:
      context: ./
      dockerfile: ./Dockerfile
    ports:
      - "12345:12345"
    environment:
      DATABASE_URL: postgresql://tianji:tianji@postgres:5432/tianji
      JWT_SECRET: replace-me-with-a-random-string
      ALLOW_REGISTER: "false"
      ALLOW_OPENAPI: "true"
    depends_on:
      - postgres
    restart: always
    networks:
      - weban-tianji_default
      - nginx_nginx_default 
  postgres:
    image: postgres:15.4-alpine
    environment:
      POSTGRES_DB: tianji
      POSTGRES_USER: tianji
      POSTGRES_PASSWORD: tianji
    volumes:
      - tianji-db-data:/var/lib/postgresql/data
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
      interval: 5s
      timeout: 5s
      retries: 5
    networks:
      - weban-tianji_default
volumes:
  tianji-db-data:

networks:
  nginx_nginx_default:
    external: true
  weban-tianji_default:
    internal: true

The credentials? Simply admin/admin, make sure to change those.

Tianji with HTTPs

We can use NGINX and letsencrypt to get HTTPs certificates for our new Tianji service:

Tianji with NGINX

You will have a script to add Tianji to your site:

<script async defer src="https://your-domain.org/tracker.js" data-website-id="someid"></script>

As always, make sure to place that script between the <head> and </head> section of your site.

In my opinion, Tianji looks a little bit like combination of uptime kuma and also like Umami web analytics.