[General] Folder Structure has been changed and Dockerfile added.
This commit is contained in:
23
Dockerfile
Normal file
23
Dockerfile
Normal file
@@ -0,0 +1,23 @@
|
||||
# Stage 1: Build the Astro Site
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Install dependencies strictly
|
||||
COPY package*.json ./
|
||||
RUN npm ci
|
||||
|
||||
# Copy source files and build the production static files
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
|
||||
# Stage 2: Serve with Nginx for lightning fast delivery and low memory footprint
|
||||
FROM nginx:alpine
|
||||
|
||||
# Copy the generated static files from the build stage into Nginx
|
||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||
|
||||
# Add custom nginx config if we ever need advanced routing, otherwise default works flawlessly for SSG
|
||||
EXPOSE 80
|
||||
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
12
docker-compose.yml
Normal file
12
docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
production-frontend:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: notjustan-agency-frontend
|
||||
restart: unless-stopped
|
||||
# Depending on Coolify's proxy configuration, exposing port 80 allows Traefik/Caddy to automatically route domain traffic
|
||||
ports:
|
||||
- "80"
|
||||
@@ -1,7 +1,7 @@
|
||||
import React, { useEffect, useRef } from 'react';
|
||||
import { gsap } from 'gsap';
|
||||
import { ArrowRight } from 'lucide-react';
|
||||
import LiveClock from './LiveClock';
|
||||
import LiveClock from '../ui/LiveClock';
|
||||
|
||||
// Hardcoded paths fetched from Simple Icons (to guarantee visibility)
|
||||
const logoPaths = {
|
||||
@@ -1,17 +1,17 @@
|
||||
---
|
||||
import Layout from '../layouts/Layout.astro';
|
||||
import LoadingScreen from '../components/LoadingScreen';
|
||||
import HeroSection from '../components/HeroSection';
|
||||
import ApproachSection from '../components/ApproachSection';
|
||||
import ServicesSection from '../components/ServicesSection';
|
||||
import InsightsSection from '../components/InsightsSection';
|
||||
import BusinessStagesSection from '../components/BusinessStagesSection';
|
||||
import StrategySection from '../components/StrategySection';
|
||||
import BrandAwarenessSection from '../components/BrandAwarenessSection';
|
||||
import PerformanceMarketingSection from '../components/PerformanceMarketingSection';
|
||||
import OfferSection from '../components/OfferSection';
|
||||
import ContactForm from '../components/ContactForm';
|
||||
import FooterSection from '../components/FooterSection';
|
||||
import LoadingScreen from '../components/ui/LoadingScreen';
|
||||
import HeroSection from '../components/sections/HeroSection';
|
||||
import ApproachSection from '../components/sections/ApproachSection';
|
||||
import ServicesSection from '../components/sections/ServicesSection';
|
||||
import InsightsSection from '../components/sections/InsightsSection';
|
||||
import BusinessStagesSection from '../components/sections/BusinessStagesSection';
|
||||
import StrategySection from '../components/sections/StrategySection';
|
||||
import BrandAwarenessSection from '../components/sections/BrandAwarenessSection';
|
||||
import PerformanceMarketingSection from '../components/sections/PerformanceMarketingSection';
|
||||
import OfferSection from '../components/sections/OfferSection';
|
||||
import ContactForm from '../components/forms/ContactForm';
|
||||
import FooterSection from '../components/sections/FooterSection';
|
||||
---
|
||||
|
||||
<Layout title="NotJustAn.Agency | Premium Web Design & Development">
|
||||
|
||||
Reference in New Issue
Block a user