diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..fdeb6d9 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +node_modules +dist +.git +.claude +npm-debug.log* +Dockerfile* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..22fb02c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# syntax=docker/dockerfile:1 + +FROM node:20-alpine AS builder +WORKDIR /app + +COPY package.json package-lock.json ./ +RUN npm ci + +COPY . . +RUN npm run build + +FROM nginx:1.27-alpine +COPY --from=builder /app/dist /usr/share/nginx/html + +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..1c57bf4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +services: + dronecan-webtools: + build: + context: . + dockerfile: Dockerfile + image: dronecan-webtools:latest + container_name: dronecan-webtools + ports: + - "8080:80" + restart: unless-stopped