-
-
Notifications
You must be signed in to change notification settings - Fork 44
/
Dockerfile
40 lines (27 loc) · 903 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
FROM node:current-alpine AS build
# Make pnpm available
RUN npm i -g pnpm
# working directory for the build
WORKDIR /build
# Copy package configs into working Directory
COPY ./package.json ./pnpm-lock.yaml ./tsconfig.json /build/
# Install required packages
RUN pnpm i
# Copy src files into Working Directory
COPY ./src /build/src
# Compile the project
RUN pnpm run bundle
# Copy built artifacts and dependencies into a minimal release image
FROM node:current-alpine AS release
LABEL Description="Project for automatically organizing and downloading Floatplane videos for plex."
# Create Directory for the Container
WORKDIR /fp
COPY --from=build /build/dist/float.cjs float.cjs
COPY --from=build /build/package.json package.json
# Environment variables
ENV headless=true
# Define volumes to be mountable
VOLUME /fp/db
VOLUME /fp/videos
# Runs on container start
CMD ["node", "./float.cjs"]