Maison > Article > interface Web > Umami Analytics auto-hébergé : un guide complet de déploiement gratuit avec Vercel et Supabase
Analytics est le processus de collecte et d'analyse de données sur la façon dont les visiteurs interagissent avec votre site Web. Ces informations sont cruciales car elles vous permettent de prendre des décisions éclairées pour améliorer votre site internet.
Google Analytics est un excellent choix, mais il pourrait y avoir des problèmes de confidentialité des données ainsi que de conformité au RGPD.
Lors du choix d'un outil d'analyse, il est important qu'il :
Umami Analytics coche toutes ces cases.
Umami Analytics est un outil simple, rapide et axé sur la confidentialité qui vous permet de suivre l'utilisation du site Web sans compromettre la confidentialité des utilisateurs. Il s'agit d'une alternative open source à Google Analytics. Un gros plus est qu'Umami Analytics est conforme au RGPD (Règlement Général sur la Protection des Données).
Il existe deux options pour utiliser l'analyse UMAMI
Dans cet article, nous allons explorer l'option d'auto-hébergement. Nous allons utiliser Supabase (plan de niveau gratuit) pour la base de données (postgres) et Vercel (plan de niveau gratuit/hobby) pour héberger Umami.
Plongeons-nous dans la façon d'auto-héberger gratuitement les analyses Umami à l'aide de Vercel + Supabase
Modifier le fichier db/postgresql/schema.prisma (ajouter directUrl)
datasource db { provider = "postgresql" url = env("DATABASE_URL") directUrl = env("DIRECT_DATABASE_URL") //add this line relationMode = "prisma" }
DATABASE_URL = postgres://[user]:[password]@aws-0-[aws-region].pooler.supabase.com:6543/postgres?**pgbouncer=true&connection_limit=1** DIRECT_DATABASE_URL = postgres://[user]:[password]@aws-0-[aws-region].pooler.supabase.com:**5432**/postgres
? DATABASE_URL est la même que l'URL de connexion copiée depuis supabase (à l'étape 2) mais vous devez ajouter ?pgbouncer=true&connect_timeout=1 à la fin de l'URL
? DATABASE_URL est la même que l'URL de connexion copiée depuis la supabase (à l'étape 2) mais vous devez remplacer le port de 6543 par 5432
Exécutez maintenant les commandes suivantes (pour installer les dépendances et configurer la connexion à la base de données)
yarn install yarn build-db
Ensuite, nous créerions une migration de base en suivant les étapes ci-dessous
Si vous disposez d'un dossier prisma/migrations, supprimez, déplacez, renommez ou archivez ce dossier.
Run the following command to create a migrations directory inside with your preferred name. This example will use 01_init for the migration name:
mkdir -p prisma/migrations/01_init
Generate a migration and save it to a file using prisma migrate diff
npx prisma migrate diff \ --from-empty \ --to-schema-datamodel prisma/schema.prisma \ --script > prisma/migrations/01_init/migration.sql
Run the prisma migrate resolve command for each migration that should be ignored:
npx prisma migrate resolve --applied 01_init
This command adds the target migration to the _prisma_migrations table and marks it as applied. When you run prisma migrate deploy to apply new migrations, Prisma Migrate:
username : admin password : umami
Name : provide any name of your choice Domain : your [website](https://www.invoizly.com) domain (eg. invoizly.com)
In Next.JS projects to load a third-party script for multiple routes, import next/script and include the script directly in your layout component:
import Script from 'next/script' export default function Layout({ children, }: { children: React.ReactNode }) { return ( 81d89b5803f4382047d2a9a2fe845023 39c7e4b4f64d9aef06707b4f0d0ccadf 6ffb63ddaf21320e5768a9f5d82c36d7 {children} a9af832cc08123ff4bbc99fefcd24cf5 36cc49f0c466276486e50c850b7e4956 2546ec4c319274fba24fabf75d291e1a 5f557f62ae7ac7a14e0b1cb564790dfc ) }
After adding the Sript in your root layout, deploy your app and visit your web page. you will be able to track the visits on your analytics dashboard page.
Hope with help of this article you will be able to set up analytics for your application quickly and easily, without relying on third-party services. Since Vercel and Supabase both provides generous free tier, you can run your analytics for free in the initial days while being GDPR compliant.
Invoizly is all about making invoicing easy and free. With Invoizly, you can quickly create high-quality, customizable invoices that look professional. It’s designed to be super user-friendly, so you can focus on your business instead of getting bogged down in paperwork.
Cover image by Marissa Grootes on Unsplash
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!