diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e4186e9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ +# Build Stage 1 + +FROM node:22-alpine AS build +WORKDIR /app + +RUN corepack enable + +# Copy package.json and your lockfile, here we add pnpm-lock.yaml for illustration +#COPY package.json pnpm-lock.yaml .npmrc ./ +COPY package.json pnpm-lock.yaml ./ + +# Install dependencies +RUN pnpm i + +# Copy the entire project +COPY . ./ + +# Build the project +RUN pnpm run build + +# Build Stage 2 + +FROM node:22-alpine +WORKDIR /app + +RUN corepack enable + +# Only `.output` folder is needed from the build stage +COPY --from=build /app/.output/ ./ +RUN mkdir -p /app/server/db/ +COPY --from=build /app/db/database.db /app/server/db/ +WORKDIR /app/server +RUN pnpm i +# Change the port and host +ENV PORT=33550 +ENV HOST=0.0.0.0 + +EXPOSE 33550 + +CMD ["node", "/app/server/index.mjs"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..83f6a1e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,7 @@ +services: + prawojazdy: + container_name: prawojazdy + build: . + ports: + - 33550:33550 + env_file: '.env'