File size: 841 Bytes
2bc9dbc
 
 
9e5ca13
2bc9dbc
 
64f269d
2bc9dbc
 
9e5ca13
2bc9dbc
 
0742a9b
9e5ca13
 
2bc9dbc
 
 
 
 
 
 
 
 
 
0742a9b
 
 
 
 
64f269d
 
 
2bc9dbc
 
 
 
cc3cf50
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
# Use Node.js 18 base image
FROM node:18

# Install build tools for node-pty, python3-pip, and sudo
RUN apt-get update && apt-get install -y \
  python3 \
  python3-pip \
  make \
  g++ \
  sudo \
  && rm -rf /var/lib/apt/lists/*

# Allow root to use sudo without a password (optional, since we're already root)
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/root

# Set working directory
WORKDIR /app

# Copy package.json and install dependencies
COPY package.json .
RUN npm install

# Copy application files
COPY . .

# Create run.sh script
RUN echo '#!/bin/bash' > run.sh && \
    echo 'docker run --security-opt no-new-privileges=false -p 7860:7860 <your-image-name>' >> run.sh && \
    chmod +x run.sh

# Ensure the container runs as root
USER root

# Expose port 7860
EXPOSE 7860

# Start the application
CMD ["npm", "start"]