From a334c97434ae589dabda384da0f3f7558c8f056f Mon Sep 17 00:00:00 2001 From: Yvv Date: Wed, 22 Apr 2026 04:02:27 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Umami=20externe=20sur=20stats.open.us.or?= =?UTF-8?q?g=20=E2=80=94=20supprime=20docker-compose.umami.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - host corrigé : stats.open.us.org (instance partagée, non self-hosted) - docker-compose.umami.yml supprimé (obsolète) - .env.example simplifié (plus de vars self-hosted) - README + CONTRIBUTING mis à jour Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 15 +++------ CONTRIBUTING.md | 5 ++- README.md | 5 ++- docker/docker-compose.umami.yml | 56 --------------------------------- nuxt.config.ts | 2 +- 5 files changed, 9 insertions(+), 74 deletions(-) delete mode 100644 docker/docker-compose.umami.yml diff --git a/.env.example b/.env.example index ef62cc1..5b32cbb 100644 --- a/.env.example +++ b/.env.example @@ -2,15 +2,8 @@ NUXT_ADMIN_PASSWORD=changeme NUXT_ADMIN_SECRET=change-this-to-a-random-secret-at-least-32-chars -# Umami analytics — instance Docker (docker-compose.umami.yml) -# UMAMI_DB_PASSWORD et UMAMI_APP_SECRET : générer avec `openssl rand -hex 32` -UMAMI_DB_PASSWORD= -UMAMI_APP_SECRET= -UMAMI_DOMAIN=stats.librodrome.org - -# Variables injectées dans Nuxt (tracking frontend + API stats) -# NUXT_PUBLIC_UMAMI_WEBSITE_ID : Settings → Websites dans l'interface Umami -# NUXT_UMAMI_API_KEY : Settings → API Keys dans l'interface Umami -NUXT_PUBLIC_UMAMI_URL=https://stats.librodrome.org -NUXT_PUBLIC_UMAMI_WEBSITE_ID= +# Umami analytics — hébergé sur stats.open.us.org +# NUXT_UMAMI_API_KEY : Settings → API Keys dans l'interface Umami (pour /api/stats) +NUXT_PUBLIC_UMAMI_URL=https://stats.open.us.org +NUXT_PUBLIC_UMAMI_WEBSITE_ID=95ff616d-9ce1-47d9-bca2-f6ddc344a99a NUXT_UMAMI_API_KEY= diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9e81e66..c5c8605 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -81,9 +81,8 @@ Parent avec `overflow: clip` (pas `overflow: hidden` qui casserait `position: st ## Analytics -`app/composables/useTracking.ts` — wrapper Umami. Activé si `NUXT_PUBLIC_UMAMI_WEBSITE_ID` est défini. -`server/api/stats/index.get.ts` — endpoint public pour la fédération inter-instances (observatoires territoire). -`docker/docker-compose.umami.yml` — stack Umami + PostgreSQL avec labels Traefik. +`app/composables/useTracking.ts` — wrapper Umami. Module `nuxt-umami` configuré dans `nuxt.config.ts` (host : `stats.open.us.org`). +`server/api/stats/index.get.ts` — endpoint public stats (nécessite `NUXT_UMAMI_API_KEY`). ## Redirections diff --git a/README.md b/README.md index ff67320..650ccee 100644 --- a/README.md +++ b/README.md @@ -64,9 +64,8 @@ Port réservé : **3000** (ne pas changer). ## Analytics -Umami self-hosted (optionnel). Configurer `NUXT_PUBLIC_UMAMI_WEBSITE_ID` et `NUXT_PUBLIC_UMAMI_URL` dans l'environnement. -Déploiement séparé : `docker/docker-compose.umami.yml` → `stats.librodrome.org`. -Stats publiques exposées via `/api/stats` pour la fédération inter-instances. +Umami hébergé sur `stats.open.us.org`. Module `nuxt-umami` configuré dans `nuxt.config.ts`. +Stats publiques exposées via `/api/stats` (nécessite `NUXT_UMAMI_API_KEY`). ## Déploiement diff --git a/docker/docker-compose.umami.yml b/docker/docker-compose.umami.yml deleted file mode 100644 index 3281ca7..0000000 --- a/docker/docker-compose.umami.yml +++ /dev/null @@ -1,56 +0,0 @@ -## Umami analytics — déployer avec le compose principal -## Usage : docker compose -f docker-compose.yml -f docker-compose.umami.yml up -d -## -## Variables à définir dans .env : -## UMAMI_DB_PASSWORD — mot de passe PostgreSQL Umami (générer avec openssl rand -hex 32) -## UMAMI_APP_SECRET — secret applicatif (générer avec openssl rand -hex 32) -## UMAMI_DOMAIN — ex: stats.librodrome.org -## NUXT_PUBLIC_UMAMI_URL — ex: https://stats.librodrome.org -## NUXT_PUBLIC_UMAMI_WEBSITE_ID — ID du site dans Umami (Settings → Websites) -## NUXT_UMAMI_API_KEY — clé API Umami (Settings → API Keys) - -name: librodrome - -services: - umami: - image: ghcr.io/umami-software/umami:postgresql-latest - environment: - DATABASE_URL: postgresql://umami:${UMAMI_DB_PASSWORD}@umami-db:5432/umami - DATABASE_TYPE: postgresql - APP_SECRET: ${UMAMI_APP_SECRET} - depends_on: - umami-db: - condition: service_healthy - restart: always - labels: - - "traefik.enable=true" - - "traefik.http.routers.umami.rule=Host(`${UMAMI_DOMAIN:-stats.librodrome.org}`)" - - "traefik.http.routers.umami.entrypoints=websecure" - - "traefik.http.routers.umami.tls.certresolver=letsencrypt" - - "traefik.http.services.umami.loadbalancer.server.port=3000" - networks: - - default - - traefik - - umami-db: - image: postgres:15-alpine - environment: - POSTGRES_DB: umami - POSTGRES_USER: umami - POSTGRES_PASSWORD: ${UMAMI_DB_PASSWORD} - volumes: - - umami-db-data:/var/lib/postgresql/data - healthcheck: - test: ["CMD-SHELL", "pg_isready -U umami"] - interval: 5s - timeout: 5s - retries: 10 - restart: always - -volumes: - umami-db-data: - -networks: - default: - traefik: - external: true diff --git a/nuxt.config.ts b/nuxt.config.ts index 490c39d..243f771 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -19,7 +19,7 @@ export default defineNuxtConfig({ ], umami: { - host: 'https://stats.librodrome.org', + host: 'https://stats.open.us.org', id: '95ff616d-9ce1-47d9-bca2-f6ddc344a99a', autoTrack: true, ignoreLocalhost: true,