added docker

This commit is contained in:
potetmos
2025-07-02 14:12:27 +02:00
parent 9e93f904d7
commit 4fe9e3243a
4 changed files with 56 additions and 6 deletions

17
.dockerignore Normal file
View File

@ -0,0 +1,17 @@
node_modules
npm-debug.log
dist
.git
.gitignore
Dockerfile
Dockerfile*
.dockerignore
*.md
*.tsbuildinfo
.env
.env.*
.vscode
.idea
*.swp
*.swo
*.DS_Store

View File

@ -1,11 +1,14 @@
FROM node:22-alpine AS build # Use a Node image to build the Astro project
FROM node:20-alpine AS builder
WORKDIR /app WORKDIR /app
COPY package*.json ./ COPY package*.json ./
RUN npm ci
COPY . . COPY . .
RUN npm install
RUN npm run build RUN npm run build
FROM nginx:alpine AS runtime # Use Nginx to serve the static site
FROM nginx:alpine AS production
COPY --from=builder /app/dist /usr/share/nginx/html
COPY ./nginx.conf /etc/nginx/nginx.conf COPY ./nginx.conf /etc/nginx/nginx.conf
COPY --from=build /app/dist /usr/share/nginx/html EXPOSE 3000
EXPOSE 8080 CMD ["nginx", "-g", "daemon off;"]

View File

@ -6,7 +6,7 @@ events {
http { http {
server { server {
listen 8080; listen 3000;
server_name _; server_name _;
root /usr/share/nginx/html; root /usr/share/nginx/html;

30
src/Dockerfile Normal file
View File

@ -0,0 +1,30 @@
# Use the official Astro image from Docker Hub
FROM node:20-alpine AS builder
WORKDIR /app
# Install Astro CLI
RUN npm create astro@latest -- --yes
# Copy your project files
COPY . .
# Install dependencies
RUN npm install
# Build the Astro project
RUN npm run build
# Production image
FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/package*.json ./
RUN npm install --production
EXPOSE 3000
CMD ["npm", "start"]