Back to "Utilización de Umami para Analytics Local"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

ASP.NET Umami

Utilización de Umami para Analytics Local

Thursday, 08 August 2024

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

Una de las cosas que me molestaba acerca de mi actual configuración era tener que usar Google Analytics para obtener datos de visitantes (que poco hay de él ??). Así que quería encontrar algo que yo mismo podría encontrar -oficina que no pase los datos a Google o a cualquier otro tercero . he encontrado El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. que es una simple solución de analyticas web hosted.

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la protección de los derechos humanos y las libertades fundamentales, incluidos los derechos económicos, sociales y culturales.

La instalación es PRETTY simple pero le ha costado un poco de fidellar para llegar realmente a funcionar...

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre los hombres y las mujeres en materia de empleo, incluida la eliminación del trabajo forzoso.

Como quería añadir Umami a mi actual docker-compose setup necesitaba añadir un nuevo servicio a mi docker-compose.yml he agregado lo siguiente al fondo del archivo:

  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    env_file: .env
    environment:
      DATABASE_URL: ${DATABASE_URL}
      DATABASE_TYPE: ${DATABASE_TYPE}
      HASH_SALT: ${HASH_SALT}
      APP_SECRET: ${APP_SECRET}
      TRACKER_SCRIPT_NAME: getinfo
      API_COLLECT_ENDPOINT: all
    ports:
      - "3000:3000"
    depends_on:
      - db
    networks:
      - app_network
    restart: always
  db:
    image: postgres:16-alpine
    env_file:
      - .env
    networks:
      - app_network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
      interval: 5s
      timeout: 5s
      retries: 5
    volumes:
      - /mnt/umami/postgres:/var/lib/postgresql/data
    restart: always
  cloudflaredumami:
    image: cloudflare/cloudflared:latest
    command: tunnel --no-autoupdate run --token ${CLOUDFLARED_UMAMI_TOKEN}
    env_file:
      - .env
    restart: always
    networks:
      - app_network


Este docker-compose.yml archivo contiene la siguiente configuraciónM SK2

  1. El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. umami El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. ghcr.io/umami-software/umami:postgresql-latest image. Este servicio se utiliza para ejecutar el servicio de análisis Umami.
  2. El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. db El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. postgres:16-alpine image. Este servicio se utiliza para ejecutar la base de datos Postgres que Umami usa para almacenar sus datos. Nota para este servicio I'm lo mapped a un directorio en mi servidor de modo que los datos se mantengan entre restarts.
    volumes:
      - /mnt/umami/postgres:/var/lib/postgresql/data

Usted' necesitará que este directorio exista y sea esclarable por el usuario del docker en su servidor.

chmod 777 /mnt/umami/postgres
  1. El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. cloudflaredumami El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. cloudflare/cloudflared:latest image. Este servicio se utiliza para tunnelar el servicio Umami a través de Cloudflare para permitir su acceso desde Internet.

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

Para apoyar esto he actualizado también mi .env La Comisión Consultiva en Asuntos Administrativos y de Presupuesto recomienda a la Asamblea General que apruebe el siguiente proyecto de resolución:

CLOUDFLARED_UMAMI_TOKEN=<cloudflaretoken>
DATABASE_TYPE=postgresql
HASH_SALT=<salt>

POSTGRES_DB=postgres
POSTGRES_USER=<postgresuser>
POSTGRES_PASSWORD=<postgrespassword>
UMAMI_SECRET=<umamisecret>

APP_SECRET=${UMAMI_SECRET}
UMAMI_USER=${POSTGRES_USER}
UMAMI_PASS=${POSTGRES_PASSWORD}
DATABASE_URL=postgresql://${UMAMI_USER}:${UMAMI_PASS}@db:5432/${POSTGRES_DB}

Esto configura la configuración para el docker compose (the <> Evidentemente, los calificados necesitan sustituirse por sus propios valores). El cloudflaredumami se utiliza para tunelar el servicio Umami a través de Cloudflare para permitir que pueda acceder desde Internet.

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad entre los géneros en todos los niveles de la enseñanza, incluida la educación primaria y secundaria.

Para configurar el túnel cloudflare para este (, que actúa como ruta para el archivo js usado para las analyticas |- | getinfo | . |js | ) | he utilizado el sitio web

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad entre los géneros en todos los niveles de la enseñanza, incluida la educación primaria y secundaria.

