37 lines
840 B
Docker
37 lines
840 B
Docker
FROM python:3.11-slim
|
|
|
|
# Instalar dependencias del sistema
|
|
RUN apt-get update && apt-get install -y \
|
|
openssh-client \
|
|
ca-certificates \
|
|
netcat-openbsd \
|
|
curl \
|
|
telnet \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Crear directorio de trabajo
|
|
WORKDIR /app
|
|
|
|
# Copiar requirements
|
|
COPY requirements.txt .
|
|
|
|
# Instalar dependencias de Python
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Crear directorios necesarios
|
|
RUN mkdir -p /app/certs /app/config /app/logs /app/scripts
|
|
|
|
# Copiar archivos de la aplicación
|
|
COPY src/ ./src/
|
|
COPY config/ ./config/
|
|
COPY scripts/ ./scripts/
|
|
|
|
# Crear usuario no-root
|
|
RUN useradd -m -u 1000 proxyuser && chown -R proxyuser:proxyuser /app
|
|
USER proxyuser
|
|
|
|
# Exponer puerto para la gestión interna del proxy
|
|
EXPOSE 8080
|
|
|
|
# Comando por defecto
|
|
CMD ["python", "src/industrial_nat_manager.py"] |