[READ-ONLY] Mirror of https://github.com/flo-bit/skywatched. review movies and tv shows, based on at proto
skywatched.app
1.2 kB
53 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
21ENV TMDB_API_KEY=a
22ENV BACKEND_URL=a
23ENV NYX_PASSWORD=a
24
25# Install packages needed to build node modules
26RUN apt-get update -qq && \
27 apt-get install --no-install-recommends -y build-essential node-gyp pkg-config python-is-python3
28
29# Install node modules
30COPY .npmrc package-lock.json package.json ./
31RUN npm ci --include=dev
32
33# Copy application code
34COPY . .
35
36# Build application
37RUN npm run build
38
39# Remove development dependencies
40RUN npm prune --omit=dev
41
42
43# Final stage for app image
44FROM base
45
46# Copy built application
47COPY --from=build /app/build /app/build
48COPY --from=build /app/node_modules /app/node_modules
49COPY --from=build /app/package.json /app
50
51# Start the server by default, this can be overwritten at runtime
52EXPOSE 8080
53CMD [ "npm", "run", "start" ]