39 lines
1.2 KiB
Docker
39 lines
1.2 KiB
Docker
FROM python:3.11-slim
|
|
|
|
RUN apt-get update && apt-get install -y openssh-server && rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY . .
|
|
|
|
# Crear directorio de datos con permisos abiertos para lectura del usuario ssh
|
|
RUN mkdir -p /app/data && chmod 777 /app/data
|
|
|
|
# Configurar SSH
|
|
RUN mkdir -p /var/run/sshd && \
|
|
useradd -m -s /bin/bash craig && \
|
|
echo 'craig:madrid' | chpasswd && \
|
|
mkdir -p /home/craig/.ssh && \
|
|
chown craig:craig /home/craig/.ssh
|
|
|
|
# Habilitar autenticacion por contrasena
|
|
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config && \
|
|
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
|
|
|
|
# Al conectar como craig, forzar la ejecucion del visor de anuncios
|
|
RUN echo '' >> /etc/ssh/sshd_config && \
|
|
echo 'Match User craig' >> /etc/ssh/sshd_config && \
|
|
echo ' ForceCommand python3 /app/ssh_display.py' >> /etc/ssh/sshd_config && \
|
|
echo ' PermitTTY yes' >> /etc/ssh/sshd_config && \
|
|
echo ' AllowTcpForwarding no' >> /etc/ssh/sshd_config && \
|
|
echo ' X11Forwarding no' >> /etc/ssh/sshd_config
|
|
|
|
RUN chmod +x /app/start.sh
|
|
|
|
EXPOSE 5000 22
|
|
|
|
CMD ["/app/start.sh"]
|