File size: 844 Bytes
c83b086
e34472c
b807b54
 
 
 
 
 
 
 
5a9fad9
b807b54
89a68ce
d25c206
5a9fad9
b807b54
 
e34472c
b807b54
 
e34472c
c83b086
 
 
b807b54
 
e34472c
c83b086
 
5db1611
e34472c
5db1611
e34472c
c83b086
41b4066
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
FROM node:18-alpine

# Use the existing node user (usually UID 1000)
# Set up environment variables for the node user
ENV HOME=/home/node \
    PATH=/home/node/.local/bin:$PATH

# Create and set up app directory owned by node user
# Go to user's home directory first to ensure it exists
WORKDIR $HOME
RUN mkdir -p $HOME/app && \
    chown -R node:node $HOME/app && \
    chmod -R 755 $HOME/app # Set initial permissions
WORKDIR $HOME/app

# Switch to the node user
USER node

# Copy package files (owned by node)
COPY --chown=node:node viewer/package*.json ./

# Install dependencies
RUN npm install

# Copy the entire viewer directory (owned by node)
COPY --chown=node:node viewer/ .

# Build the application
RUN npm run build

# Expose port
EXPOSE 7860

# Start the application
CMD ["npm", "run", "preview", "--", "--port", "7860", "--host"]