Files
DLE/webssh-agent/Dockerfile
2025-10-13 22:41:49 +03:00

55 lines
1.3 KiB
Docker

FROM node:20-slim
# Устанавливаем необходимые пакеты
RUN apt-get update && apt-get install -y \
openssh-client \
sshpass \
curl \
wget \
ca-certificates \
python3 \
make \
g++ \
tar \
gzip \
zip \
unzip \
&& rm -rf /var/lib/apt/lists/*
# Устанавливаем Docker CLI
RUN curl -fsSL https://get.docker.com | sh
# Создаем пользователя для безопасности
RUN useradd -m -s /bin/bash webssh
# Создаем рабочую директорию
WORKDIR /app
# Копируем package.json
COPY package*.json ./
# Устанавливаем зависимости через yarn
RUN yarn install
# Копируем исходный код
COPY . .
# Создаем SSH директорию для пользователя
RUN mkdir -p /home/webssh/.ssh && \
chmod 700 /home/webssh/.ssh && \
touch /home/webssh/.ssh/config && \
chmod 600 /home/webssh/.ssh/config && \
chown -R webssh:webssh /home/webssh/.ssh
# Добавляем пользователя в группу docker
RUN usermod -aG docker webssh
# Переключаемся на пользователя
USER webssh
# Открываем порт
EXPOSE 3000
# Команда запуска
CMD ["yarn", "start"]