This commit is contained in:
Anang Yusman 2025-12-30 17:51:55 +08:00
parent ae5f61d307
commit 3991192fb0
10 changed files with 25 additions and 52 deletions

View File

@ -1,25 +1,36 @@
FROM node:21-alpine
# Menggunakan image Node.js yang lebih ringan
FROM node:23.5.0-alpine
ENV PORT=4000
# Mengatur port
ENV PORT 3000
# Install pnpm secara global
RUN npm install -g pnpm
# Membuat direktori aplikasi dan mengatur sebagai working directory
WORKDIR /usr/src/app
# Install git (WAJIB untuk next build)
RUN apk add --no-cache git
# Menyalin file penting terlebih dahulu untuk caching
COPY package.json ./
# Copy package files
COPY package*.json ./
# Menyalin direktori ckeditor5 jika diperlukan
COPY vendor/ckeditor5 ./vendor/ckeditor5
# Install dependencies (cukup SEKALI)
RUN npm install --legacy-peer-deps
# Menyalin env
COPY .env .env
# Copy source
# Install dependencies
RUN pnpm install
# RUN pnpm install --frozen-lockfile
# Menyalin source code aplikasi
COPY . .
# Build app
RUN npm run build
# Build aplikasi
RUN NODE_OPTIONS="--max-old-space-size=4096" pnpm next build
EXPOSE 4000
# Expose port untuk server
EXPOSE 3000
# Run app
CMD ["npm", "run", "start"]
# Perintah untuk menjalankan aplikasi
CMD ["pnpm", "run", "start"]

View File

@ -1,5 +1,4 @@
"use client";
import DashboardContainer from "@/components/main/dashboard/dashboard-container";
import { motion } from "framer-motion";
import { useEffect, useState } from "react";

View File

@ -1,16 +1,6 @@
import Agent from "@/components/landing-page/agent";
import BestAgent from "@/components/landing-page/best-agent";
import Footer from "@/components/landing-page/footer";
import Galeri from "@/components/landing-page/galeri";
import GallerySection from "@/components/landing-page/galery";
import HeaderAbout from "@/components/landing-page/header-about";
import HeaderItems from "@/components/landing-page/header-item";
import Help from "@/components/landing-page/help";
import FormJaecoo from "@/components/landing-page/jaecoo-form";
import Navbar from "@/components/landing-page/navbar";
import NearestLocation from "@/components/landing-page/nearest-location";
import Service from "@/components/landing-page/service";
export default function AboutPage() {
return (

View File

@ -1,15 +1,7 @@
import Agent from "@/components/landing-page/agent";
import BestAgent from "@/components/landing-page/best-agent";
import Footer from "@/components/landing-page/footer";
import Galeri from "@/components/landing-page/galeri";
import HeaderAbout from "@/components/landing-page/header-about";
import HeaderItems from "@/components/landing-page/header-item";
import Help from "@/components/landing-page/help";
import FormJaecoo from "@/components/landing-page/jaecoo-form";
import Navbar from "@/components/landing-page/navbar";
import NearestLocation from "@/components/landing-page/nearest-location";
import Service from "@/components/landing-page/service";
export default function AboutPage() {
return (

View File

@ -1,16 +1,5 @@
import Agent from "@/components/landing-page/agent";
import BestAgent from "@/components/landing-page/best-agent";
import Footer from "@/components/landing-page/footer";
import Galeri from "@/components/landing-page/galeri";
import GallerySection from "@/components/landing-page/galery";
import HeaderAbout from "@/components/landing-page/header-about";
import HeaderItems from "@/components/landing-page/header-item";
import Help from "@/components/landing-page/help";
import FormJaecoo from "@/components/landing-page/jaecoo-form";
import Navbar from "@/components/landing-page/navbar";
import NearestLocation from "@/components/landing-page/nearest-location";
import Service from "@/components/landing-page/service";
import SosmedSection from "@/components/landing-page/social-media";
export default function AboutPage() {

View File

@ -1,7 +1,5 @@
import Footer from "@/components/landing-page/footer";
import HeaderAfterSalesServices from "@/components/landing-page/header-after-sales";
import HeaderPriceInformation from "@/components/landing-page/header-price";
import HeaderProduct from "@/components/landing-page/header-product-j7-awd";
import Navbar from "@/components/landing-page/navbar";
export default function AfterSalesServicesPage() {

View File

@ -1,6 +1,5 @@
import Footer from "@/components/landing-page/footer";
import HeaderPriceInformation from "@/components/landing-page/header-price";
import HeaderProduct from "@/components/landing-page/header-product-j7-awd";
import Navbar from "@/components/landing-page/navbar";
export default function PriceInformationPage() {

View File

@ -1,9 +1,6 @@
import Footer from "@/components/landing-page/footer";
import HeaderPriceInformation from "@/components/landing-page/header-price";
import HeaderProduct from "@/components/landing-page/header-product-j7-awd";
import Navbar from "@/components/landing-page/navbar";
import HeaderProgramSales from "@/components/landing-page/program-sales";
import HeaderPromo from "@/components/landing-page/promo";
export default function ProgramSalesPage() {
return (

View File

@ -1,5 +1,4 @@
"use client";
import Image from "next/image";
import {
Carousel,

View File

@ -1,5 +1,4 @@
"use client";
import {
DashboardCommentIcon,
DashboardConnectIcon,