|
|
| FROM node:20
|
|
|
|
|
| WORKDIR /app
|
|
|
|
|
| RUN apt-get update && apt-get install -y \
|
| build-essential \
|
| zlib1g-dev \
|
| libssl-dev \
|
| wget \
|
| && rm -rf /var/lib/apt/lists/*
|
|
|
|
|
| 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*
|
|
|
|
|
| COPY package*.json ./
|
|
|
|
|
|
|
| RUN npm install
|
|
|
|
|
| COPY . .
|
|
|
|
|
| RUN if id 1000 >/dev/null 2>&1; then \
|
| userdel -f $(id -nu 1000); \
|
| fi \
|
| && useradd -u 1000 -m -s /bin/bash user \
|
| && echo 'user:password' | chpasswd
|
|
|
|
|
| RUN mkdir -p /etc/dropbear
|
|
|
|
|
| RUN chown -R user:user /app /etc/dropbear
|
|
|
|
|
| USER user
|
|
|
|
|
| EXPOSE 7860 2202
|
|
|
|
|
| COPY start.sh /start.sh
|
| RUN chmod +x /start.sh
|
|
|
|
|
| CMD ["/start.sh"] |