| FROM node:20 | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| ENV NODE_VERSION=20 | |
| RUN apt-get update && apt-get install -y \ | |
| python3 \ | |
| python3-pip \ | |
| wget \ | |
| curl \ | |
| gnupg \ | |
| build-essential \ | |
| zlib1g-dev \ | |
| iproute2 \ | |
| && apt-get clean \ | |
| && rm -rf /var/lib/apt/lists/* | |
| RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION}.x | bash - \ | |
| && apt-get install -y nodejs | |
| RUN wget https://matt.ucc.asn.au/dropbear/dropbear-2024.85.tar.bz2 \ | |
| && tar xjf dropbear-2024.85.tar.bz2 \ | |
| && cd dropbear-2024.85 \ | |
| && ./configure \ | |
| && make \ | |
| && make install \ | |
| && cd .. \ | |
| && rm -rf dropbear-2024.85 dropbear-2024.85.tar.bz2 | |
| RUN useradd -u 1000 -m -s /bin/bash user \ | |
| && echo 'user:password' | chpasswd | |
| WORKDIR /home/user/app | |
| COPY package*.json ./ | |
| RUN npm install | |
| COPY . . | |
| RUN chown -R user:user /home/user \ | |
| && mkdir -p /etc/dropbear \ | |
| && chown -R user:user /etc/dropbear | |
| EXPOSE 3000 2222 | |
| USER user | |
| CMD ["npm", "start"] |