[READ-ONLY] Mirror of https://github.com/flo-bit/skywatched. review movies and tv shows, based on at proto
skywatched.app
1.1 kB
50 lines
1# syntax = docker/dockerfile:1
2
3# Adjust NODE_VERSION as desired
4ARG NODE_VERSION=20.9.0
5FROM node:${NODE_VERSION}-slim as base
6
7LABEL fly_launch_runtime="SvelteKit"
8
9# SvelteKit app lives here
10WORKDIR /app
11
12# Set production environment
13ENV NODE_ENV="production"
14
15# Throw-away build stage to reduce size of final image
16FROM base as build
17
18# set env variables
19ENV DATABASE_URL=file:local.db
20ENV DATABASE_AUTH_TOKEN=a
21
22# Install packages needed to build node modules
23RUN apt-get update -qq && \
24 apt-get install --no-install-recommends -y build-essential node-gyp pkg-config python-is-python3
25
26# Install node modules
27COPY .npmrc package-lock.json package.json ./
28RUN npm ci --include=dev
29
30# Copy application code
31COPY . .
32
33# Build application
34RUN npm run build
35
36# Remove development dependencies
37RUN npm prune --omit=dev
38
39
40# Final stage for app image
41FROM base
42
43# Copy built application
44COPY --from=build /app/build /app/build
45COPY --from=build /app/node_modules /app/node_modules
46COPY --from=build /app/package.json /app
47
48# Start the server by default, this can be overwritten at runtime
49EXPOSE 3000
50CMD [ "npm", "run", "start" ]