feat: update environment variable handling for BASE_URL and NEXT_PUBLIC_BASE_URL across Docker and application files
This commit is contained in:
parent
8e4d73941f
commit
8a17863c85
9 changed files with 15 additions and 25 deletions
|
|
@ -27,7 +27,8 @@ ENV SKIP_REDIS="true"
|
||||||
# Only essential build-time variables
|
# Only essential build-time variables
|
||||||
ARG BASE_URL
|
ARG BASE_URL
|
||||||
ENV BASE_URL=$BASE_URL
|
ENV BASE_URL=$BASE_URL
|
||||||
ENV NEXT_PUBLIC_BASE_URL=$BASE_URL
|
ARG NEXT_PUBLIC_BASE_URL
|
||||||
|
ENV NEXT_PUBLIC_BASE_URL=$NEXT_PUBLIC_BASE_URL
|
||||||
|
|
||||||
ARG NEXT_PUBLIC_STRIPE_PUBLIC_KEY
|
ARG NEXT_PUBLIC_STRIPE_PUBLIC_KEY
|
||||||
ENV NEXT_PUBLIC_STRIPE_PUBLIC_KEY=$NEXT_PUBLIC_STRIPE_PUBLIC_KEY
|
ENV NEXT_PUBLIC_STRIPE_PUBLIC_KEY=$NEXT_PUBLIC_STRIPE_PUBLIC_KEY
|
||||||
|
|
@ -50,7 +51,6 @@ ENV POSTGRES_PASSWORD=$POSTGRES_PASSWORD
|
||||||
# Mock/empty values for validation bypass during build
|
# Mock/empty values for validation bypass during build
|
||||||
ENV JWT_SECRET="build-time-mock"
|
ENV JWT_SECRET="build-time-mock"
|
||||||
ENV BACKENDSERVER_URL="http://backend:1323"
|
ENV BACKENDSERVER_URL="http://backend:1323"
|
||||||
ENV SENDGRID_API_KEY="mock"
|
|
||||||
ENV STRIPE_SECRET_KEY="mock"
|
ENV STRIPE_SECRET_KEY="mock"
|
||||||
ENV STRIPE_WEBHOOK_SECRET="mock"
|
ENV STRIPE_WEBHOOK_SECRET="mock"
|
||||||
ENV FIC_CLIENT_ID="mock"
|
ENV FIC_CLIENT_ID="mock"
|
||||||
|
|
@ -84,7 +84,8 @@ ENV SKIP_REDIS="false"
|
||||||
# Essential runtime variables
|
# Essential runtime variables
|
||||||
ARG BASE_URL
|
ARG BASE_URL
|
||||||
ENV BASE_URL=$BASE_URL
|
ENV BASE_URL=$BASE_URL
|
||||||
ENV NEXT_PUBLIC_BASE_URL=$BASE_URL
|
ARG NEXT_PUBLIC_BASE_URL
|
||||||
|
ENV NEXT_PUBLIC_BASE_URL=$NEXT_PUBLIC_BASE_URL
|
||||||
ARG INTERNAL_BASE_URL
|
ARG INTERNAL_BASE_URL
|
||||||
ENV INTERNAL_BASE_URL=$INTERNAL_BASE_URL
|
ENV INTERNAL_BASE_URL=$INTERNAL_BASE_URL
|
||||||
ARG POSTGRES_USER
|
ARG POSTGRES_USER
|
||||||
|
|
@ -101,8 +102,6 @@ ARG JWT_SECRET
|
||||||
ENV JWT_SECRET=$JWT_SECRET
|
ENV JWT_SECRET=$JWT_SECRET
|
||||||
ARG BACKENDSERVER_URL
|
ARG BACKENDSERVER_URL
|
||||||
ENV BACKENDSERVER_URL=$BACKENDSERVER_URL
|
ENV BACKENDSERVER_URL=$BACKENDSERVER_URL
|
||||||
ARG SENDGRID_API_KEY
|
|
||||||
ENV SENDGRID_API_KEY=$SENDGRID_API_KEY
|
|
||||||
ARG STRIPE_SECRET_KEY
|
ARG STRIPE_SECRET_KEY
|
||||||
ENV STRIPE_SECRET_KEY=$STRIPE_SECRET_KEY
|
ENV STRIPE_SECRET_KEY=$STRIPE_SECRET_KEY
|
||||||
ARG NEXT_PUBLIC_STRIPE_PUBLIC_KEY
|
ARG NEXT_PUBLIC_STRIPE_PUBLIC_KEY
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@ services:
|
||||||
BACKENDSERVER_URL: http://host.docker.internal:1323
|
BACKENDSERVER_URL: http://host.docker.internal:1323
|
||||||
TILES_URL: host.docker.internal:6379
|
TILES_URL: host.docker.internal:6379
|
||||||
KEYDB_URL: host.docker.internal:6380
|
KEYDB_URL: host.docker.internal:6380
|
||||||
SENDGRID_API_KEY: ${SENDGRID_API_KEY}
|
|
||||||
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY}
|
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY}
|
||||||
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY}
|
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY}
|
||||||
STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET}
|
STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET}
|
||||||
|
|
@ -38,7 +37,6 @@ services:
|
||||||
BACKENDSERVER_URL: http://host.docker.internal:1323
|
BACKENDSERVER_URL: http://host.docker.internal:1323
|
||||||
TILES_URL: host.docker.internal:6379
|
TILES_URL: host.docker.internal:6379
|
||||||
KEYDB_URL: host.docker.internal:638
|
KEYDB_URL: host.docker.internal:638
|
||||||
SENDGRID_API_KEY: ${SENDGRID_API_KEY}
|
|
||||||
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY}
|
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY}
|
||||||
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY}
|
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY}
|
||||||
STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET}
|
STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET}
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,7 @@ export const env = createEnv({
|
||||||
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(),
|
||||||
},
|
},
|
||||||
shared: {
|
|
||||||
NEXT_PUBLIC_BASE_URL: z.string(),
|
|
||||||
},
|
|
||||||
// If you're using Next.js < 13.4.4, you'll need to specify the runtimeEnv manually
|
// If you're using Next.js < 13.4.4, you'll need to specify the runtimeEnv manually
|
||||||
experimental__runtimeEnv: {
|
experimental__runtimeEnv: {
|
||||||
NEXT_PUBLIC_BASE_URL: process.env.NEXT_PUBLIC_BASE_URL,
|
NEXT_PUBLIC_BASE_URL: process.env.NEXT_PUBLIC_BASE_URL,
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ export const intrestsRouter = createTRPCRouter({
|
||||||
mailType: "generic",
|
mailType: "generic",
|
||||||
props: {
|
props: {
|
||||||
link: {
|
link: {
|
||||||
href: `${env.NEXT_PUBLIC_BASE_URL}/area-riservata/admin/user-view/ricerca/${userId}`,
|
href: `${env.BASE_URL}/area-riservata/admin/user-view/ricerca/${userId}`,
|
||||||
label: "Visualizza utente",
|
label: "Visualizza utente",
|
||||||
},
|
},
|
||||||
testo: `L'utente ${user.username} (${user.email}) ha mostrato interesse per l'annuncio "${annuncio.titolo_it}" (Codice: ${annuncio.codice}).`,
|
testo: `L'utente ${user.username} (${user.email}) ha mostrato interesse per l'annuncio "${annuncio.titolo_it}" (Codice: ${annuncio.codice}).`,
|
||||||
|
|
|
||||||
|
|
@ -106,13 +106,13 @@ export const getAnnunciMetaByCod = async ({ cod }: { cod: string }) => {
|
||||||
annuncio.url_immagini &&
|
annuncio.url_immagini &&
|
||||||
annuncio.url_immagini.length > 0 &&
|
annuncio.url_immagini.length > 0 &&
|
||||||
annuncio.url_immagini[0]
|
annuncio.url_immagini[0]
|
||||||
? `${env.NEXT_PUBLIC_BASE_URL}/go-api/images/get/${annuncio.url_immagini[0]}`
|
? `${env.BASE_URL}/go-api/images/get/${annuncio.url_immagini[0]}`
|
||||||
: annuncio.og_url || "";
|
: annuncio.og_url || "";
|
||||||
|
|
||||||
return {
|
return {
|
||||||
description: annuncio.desc_it || "",
|
description: annuncio.desc_it || "",
|
||||||
ogImage,
|
ogImage,
|
||||||
ogUrl: `${env.NEXT_PUBLIC_BASE_URL}/annuncio/${cod}`,
|
ogUrl: `${env.BASE_URL}/annuncio/${cod}`,
|
||||||
title: annuncio.titolo_it || "",
|
title: annuncio.titolo_it || "",
|
||||||
};
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
|
||||||
|
|
@ -1155,12 +1155,6 @@ export const sendServizioEmail = async ({
|
||||||
.where("servizio_annunci.servizio_id", "=", servizioId)
|
.where("servizio_annunci.servizio_id", "=", servizioId)
|
||||||
.execute();
|
.execute();
|
||||||
|
|
||||||
console.log("=== EMAIL DEBUG ===");
|
|
||||||
console.log("BASE_URL:", env.BASE_URL);
|
|
||||||
console.log("INTERNAL_BASE_URL:", env.INTERNAL_BASE_URL);
|
|
||||||
console.log("NEXT_PUBLIC_BASE_URL:", env.NEXT_PUBLIC_BASE_URL);
|
|
||||||
console.log("==================");
|
|
||||||
|
|
||||||
const { email, nome } = user;
|
const { email, nome } = user;
|
||||||
await NewMail({
|
await NewMail({
|
||||||
mailType: "onboardingServizio",
|
mailType: "onboardingServizio",
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,7 @@ export const whIntentSucceededHandler = async ({
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
link: {
|
link: {
|
||||||
href: `${env.NEXT_PUBLIC_BASE_URL}/area-riservata/payment-recap/${ordine.ordine_id}`,
|
href: `${env.BASE_URL}/area-riservata/payment-recap/${ordine.ordine_id}`,
|
||||||
label: "Vai alla ricevuta",
|
label: "Vai alla ricevuta",
|
||||||
},
|
},
|
||||||
noreply: true,
|
noreply: true,
|
||||||
|
|
@ -166,7 +166,7 @@ export const whIntentSucceededHandler = async ({
|
||||||
mailType: "generic",
|
mailType: "generic",
|
||||||
props: {
|
props: {
|
||||||
link: {
|
link: {
|
||||||
href: `${env.NEXT_PUBLIC_BASE_URL}/area-riservata/payment-recap/${ordine.ordine_id}`,
|
href: `${env.BASE_URL}/area-riservata/payment-recap/${ordine.ordine_id}`,
|
||||||
label: "Vai alla ricevuta",
|
label: "Vai alla ricevuta",
|
||||||
},
|
},
|
||||||
noreply: true,
|
noreply: true,
|
||||||
|
|
@ -190,7 +190,7 @@ export const whIntentSucceededHandler = async ({
|
||||||
mailType: "generic",
|
mailType: "generic",
|
||||||
props: {
|
props: {
|
||||||
link: {
|
link: {
|
||||||
href: `${env.NEXT_PUBLIC_BASE_URL}/area-riservata/payment-recap/${ordine.ordine_id}`,
|
href: `${env.BASE_URL}/area-riservata/payment-recap/${ordine.ordine_id}`,
|
||||||
label: "Vai alla ricevuta",
|
label: "Vai alla ricevuta",
|
||||||
},
|
},
|
||||||
noreply: true,
|
noreply: true,
|
||||||
|
|
@ -207,7 +207,7 @@ export const whIntentSucceededHandler = async ({
|
||||||
await NewMail({
|
await NewMail({
|
||||||
mailType: "pagamentoConferma",
|
mailType: "pagamentoConferma",
|
||||||
props: {
|
props: {
|
||||||
receiptHref: `${env.NEXT_PUBLIC_BASE_URL}/area-riservata/payment-recap/${ordine.ordine_id}`,
|
receiptHref: `${env.BASE_URL}/area-riservata/payment-recap/${ordine.ordine_id}`,
|
||||||
},
|
},
|
||||||
subject: "Pagamento Confermato",
|
subject: "Pagamento Confermato",
|
||||||
to: utente.email,
|
to: utente.email,
|
||||||
|
|
@ -251,7 +251,7 @@ export const whIntentFailedHandler = async ({
|
||||||
to: utente.email,
|
to: utente.email,
|
||||||
userId: utente.id,
|
userId: utente.id,
|
||||||
props: {
|
props: {
|
||||||
baseUrl: env.NEXT_PUBLIC_BASE_URL,
|
baseUrl: env.BASE_URL,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,7 @@ export const pwResetSendLinkHandler = async ({ email }: { email: string }) => {
|
||||||
await NewMail({
|
await NewMail({
|
||||||
mailType: "pwResetLink",
|
mailType: "pwResetLink",
|
||||||
props: {
|
props: {
|
||||||
resetlink: `${env.NEXT_PUBLIC_BASE_URL}/auth/password-reset/${token}`,
|
resetlink: `${env.BASE_URL}/auth/password-reset/${token}`,
|
||||||
},
|
},
|
||||||
subject: `Richiesta di reset password Infoalloggi.it`,
|
subject: `Richiesta di reset password Infoalloggi.it`,
|
||||||
to: email,
|
to: email,
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,7 @@ services:
|
||||||
KEYDB_URL: keydb:6379
|
KEYDB_URL: keydb:6379
|
||||||
TILES_URL: tiles:6379
|
TILES_URL: tiles:6379
|
||||||
BASE_URL: ${BASE_URL}
|
BASE_URL: ${BASE_URL}
|
||||||
|
NEXT_PUBLIC_BASE_URL: ${BASE_URL}
|
||||||
SENDGRID_API_KEY: ${SENDGRID_API_KEY}
|
SENDGRID_API_KEY: ${SENDGRID_API_KEY}
|
||||||
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY}
|
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY}
|
||||||
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY}
|
NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${NEXT_PUBLIC_STRIPE_PUBLIC_KEY}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue