FROM node:22-alpine # Устанавливаем необходимые пакеты RUN apk update && \ apk add --no-cache \ wireguard-tools \ iptables \ iproute2 \ openresolv \ bash \ curl && \ rm -rf /var/cache/apk/* # Создаём непривилегированного пользователя RUN addgroup -S appgroup && \ adduser -S appuser -G appgroup # Рабочая директория WORKDIR /app # Копируем зависимости и устанавливаем их COPY package*.json ./ RUN npm install # Копируем исходный код с правильным владельцем COPY --chown=appuser:appgroup ./src ./src # Копируем скрипт запуска COPY --chown=appuser:appgroup ./wg/start.sh /app/start.sh RUN chmod +x /app/start.sh # Переключаемся на непривилегированного пользователя USER appuser # Команда для запуска CMD ["/bin/bash", "/app/start.sh"]