diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml new file mode 100644 index 0000000..6a33824 --- /dev/null +++ b/.github/workflows/docker.yaml @@ -0,0 +1,14 @@ +name: Publish Docker +on: [push] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Publish to Registry + uses: elgohr/Publish-Docker-Github-Action@v5 + with: + name: Glowstudent777/youversion-api + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + default_branch: main \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d3441bf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +FROM node:23-alpine AS builder + +WORKDIR /app + +RUN npm install -g pnpm + +COPY package.json pnpm-lock.yaml ./ + +RUN pnpm install + +COPY . . + +RUN pnpm run build + + +FROM node:23-alpine AS runtime + +WORKDIR /app + +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/package.json ./package.json +COPY --from=builder /app/pnpm-lock.yaml ./pnpm-lock.yaml + +RUN npm install -g pnpm && pnpm install --prod + +EXPOSE 3000 + +CMD ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/swagger/swaggerOptions.ts b/src/swagger/swaggerOptions.ts index 8c8f1f1..71f2f24 100644 --- a/src/swagger/swaggerOptions.ts +++ b/src/swagger/swaggerOptions.ts @@ -13,8 +13,8 @@ export const swaggerOptions: swaggerJSDoc.Options = { } }, apis: [ - "./src/api/v1/verse/*.ts", - "./src/api/v1/votd/*.ts", - "./src/api/v1/status.ts" + "./dist/api/v1/verse/*.js", + "./dist/api/v1/votd/*.js", + "./dist/api/v1/status.js" ] };