feat(frontend): update pages, components and branding

Refresh Astro frontend implementation including new pages (Portfolio, Teams, Services), components, and styling updates.
This commit is contained in:
2026-02-11 11:50:42 +08:00
parent be7fc902fb
commit 9c2181f743
49 changed files with 9699 additions and 899 deletions

52
apps/frontend/Dockerfile Normal file
View File

@@ -0,0 +1,52 @@
# Use Node.js 18 Alpine for smaller image size
FROM node:18-alpine AS base
# Install pnpm globally
RUN npm install -g pnpm@10.17.0
# Set working directory
WORKDIR /app
# Copy package files
COPY package.json pnpm-lock.yaml ./
# Install dependencies
RUN pnpm install --frozen-lockfile
# Copy source code
COPY . .
# Build the application
RUN pnpm build
# Production stage
FROM node:18-alpine AS production
# Install pnpm globally
RUN npm install -g pnpm@10.17.0
# Set working directory
WORKDIR /app
# Copy package files
COPY package.json pnpm-lock.yaml ./
# Install only production dependencies
RUN pnpm install --frozen-lockfile --prod
# Copy built application from base stage
COPY --from=base /app/dist ./dist
COPY --from=base /app/src ./src
COPY --from=base /app/astro.config.mjs ./
COPY --from=base /app/tailwind.config.mjs ./
# Expose port 4321 (Astro default)
EXPOSE 4321
# Set environment variables
ENV NODE_ENV=production
ENV HOST=0.0.0.0
ENV PORT=4321
# Start the application
CMD ["pnpm", "preview"]