Files
theater-ziefen-website/Dockerfile
T
johannes.gasser 4787f2d98b
Build and Deploy / build-and-deploy (push) Successful in 12m48s
fix build
2026-05-04 20:11:43 +02:00

28 lines
834 B
Docker

# Shared build: generates /dist (Astro site + admin SPA) and tina/__generated__
FROM node:22-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --legacy-peer-deps
COPY . .
ENV TINA_PUBLIC_IS_LOCAL=true
ENV NODE_OPTIONS="--max-old-space-size=2048"
RUN npm run build:docker
# Frontend: Nginx serving the static site + TinaCMS admin SPA
FROM nginx:alpine AS frontend
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
# Backend: TinaCMS self-hosted API server
FROM node:22-alpine AS backend
WORKDIR /app
COPY package*.json ./
RUN npm ci --legacy-peer-deps --omit=dev
COPY backend/ ./backend/
COPY --from=builder /app/tina/__generated__ ./tina/__generated__
ENV NODE_ENV=production
EXPOSE 3000
CMD ["node", "backend/index.js"]