Serve a production React build from Nginx on your own ARM server with HTTP/2, gzip and long-lived asset caching. Built for Ampere A1 (arm64), listens on port 80, and starts with nginx -g 'daemon off;'.
FROM node:22-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]A static React bundle is the lightest possible workload for an Ampere A1 core — a single 1 OCPU instance serves a Vite build to thousands of visitors a day without breaking a sweat.
Cheaploy builds this image on your own Oracle Always Free VM, opens the ports, issues HTTPS and rolls back if health checks fail.