This commit is contained in:
Marco Pedone 2025-08-07 19:31:51 +02:00
parent adf5749ec8
commit 73e7c947d8
5 changed files with 84 additions and 73 deletions

View file

@ -6,7 +6,12 @@ FROM base AS deps
RUN apk add --no-cache libc6-compat openssl RUN apk add --no-cache libc6-compat openssl
WORKDIR /app WORKDIR /app
COPY package*.json package-lock.json* ./ COPY package*.json package-lock.json* ./
RUN npm ci ENV NODE_ENV=production
RUN echo "base variables: $NODE_ENV is set to $NODE_ENV"
RUN npm ci --omit=dev
RUN echo "Dependencies installed successfully"
# Builder stage # Builder stage
# This stage is used to build the application # This stage is used to build the application
@ -14,6 +19,8 @@ FROM base AS builder
WORKDIR /app WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules COPY --from=deps /app/node_modules ./node_modules
COPY . . COPY . .
ENV NODE_ENV=production ENV NODE_ENV=production
ARG BASE_URL ARG BASE_URL
ENV NEXT_PUBLIC_BASE_URL=$BASE_URL ENV NEXT_PUBLIC_BASE_URL=$BASE_URL
@ -66,6 +73,10 @@ ENV SKIP_REDIS="true"
RUN SKIP_ENV_VALIDATION=1 npm run build RUN SKIP_ENV_VALIDATION=1 npm run build
RUN echo "variables: $BASE_URL, $INTERNAL_BASE_URL, $POSTGRES_USER, $POSTGRES_PASSWORD, $POSTGRES_DB, $PGHOST, $PGPORT, $JWT_SECRET, $BACKENDSERVER_URL, $SENDGRID_API_KEY, $STRIPE_SECRET_KEY, $NEXT_PUBLIC_STRIPE_PUBLIC_KEY, $STRIPE_LIMITED_KEY, $STRIPE_WEBHOOK_SECRET, $FIC_CLIENT_ID, $FIC_ACCESS_TOKEN, $FIC_COMPANY_ID, $ARUBA_USER, $ARUBA_PASS, $EXP_API_USER, $EXP_API_PASS, $KEYDB_URL, $TILES_URL are set successfully"
RUN echo "Build completed successfully"
# Runner stage # Runner stage
# This stage is used to run the built application # This stage is used to run the built application
FROM base AS runner FROM base AS runner

View file

