Install in Traefik with plugin
Tianji provides a Traefik plugin that allows you to easily integrate Tianji website analytics functionality into your Traefik proxy.
Plugin Overview
traefik-tianji-plugin is a Traefik middleware plugin specifically developed for Tianji that can automatically inject the Tianji tracking script into your website without modifying your website code to start collecting visitor data.
Installing the Plugin
1. Add Plugin in Static Configuration
First, you need to add the plugin reference in Traefik's static configuration. The plugin version number references the git tag.
YAML Configuration
Add the following to your traefik.yml or static configuration file:
experimental:
plugins:
traefik-tianji-plugin:
moduleName: "github.com/msgbyte/traefik-tianji-plugin"
version: "v0.2.1"
TOML Configuration
[experimental.plugins.traefik-tianji-plugin]
moduleName = "github.com/msgbyte/traefik-tianji-plugin"
version = "v0.2.1"
Command Line
--experimental.plugins.traefik-tianji-plugin.modulename=github.com/msgbyte/traefik-tianji-plugin
--experimental.plugins.traefik-tianji-plugin.version=v0.2.1
2. Configure Middleware
After installing the plugin, you need to configure the middleware in the dynamic configuration.
YAML Dynamic Configuration
In your config.yml or dynamic configuration file:
http:
middlewares:
my-tianji-middleware:
plugin:
traefik-tianji-plugin:
tianjiHost: "https://tianji.your-domain.com"
websiteId: "your-website-id"
TOML Dynamic Configuration
[http.middlewares.my-tianji-middleware.plugin.traefik-tianji-plugin]
tianjiHost = "https://tianji.your-domain.com"
websiteId = "your-website-id"
Docker Compose Labels
version: '3.7'
services:
my-app:
image: nginx:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.my-app.rule=Host(`my-app.local`)"
- "traefik.http.routers.my-app.middlewares=my-tianji-middleware"
- "traefik.http.middlewares.my-tianji-middleware.plugin.traefik-tianji-plugin.tianjiHost=https://tianji.your-domain.com"
- "traefik.http.middlewares.my-tianji-middleware.plugin.traefik-tianji-plugin.websiteId=your-website-id"