[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 React, { useEffect, useRef } from 'react';
|
||||||
import { gsap } from 'gsap';
|
import { gsap } from 'gsap';
|
||||||
import { ArrowRight } from 'lucide-react';
|
import { ArrowRight } from 'lucide-react';
|
||||||
import LiveClock from './LiveClock';
|
import LiveClock from '../ui/LiveClock';
|
||||||
|
|
||||||
// Hardcoded paths fetched from Simple Icons (to guarantee visibility)
|
// Hardcoded paths fetched from Simple Icons (to guarantee visibility)
|
||||||
const logoPaths = {
|
const logoPaths = {
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
---
|
---
|
||||||
import Layout from '../layouts/Layout.astro';
|
import Layout from '../layouts/Layout.astro';
|
||||||
import LoadingScreen from '../components/LoadingScreen';
|
import LoadingScreen from '../components/ui/LoadingScreen';
|
||||||
import HeroSection from '../components/HeroSection';
|
import HeroSection from '../components/sections/HeroSection';
|
||||||
import ApproachSection from '../components/ApproachSection';
|
import ApproachSection from '../components/sections/ApproachSection';
|
||||||
import ServicesSection from '../components/ServicesSection';
|
import ServicesSection from '../components/sections/ServicesSection';
|
||||||
import InsightsSection from '../components/InsightsSection';
|
import InsightsSection from '../components/sections/InsightsSection';
|
||||||
import BusinessStagesSection from '../components/BusinessStagesSection';
|
import BusinessStagesSection from '../components/sections/BusinessStagesSection';
|
||||||
import StrategySection from '../components/StrategySection';
|
import StrategySection from '../components/sections/StrategySection';
|
||||||
import BrandAwarenessSection from '../components/BrandAwarenessSection';
|
import BrandAwarenessSection from '../components/sections/BrandAwarenessSection';
|
||||||
import PerformanceMarketingSection from '../components/PerformanceMarketingSection';
|
import PerformanceMarketingSection from '../components/sections/PerformanceMarketingSection';
|
||||||
import OfferSection from '../components/OfferSection';
|
import OfferSection from '../components/sections/OfferSection';
|
||||||
import ContactForm from '../components/ContactForm';
|
import ContactForm from '../components/forms/ContactForm';
|
||||||
import FooterSection from '../components/FooterSection';
|
import FooterSection from '../components/sections/FooterSection';
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title="NotJustAn.Agency | Premium Web Design & Development">
|
<Layout title="NotJustAn.Agency | Premium Web Design & Development">
|
||||||
|
|||||||
Reference in New Issue
Block a user