@ -38,6 +38,10 @@ const nextConfig = {
devIndicators: false, devIndicators: false,
rewrites: async () => { rewrites: async () => {
return [ return [
{
source: "/api/panel",
destination: env.NODE_ENV === "production" ? "/404" : "/api/panel",
},
{ {
source: "/go-api/images/get/:slug*", source: "/go-api/images/get/:slug*",
destination: env.BACKENDSERVER_URL + "/images/get/:slug*", destination: env.BACKENDSERVER_URL + "/images/get/:slug*",

View file

@ -91,6 +91,7 @@
"tailwind-merge": "3.3", "tailwind-merge": "3.3",
"tailwind-scrollbar": "^4.0.2", "tailwind-scrollbar": "^4.0.2",
"tailwindcss": "^4.1.11", "tailwindcss": "^4.1.11",
"trpc-ui": "https://gitpkg.vercel.app/jrhe/trpc-ui/packages/trpc-ui?feature/zod-v4-support&scripts.postinstall=%26%26%20npm%20install%20pnpm%20%26%26%20npm%20install%20--ignore-scripts%20%26%26%20npm%20run%20build",
"tw-animate-css": "^1.3.6", "tw-animate-css": "^1.3.6",
"type-fest": "^4.41.0", "type-fest": "^4.41.0",
"uuid": "^11.1.0", "uuid": "^11.1.0",
@ -139,11 +140,10 @@
"prettier": "^3.6.2", "prettier": "^3.6.2",
"prettier-plugin-classnames": "^0.8.2", "prettier-plugin-classnames": "^0.8.2",
"prettier-plugin-tailwindcss": "^0.6.14", "prettier-plugin-tailwindcss": "^0.6.14",
"trpc-ui": "https://gitpkg.vercel.app/jrhe/trpc-ui/packages/trpc-ui?feature/zod-v4-support&scripts.postinstall=%26%26%20npm%20install%20pnpm%20%26%26%20npm%20install%20--ignore-scripts%20%26%26%20npm%20run%20build",
"typescript": "^5.9.2", "typescript": "^5.9.2",
"typescript-eslint": "^8.39.0" "typescript-eslint": "^8.39.0"
}, },
"ct3aMetadata": { "ct3aMetadata": {
"initVersion": "7.9.0" "initVersion": "7.9.0"
} }
} }

View file

@ -4,9 +4,6 @@ import { env } from "~/env.mjs";
import { appRouter } from "~/server/api/root"; import { appRouter } from "~/server/api/root";
export default async function handler(_: NextApiRequest, res: NextApiResponse) { export default async function handler(_: NextApiRequest, res: NextApiResponse) {
if (env.NODE_ENV !== "development") {
return res.status(404).send("Not Found");
}
if (!env.NEXT_PUBLIC_BASE_URL.includes("localhost")) { if (!env.NEXT_PUBLIC_BASE_URL.includes("localhost")) {
return res.status(404).send("Not Found"); return res.status(404).send("Not Found");
} }

View file

@ -121,73 +121,72 @@ services:
tiles: tiles:
condition: service_healthy condition: service_healthy
# web: web:
# platform: "linux/amd64" build:
# build: context: ./apps/infoalloggi
# context: ./apps/infoalloggi dockerfile: Dockerfile
# dockerfile: Dockerfile args:
# args: INTERNAL_BASE_URL: http://web:3000
# INTERNAL_BASE_URL: http://web:3000 POSTGRES_USER: ${POSTGRES_USER}
# POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
# POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB}
# POSTGRES_DB: ${POSTGRES_DB} PGHOST: db
# PGHOST: db PGPORT: "5432"
# PGPORT: "5432" BACKENDSERVER_URL: http://backend:1323
# BACKENDSERVER_URL: http://backend:1323 TILES_URL: tiles:6379
# TILES_URL: tiles:6379 KEYDB_URL: keydb:6379
# KEYDB_URL: keydb:6379 BASE_URL: ${BASE_URL}
# 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} STRIPE_LIMITED_KEY: ${STRIPE_LIMITED_KEY}
# STRIPE_LIMITED_KEY: ${STRIPE_LIMITED_KEY} STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET}
# STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET} FIC_CLIENT_ID: ${FIC_CLIENT_ID}
# FIC_CLIENT_ID: ${FIC_CLIENT_ID} FIC_ACCESS_TOKEN: ${FIC_ACCESS_TOKEN}
# FIC_ACCESS_TOKEN: ${FIC_ACCESS_TOKEN} FIC_COMPANY_ID: ${FIC_COMPANY_ID}
# FIC_COMPANY_ID: ${FIC_COMPANY_ID} ARUBA_USER: ${ARUBA_USER}
# ARUBA_USER: ${ARUBA_USER} ARUBA_PASS: ${ARUBA_PASS}
# ARUBA_PASS: ${ARUBA_PASS} EXP_API_USER: ${EXP_API_USER}
# EXP_API_USER: ${EXP_API_USER} EXP_API_PASS: ${EXP_API_PASS}
# EXP_API_PASS: ${EXP_API_PASS} JWT_SECRET: ${JWT_SECRET}
# JWT_SECRET: ${JWT_SECRET} working_dir: /app
# working_dir: /app environment:
# environment: INTERNAL_BASE_URL: http://web:3000
# INTERNAL_BASE_URL: http://web:3000 POSTGRES_USER: ${POSTGRES_USER}
# POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
# POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB}
# POSTGRES_DB: ${POSTGRES_DB} PGHOST: db
# PGHOST: db PGPORT: "5432"
# PGPORT: "5432" BACKENDSERVER_URL: http://backend:1323
# BACKENDSERVER_URL: http://backend:1323 KEYDB_URL: keydb:6379
# KEYDB_URL: keydb:6379 TILES_URL: tiles:6379
# TILES_URL: tiles:6379 BASE_URL: ${BASE_URL}
# 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} STRIPE_LIMITED_KEY: ${STRIPE_LIMITED_KEY}
# STRIPE_LIMITED_KEY: ${STRIPE_LIMITED_KEY} STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET}
# STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET} FIC_CLIENT_ID: ${FIC_CLIENT_ID}
# FIC_CLIENT_ID: ${FIC_CLIENT_ID} FIC_ACCESS_TOKEN: ${FIC_ACCESS_TOKEN}
# FIC_ACCESS_TOKEN: ${FIC_ACCESS_TOKEN} FIC_COMPANY_ID: ${FIC_COMPANY_ID}
# FIC_COMPANY_ID: ${FIC_COMPANY_ID} ARUBA_USER: ${ARUBA_USER}
# ARUBA_USER: ${ARUBA_USER} ARUBA_PASS: ${ARUBA_PASS}
# ARUBA_PASS: ${ARUBA_PASS} EXP_API_USER: ${EXP_API_USER}
# EXP_API_USER: ${EXP_API_USER} EXP_API_PASS: ${EXP_API_PASS}
# EXP_API_PASS: ${EXP_API_PASS} JWT_SECRET: ${JWT_SECRET}
# JWT_SECRET: ${JWT_SECRET} networks:
# networks: - dokploy-network
# - dokploy-network ports:
# ports: - "3000"
# - "3000" depends_on:
# depends_on: backend:
# backend: condition: service_healthy
# condition: service_healthy db:
# db: condition: service_healthy
# condition: service_healthy keydb:
# keydb: condition: service_healthy
# condition: service_healthy tiles:
# tiles: condition: service_healthy
# condition: service_healthy