refactor: remove NEXT_PUBLIC_UMAMI_ID from environment variables and related configurations

This commit is contained in:
Marco Pedone 2026-03-09 14:19:43 +01:00
parent e563aa43fd
commit 0192f710e2
5 changed files with 2 additions and 68 deletions

View file

@ -21,8 +21,7 @@ ENV BASE_URL=$BASE_URL \
NEXT_PUBLIC_BASE_URL=$NEXT_PUBLIC_BASE_URL \ NEXT_PUBLIC_BASE_URL=$NEXT_PUBLIC_BASE_URL \
NEXT_PUBLIC_STRIPE_PUBLIC_KEY=$NEXT_PUBLIC_STRIPE_PUBLIC_KEY \ NEXT_PUBLIC_STRIPE_PUBLIC_KEY=$NEXT_PUBLIC_STRIPE_PUBLIC_KEY \
STRIPE_SECRET_KEY="mock" \ STRIPE_SECRET_KEY="mock" \
STRIPE_WEBHOOK_SECRET="mock" \ STRIPE_WEBHOOK_SECRET="mock"
NEXT_PUBLIC_UMAMI_ID=$NEXT_PUBLIC_UMAMI_ID
RUN SKIP_ENV_VALIDATION=1 npm run build RUN SKIP_ENV_VALIDATION=1 npm run build
@ -88,8 +87,6 @@ ARG STORAGE_TOKEN
ENV STORAGE_TOKEN=$STORAGE_TOKEN ENV STORAGE_TOKEN=$STORAGE_TOKEN
ARG BROWSER_WS_URL ARG BROWSER_WS_URL
ENV BROWSER_WS_URL=$BROWSER_WS_URL ENV BROWSER_WS_URL=$BROWSER_WS_URL
ARG NEXT_PUBLIC_UMAMI_ID
ENV NEXT_PUBLIC_UMAMI_ID=$NEXT_PUBLIC_UMAMI_ID
RUN apk add --no-cache curl RUN apk add --no-cache curl

View file

@ -31,18 +31,15 @@ export const env = createEnv({
STORAGE_URL: z.string(), STORAGE_URL: z.string(),
STORAGE_TOKEN: z.string(), STORAGE_TOKEN: z.string(),
BROWSER_WS_URL: z.string(), BROWSER_WS_URL: z.string(),
}, },
client: { client: {
NEXT_PUBLIC_BASE_URL: z.string(), NEXT_PUBLIC_BASE_URL: z.string(),
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: z.string(), NEXT_PUBLIC_STRIPE_PUBLIC_KEY: z.string(),
NEXT_PUBLIC_UMAMI_ID: z.string(),
//NEXT_PUBLIC_TEST: z.string(), //NEXT_PUBLIC_TEST: z.string(),
}, },
experimental__runtimeEnv: { experimental__runtimeEnv: {
NEXT_PUBLIC_BASE_URL: process.env.NEXT_PUBLIC_BASE_URL, NEXT_PUBLIC_BASE_URL: process.env.NEXT_PUBLIC_BASE_URL,
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: process.env.NEXT_PUBLIC_STRIPE_PUBLIC_KEY, NEXT_PUBLIC_STRIPE_PUBLIC_KEY: process.env.NEXT_PUBLIC_STRIPE_PUBLIC_KEY,
NEXT_PUBLIC_UMAMI_ID: process.env.NEXT_PUBLIC_UMAMI_ID,
//NEXT_PUBLIC_TEST: process.env.NEXT_PUBLIC_TEST, //NEXT_PUBLIC_TEST: process.env.NEXT_PUBLIC_TEST,
}, },
skipValidation: process.env.SKIP_ENV_VALIDATION === "1" || false, skipValidation: process.env.SKIP_ENV_VALIDATION === "1" || false,

View file

@ -1,6 +1,4 @@
import { Head, Html, Main, NextScript } from "next/document"; import { Head, Html, Main, NextScript } from "next/document";
import Script from "next/script";
import { env } from "~/env";
import { inter } from "~/utils/fonts"; import { inter } from "~/utils/fonts";
export default function Document() { export default function Document() {
@ -56,12 +54,8 @@ export default function Document() {
<body> <body>
<Main /> <Main />
<NextScript /> <NextScript />
<Script
data-website-id={env.NEXT_PUBLIC_UMAMI_ID}
defer
src={`https://analytics.${env.BASE_URL.replace("https://", "").replace("http://", "")}/script.js`}
></Script>
</body> </body>
</Html> </Html>
); );
} }

