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 WORKDIR /usr/src/app
# Install git (WAJIB untuk next build) # Menyalin file penting terlebih dahulu untuk caching
RUN apk add --no-cache git COPY package.json ./
# Copy package files # Menyalin direktori ckeditor5 jika diperlukan
COPY package*.json ./ COPY vendor/ckeditor5 ./vendor/ckeditor5
# Install dependencies (cukup SEKALI) # Menyalin env
RUN npm install --legacy-peer-deps COPY .env .env
# Copy source # Install dependencies
RUN pnpm install
# RUN pnpm install --frozen-lockfile
# Menyalin source code aplikasi
COPY . . COPY . .
# Build app # Build aplikasi
RUN npm run build RUN NODE_OPTIONS="--max-old-space-size=4096" pnpm next build
EXPOSE 4000 # Expose port untuk server
EXPOSE 3000
# Run app # Perintah untuk menjalankan aplikasi
CMD ["npm", "run", "start"] CMD ["pnpm", "run", "start"]

View File

@ -1,5 +1,4 @@
"use client"; "use client";
import DashboardContainer from "@/components/main/dashboard/dashboard-container"; import DashboardContainer from "@/components/main/dashboard/dashboard-container";
import { motion } from "framer-motion"; import { motion } from "framer-motion";
import { useEffect, useState } from "react"; 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 Footer from "@/components/landing-page/footer";
import Galeri from "@/components/landing-page/galeri";
import GallerySection from "@/components/landing-page/galery"; 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 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() { export default function AboutPage() {
return ( return (

View File

@ -1,15 +1,7 @@
import Agent from "@/components/landing-page/agent";
import BestAgent from "@/components/landing-page/best-agent"; import BestAgent from "@/components/landing-page/best-agent";
import Footer from "@/components/landing-page/footer"; import Footer from "@/components/landing-page/footer";
import Galeri from "@/components/landing-page/galeri";
import HeaderAbout from "@/components/landing-page/header-about"; 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 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() { export default function AboutPage() {
return ( 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 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 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"; import SosmedSection from "@/components/landing-page/social-media";
export default function AboutPage() { export default function AboutPage() {

View File

@ -1,7 +1,5 @@
import Footer from "@/components/landing-page/footer"; import Footer from "@/components/landing-page/footer";
import HeaderAfterSalesServices from "@/components/landing-page/header-after-sales"; 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"; import Navbar from "@/components/landing-page/navbar";
export default function AfterSalesServicesPage() { export default function AfterSalesServicesPage() {

View File

@ -1,6 +1,5 @@
import Footer from "@/components/landing-page/footer"; import Footer from "@/components/landing-page/footer";
import HeaderPriceInformation from "@/components/landing-page/header-price"; 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 Navbar from "@/components/landing-page/navbar";
export default function PriceInformationPage() { export default function PriceInformationPage() {

View File

@ -1,9 +1,6 @@
import Footer from "@/components/landing-page/footer"; 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 Navbar from "@/components/landing-page/navbar";
import HeaderProgramSales from "@/components/landing-page/program-sales"; import HeaderProgramSales from "@/components/landing-page/program-sales";
import HeaderPromo from "@/components/landing-page/promo";
export default function ProgramSalesPage() { export default function ProgramSalesPage() {
return ( return (

View File

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

View File

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