diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..cf6a276 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +node_modules +.git +.next +dist +*.log diff --git a/Worker.Dockerfile b/Worker.Dockerfile index f2b02ca..1541adc 100644 --- a/Worker.Dockerfile +++ b/Worker.Dockerfile @@ -1,6 +1,18 @@ -FROM --platform=linux/amd64 node:20-bookworm-slim +FROM --platform=linux/amd64 node:20-bookworm-slim AS builder WORKDIR /app COPY package*.json ./ RUN npm install COPY . . -CMD ["npx", "tsx", "scripts/update-space.ts"] \ No newline at end of file +RUN npx tsc scripts/update-space.ts --outDir dist --module esnext --target esnext --moduleResolution node + +FROM --platform=linux/amd64 node:20-bookworm-slim +WORKDIR /app +ENV NODE_ENV=production +COPY package*.json ./ +RUN npm install --omit=dev +COPY --from=builder /app/dist/scripts/update-space.js ./scripts/ +COPY --from=builder /app/lib ./lib +COPY --from=builder /app/config ./config +RUN mkdir -p /app/data + +CMD ["node", "scripts/update-space.js"] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index a030ed3..f8285f4 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -11,6 +11,9 @@ services: - web_traffic worker: + build: + context: . + dockerfile: Worker.Dockerfile image: git.georgew.dev/georgew/mission-control-worker:latest container_name: mc-worker restart: always