File size: 2,323 Bytes
a7e315c 72e8b95 d9c7f67 1e1c12a e47ddc5 1e1c12a a45f133 1e1c12a a45f133 a7e315c 0924006 a7e315c ac82c9e a7e315c 1e1c12a 97ac3fa a7e315c 09e4971 d9cd0da a7e315c 45b8fe4 0924006 a7e315c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # Usa la imagen oficial de Redis
FROM redis:latest
# Crea el directorio de la aplicaci贸n
WORKDIR /usr/src/app
# Instala curl y ngrok
RUN apt-get update && apt-get install -y curl unzip && \
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc | tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | tee /etc/apt/sources.list.d/ngrok.list && \
apt-get update && \
apt-get install -y ngrok
# Crea el directorio para la configuraci贸n de Redis
RUN mkdir -p /usr/local/etc/redis
# Genera una contrase帽a y un token de Ngrok basado en t茅rminos de Hugging Face Spaces
RUN REDIS_PASSWORD="huggingface_spaces_$(date +%s | sha256sum | base64 | head -c 32)" && \
NGROK_AUTH_TOKEN="huggingface_$(date +%s | sha256sum | base64 | head -c 20)" && \
echo "requirepass \$REDIS_PASSWORD" > /usr/local/etc/redis/redis.conf && \
echo "save ''" >> /usr/local/etc/redis/redis.conf && \
echo "appendonly no" >> /usr/local/etc/redis/redis.conf && \
echo "port 7860" >> /usr/local/etc/redis/redis.conf && \
echo '#!/bin/bash' > /usr/local/bin/start-redis.sh && \
echo 'echo "La contrase帽a de Redis es: ${REDIS_PASSWORD}"' >> /usr/local/bin/start-redis.sh && \
echo 'redis-server /usr/local/etc/redis/redis.conf &' >> /usr/local/bin/start-redis.sh && \
echo 'sleep 2' >> /usr/local/bin/start-redis.sh && \
echo 'ngrok http 7860 --authtoken ${NGROK_AUTH_TOKEN} &' >> /usr/local/bin/start-redis.sh && \
echo 'while true; do' >> /usr/local/bin/start-redis.sh && \
echo ' sleep 5;' >> /usr/local/bin/start-redis.sh && \
echo ' if ! pidof redis-server > /dev/null; then' >> /usr/local/bin/start-redis.sh && \
echo ' echo "Redis ha dejado de funcionar. Reiniciando...";' >> /usr/local/bin/start-redis.sh && \
echo ' redis-server /usr/local/etc/redis/redis.conf &' >> /usr/local/bin/start-redis.sh && \
echo ' fi' >> /usr/local/bin/start-redis.sh && \
echo 'done' >> /usr/local/bin/start-redis.sh && \
chmod +x /usr/local/bin/start-redis.sh
# Establece permisos en las carpetas necesarias
RUN chmod -R 777 /usr/local/etc/redis /usr/src/app
# Exponer el puerto de Redis
EXPOSE 7860
# Comando para ejecutar el script de supervisi贸n
CMD ["/usr/local/bin/start-redis.sh"]
|