View file

@ -66,7 +66,6 @@ docker build \
--build-arg BASE_URL="${BASE_URL}" \ --build-arg BASE_URL="${BASE_URL}" \
--build-arg NEXT_PUBLIC_BASE_URL="${BASE_URL}" \ --build-arg NEXT_PUBLIC_BASE_URL="${BASE_URL}" \
--build-arg NEXT_PUBLIC_STRIPE_PUBLIC_KEY="${NEXT_PUBLIC_STRIPE_PUBLIC_KEY}" \ --build-arg NEXT_PUBLIC_STRIPE_PUBLIC_KEY="${NEXT_PUBLIC_STRIPE_PUBLIC_KEY}" \
--build-arg NEXT_PUBLIC_UMAMI_ID="${NEXT_PUBLIC_UMAMI_ID}" \
-t "${IMAGE}" \ -t "${IMAGE}" \
--label "org.opencontainers.image.description=${DESCRIPTION}" \ --label "org.opencontainers.image.description=${DESCRIPTION}" \
-f "./apps/infoalloggi/Dockerfile" \ -f "./apps/infoalloggi/Dockerfile" \

View file

@ -173,7 +173,6 @@ services:
STORAGE_URL: http://storage:8080 STORAGE_URL: http://storage:8080
STORAGE_TOKEN: ${STORAGE_TOKEN} STORAGE_TOKEN: ${STORAGE_TOKEN}
BROWSER_WS_URL: "ws://browserless:3000" BROWSER_WS_URL: "ws://browserless:3000"
NEXT_PUBLIC_UMAMI_ID: ${NEXT_PUBLIC_UMAMI_ID}
networks: networks:
- dokploy-network - dokploy-network
expose: expose:
@ -212,57 +211,6 @@ services:
tiles: tiles:
condition: service_healthy condition: service_healthy
umami-db:
image: postgres:15-alpine
environment:
POSTGRES_DB: ${UMAMI_DB_NAME:-umamidb}
POSTGRES_USER: ${UMAMI_DB_USER:-umami_user}
POSTGRES_PASSWORD: ${UMAMI_DB_PASSWORD}
volumes:
- umami-db-data:/var/lib/postgresql/data
restart: always
networks:
- dokploy-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${UMAMI_DB_USER:-umami_user} -d $${UMAMI_DB_NAME:-umamidb}"]
interval: 5s
timeout: 5s
retries: 5
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
expose:
- 3000
environment:
DATABASE_URL: postgresql://${UMAMI_DB_USER:-umami_user}:${UMAMI_DB_PASSWORD}@umami-db:5432/${UMAMI_DB_NAME:-umamidb}
APP_SECRET: ${UMAMI_APP_SECRET}
depends_on:
umami-db:
condition: service_healthy
restart: always
init: true
healthcheck:
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
interval: 5s
timeout: 5s
retries: 5
networks:
- dokploy-network
labels:
- "traefik.enable=true"
# HTTP ROUTER
- "traefik.http.routers.umami-info-http.rule=Host(`analytics.${DOMAIN}`)"
- "traefik.http.routers.umami-info-http.entrypoints=web"
- "traefik.http.routers.umami-info-http.service=umami-info-http"
- "traefik.http.routers.umami-info-http.middlewares=redirect-to-https@file"
- "traefik.http.services.umami-info-http.loadbalancer.server.port=3000"
# HTTPS ROUTER
- "traefik.http.routers.umami-info.rule=Host(`analytics.${DOMAIN}`)"
- "traefik.http.routers.umami-info.entrypoints=websecure"
- "traefik.http.routers.umami-info.service=umami-info"
- "traefik.http.routers.umami-info.tls.certresolver=letsencrypt"
- "traefik.http.services.umami-info.loadbalancer.server.port=3000"
networks: networks:
dokploy-network: dokploy-network:
external: true external: true
@ -272,4 +220,3 @@ volumes:
tiles-data: tiles-data:
keydb-data: keydb-data:
dbdata: dbdata:
umami-db-data: