From 91bb329370912934ce3093366273ab9b6b559ae6 Mon Sep 17 00:00:00 2001 From: jamesread Date: Sat, 7 Sep 2024 01:52:02 +0100 Subject: [PATCH] feat: Dockerfile! --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 39 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..2418810d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +# Foundation image +FROM registry.fedoraproject.org/fedora-minimal:40 AS foundation + +RUN microdnf install --nodocs --noplugins --setopt=keepcache=0 --setopt=install_weak_deps=0 -y \ + npm \ + node \ + && microdnf clean all + +# Builder image +FROM foundation AS builder + +run mkdir /src + +COPY . /src + +WORKDIR /src + +RUN npx nx reset +RUN npm run build + +# Output image +FROM foundation AS dist + +LABEL org.opencontainers.image.source=https://github.com/gitroomhq/postiz-app +LABEL org.opencontainers.image.title="Postiz App" + +RUN mkdir -p /config /app + +COPY --from=builder /src/dist /app/dist/ +COPY --from=builder /src/package.json /app/ +COPY --from=builder /src/nx.json /app/ + +EXPOSE 4200 +EXPOSE 3000 + +WORKDIR /app + +ENTRYPOINT ["npm", "run", "dev"] diff --git a/package.json b/package.json index 9a5c2dc6..bfadd59e 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "prisma-generate": "cd ./libraries/nestjs-libraries/src/database/prisma && npx prisma generate", "prisma-db-push": "cd ./libraries/nestjs-libraries/src/database/prisma && npx prisma db push", "prisma-reset": "cd ./libraries/nestjs-libraries/src/database/prisma && npx prisma db push --force-reset && npx prisma db push", + "build-docker-image": "docker rmi localhost/postiz || true && docker build -t localhost/postiz . && docker create --name postiz -p 3000:3000 -p 4200:4200 localhost/postiz", "postinstall": "npm run prisma-generate" }, "private": true,