Esto configura el túnel al servicio Umami y le permite acceder a él desde Internet. Nota umami Servicio en el docker-componente de archivo (como esM SK2se encuentra en la misma red que el túnel de la nube es 'es un nombre válidoMSC4

En el párrafo 2 de la parte dispositiva del proyecto de resolución, la Asamblea General pidió al Secretario General que le presentara en su quincuagésimo séptimo período de sesiones un informe sobre los progresos realizados en la aplicación de las recomendaciones formuladas por la Comisión Consultiva en Asuntos Administrativos y de Presupuesto.

Para activar el camino para el script llamado ( getinfo en mi configuración superior) yo' he agregado una entrada de configuración a mis ajustes de aplicación

 "Analytics":{
   "UmamiPath" : "https://umamilocal.mostlylucid.net/getinfo",
   "WebsiteId" : "32c2aa31-b1ac-44c0-b8f3-ff1f50403bee"
 },

También puede añadirlos a su archivo .env y pasarlos como variables de entorno al docker.

ANALYTICS__UMAMIPATH="https://umamilocal.mostlylucid.net/getinfo"
ANALYTICS_WEBSITEID="32c2aa31-b1ac-44c0-b8f3-ff1f50403bee"
  mostlylucid:
    image: scottgal/mostlylucid:latest
    ports:
      - 8080:8080
    restart: always
    environment:
    ...
      - Analytics__UmamiPath=${ANALYTICS_UMAMIPATH}
      - Analytics__WebsiteId=${ANALYTICS_WEBSITEID}

Usted configura el WebsiteId en el dashboard de Umami cuando se instala el sitio. M SK1Nota que el nombre de usuario y contraseña por defecto para el servicio Umami es admin El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. umami, Necesitas cambiar estos después de la configuración). El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la protección de los derechos humanos y las libertades fundamentales, incluidos los derechos económicos, sociales y culturales.

Con las configuraciones asociadas cs file:

public class AnalyticsSettings : IConfigSection
{
    public static string Section => "Analytics";
    public string? UmamiPath { get; set; }
}

Una vez más esto usa mi POCO config stuff (a) Adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre hombres y mujeres en todos los ámbitos de la vida, incluida la educación;) para configurar los ajustes. Establecelo en mi programa.cs:

builder.Configure<AnalyticsSettings>();

Y finalmente en mi BaseController.cs OnGet method I'he añadido lo siguiente para establecer el camino del script de análisis:

   public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (!Request.IsHtmx())
        {
            ViewBag.UmamiPath = _analyticsSettings.UmamiPath;
            ViewBag.UmamiWebsiteId = _analyticsSettings.WebsiteId;
        }
        base.OnActionExecuting(filterContext);
    }
    

Esto establece el camino para el script de análisis que se utilice en el archivo de diseño.

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad entre los géneros en todos los niveles de vida, incluida la educación.

Por último, IM SK1 he agregado lo siguiente a mi fichero de diseño para incluir el script de análisis:

<script defer src="@ViewBag.UmamiPath" data-website-id="@ViewBag.UmamiWebsiteId"></script>

Esto incluye el script en la página y establece el id del sitio web para el servicio de análisis.

El Comité recomienda al Estado Parte que incluya en su próximo informe periódico datos desglosados por sexo, edad y origen étnico.

Para excluir sus propias visitas de los datos de análisis puede añadir el siguiente almacenamiento local en su navegador:

En las herramientas Dev de Chrome (Ctrl +Shift+I en windowsM SK3 usted puede añadir lo siguiente a la consolaMSC4

localStorage.setItem("umami.disabled", 1)

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre los hombres y las mujeres en materia de empleo, incluida la eliminación del trabajo forzoso.

Este fue un poco de faff para configurar, pero yo'mo contento con el resultado.Ahora tengo un servicio de análisis personalizado que no transmite datos a Google o a ningún otro terceroM SK4Es un poco doloroso configurarlo, pero una vez que lo haya hecho 'y 'es bastante fácil de usarMSC8Me satisface el resultado y la recomendaría a cualquier persona que busque un servicio personalizado de análisis especializados.

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.