Christmas cookie ranking site
at main 41 lines 775 B view raw
1FROM node:22.14.0 AS source 2WORKDIR /app/ 3COPY ./package.json ./package-lock.json ./svelte.config.js . 4RUN npm ci 5COPY tsconfig.json ./ 6COPY ./src/ ./src/ 7RUN npx svelte-kit sync 8CMD ["false"] 9 10 11FROM source AS load 12CMD ["npx", "tsx", "./src/scripts/load-cookies.ts", "/load/cookies.toml"] 13 14 15FROM source AS migrate 16COPY ./.gmrc .gmrc 17COPY ./migrations/committed/ ./migrations/committed/ 18ENV CI=true 19CMD ["npx", "graphile-migrate", "migrate"] 20 21 22FROM source AS build 23WORKDIR /app/ 24COPY ./vite.config.ts ./ 25COPY ./static/ ./static/ 26ENV ENV=production 27RUN npm run build 28 29 30FROM node:22.14.0 AS release 31WORKDIR /app/ 32 33ENV NODE_ENV=production 34COPY ./package.json ./package-lock.json . 35RUN npm ci 36COPY --from=build /app/build/ ./ 37 38ENV PORT=3000 39EXPOSE $PORT 40 41CMD ["node", "index.js"]