web2
This commit is contained in:
parent
adf5749ec8
commit
73e7c947d8
5 changed files with 84 additions and 73 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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*",
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -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");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue