2 puntos por GN⁺ 2025-09-04 | 1 comentarios | Compartir por WhatsApp
  • Este blog funciona en un Google Pixel 5 reciclado
  • Usa herramientas como Termux para construir un entorno de servidor sobre un dispositivo móvil y operar el blog
  • Funciona de forma completamente off-grid con una combinación de un panel solar de 100W y una estación de energía Jackery de 160W
  • El blog está basado en Hugo y facilita la instalación de paquetes, la automatización de la operación y el respaldo/gestión de archivos con ssh, rsync, cron, etc.
  • Incluso en un smartphone Android logra un funcionamiento estable y rápido, además de un consumo eficiente de energía

Introducción y motivación

  • Este blog funciona únicamente con un Google Pixel 5 y energía renovable (solar)
  • Se inspira en casos de usuarios de Mastodon que alojan sus propios sitios web con hardware creativo como ESP32, dispositivos Android y routers
  • Pensando en el bajo consumo energético, el autor decidió iniciar un experimento para dar una nueva utilidad a hardware de segunda mano

Hardware y entorno de red

  • Entre varios dispositivos almacenados, se eligió un Google Pixel 5 por su Ethernet conectado físicamente de forma directa (con soporte para USB-OTG y dock) y porque aún puede recibir actualizaciones de seguridad recientes
  • Debido al bloqueo de Verizon no fue posible instalar una ROM personalizada, así que se aprovechó el entorno Android tal como estaba
  • Se dio especial importancia a usar una red Ethernet física por cable, y no una conexión inalámbrica (Wi‑Fi)

Blog off-grid basado en energía solar

  • La alimentación eléctrica se realiza con un panel solar monocristalino de 100W de Harbor Freight Tools y una estación de energía Jackery de 160W
  • Esta configuración permitió acumular experiencia en permacomputing (computación permanentemente sostenible) y en experimentos con energía renovable
  • También confirmó la posibilidad de operar un sitio web independiente y off-grid usando solo componentes de segunda mano

Construcción del sitio: Termux y Hugo

  • Aunque se consideró crear un entorno Linux convencional, se optó por Termux, un emulador de terminal para Android, junto con su propio sistema de paquetes
  • Paquetes esenciales como ssh, git, hugo ya existen desde hace tiempo en los repositorios de Termux
  • Después de instalar Hugo directamente en Termux, se migró el blog existente basado en Hugo

Experiencia de operación

  • El sitio mostró un funcionamiento más rápido y confiable de lo esperado
  • Al principio hubo algunos problemas menores, como diferencias de versión de Hugo y la gestión de la batería solar
  • Se logró un entorno tan pulido que a los visitantes les resulta difícil notar que está funcionando sobre un smartphone Android

Implementación y administración simples

  • Es posible montar rápidamente el servidor instalando solo git, screen, un editor de texto y hugo
  • La carga de archivos y las nuevas publicaciones pueden hacerse con el paquete dufs (servidor de archivos estáticos basado en navegador) o con scp
  • dufs también puede instalarse fácilmente desde los repositorios de Termux

Lista básica de paquetes utilitarios

  • rsync, openssh, git, wget, curl, fish shell, cronie, termux-services, iperf3, speedtest-go, screen, helix, hugo

Automatización de servicios y acceso por SSH

  • Dentro de Termux se inician sshd y cronie como servicios (sv-enable)
  • Siguiendo la documentación oficial, hay que prestar atención al registro de claves públicas SSH, el puerto fijo (8022) y el nombre de usuario generado automáticamente

Automatización de un blog basado en Hugo

  • El comando para ejecutar hugo serve se registró como un alias de fish shell para administrarlo
  • Se implementó un script de automatización (~/scripts/blog_reload.sh) para tareas como cerrar la sesión anterior de screen, borrar caché y crear una nueva sesión
  • Mediante cronie se registró un trabajo cron (*/5 * * * * ...) para reiniciar y recargar periódicamente el blog

Respaldo y gestión de datos

  • Desde Termux es posible conectarse remotamente por ssh y respaldar el directorio completo con rsync
  • También incluye automatización con cron hacia un equipo de escritorio y un NAS
  • Además se puede usar una instancia propia de git como respaldo adicional, o cualquier otro forge como GitHub

Cierre y mensaje final

  • Demuestra la viabilidad de operar un blog barato, eficiente y ecológico combinando un dispositivo móvil con energía renovable
  • El autor agradece consultas y comentarios a través de Mastodon o correo electrónico

1 comentarios

 
GN⁺ 2025-09-04
Comentarios en Hacker News
  • Me gusta la idea de reutilizar teléfonos viejos para usos de infraestructura ligera, por su bajo consumo eléctrico y UPS integrada, aunque claro que también tienen desventajas que en parte se pueden compensar. Yo también tengo algunos dispositivos Android viejos y me gustaría hacer un experimento así de interesante. Aunque en la infraestructura de homelab que ya tengo funcionando puedo agregar funciones fácilmente con VMs o contenedores y probablemente el consumo extra de energía sería casi nulo, aun así este tipo de intento me parece genial y me gustaría probarlo. Una cosa que me da curiosidad es por qué no usó WiFi. La combinación base dock -> Ethernet cableado se siente como un accesorio extra innecesario que solo aumenta el consumo energético. No parece que un teléfono viejo necesite tanto ancho de banda, así que me pregunto por qué el autor eligió Ethernet cableado a propósito. Por cierto, creo que también tendré que agregar un Pixel 5 al inventario del homelab. El diseño del sitio y la información también están muy bien
    • Yo también uso un Pixel 3 pegado magnéticamente al lado izquierdo del teclado. Le dejo abierta una página web con una cuadrícula de botones, y al presionarlos hace varias cosas, como insertar una marca de tiempo en la posición del cursor, alternar el encendido y apagado del monitor, ejecutar ciertas apps, etc. Originalmente quería comprar un Elgato Stream Deck, pero como tenía un teléfono sobrante, lo estoy aprovechando así
    • Me gustaría ver un kit de "serverización" para dispositivos móviles viejos. Algo como esos kits para convertir la Game Boy Advance en consola [https://fingercramp.com/portfolio/…], pero extrayendo la placa madre del teléfono y ampliándola con almacenamiento externo, una mejor fuente de poder, interfaz de red física, etc.
    • Soy el autor del blog, gracias. Estoy de acuerdo en que agregar una VM o un contenedor a un homelab ya encendido no aumenta el consumo eléctrico. Yo empecé este proyecto por diversión y porque quería intentar alimentarlo con energía solar. Al principio planeaba apagar el homelab por la noche y dejar solo el teléfono funcionando con batería, pero el homelab ya se volvió infraestructura esencial y tiene que estar encendido siempre. Necesito Ethernet cableado por el ancho de banda estable. Mi red WiFi no tiene un rendimiento muy bueno
    • El WiFi tiene una latencia alta e inconsistente. El 1% más lento de las solicitudes salientes del servidor puede tardar casi un segundo más. Si vas a correr un blog desde un teléfono, creo que debería responder muy rápido. Los teléfonos Android viejos quizá no sean compatibles con los estándares WiFi más recientes, y tal vez tampoco soporten el tráfico de salir a la portada de HN
    • En smartphones, el WiFi tiene un rendimiento muy inestable y mucha latencia para conexiones entrantes inesperadas desde el exterior debido a las funciones de ahorro de energía. No sé si se pueda desactivar con parámetros del kernel, pero aunque se pudiera, probablemente requeriría root
  • La eficiencia energética de los smartphones es realmente interesante. Los teléfonos actuales son como servidores ARM optimizados para uso con batería. Un Pixel 5 consume menos de 5W incluso a carga completa, mientras que un servidor x86 típico consume entre 50 y 100W. Solo con un blog personal eso puede significar entre 400 y 800 kWh ahorrados al año. El impacto ambiental de reutilizar aparatos electrónicos en lugar de reciclarlos es más grande de lo que uno cree
    • Si es un sitio estático, desplegarlo en S3 o Github Pages es mucho más eficiente. Cuando no hay solicitudes, el consumo de recursos es 0. Usar un servidor x86 en casa para alojar un sitio estático es muy ineficiente
    • También se puede configurar x86 para bajo consumo. Un sistema n100 puede estar en reposo por debajo de 10W, y aun bajo carga máxima ronda los 20-30W
    • Eso de que un CPU x86 gaste entre 50 y 100W para tareas que un teléfono de 2020 puede hacer era más bien historia de hace unos 10 años. Ya no es común quemar 75W solo para alojar unos cuantos archivos estáticos. De todos modos, usar un smartphone viejo que tienes en casa como sustituto de ultra bajo consumo para una Pi sigue siendo una buena idea
    • Un ahorro anual de 400 a 800 kWh equivale, con el precio promedio de electricidad en EE. UU. de 13.2 centavos por kWh, a un máximo de 105.60 dólares, o unos 8.8 dólares al mes. Ni siquiera es 1% de la línea de pobreza para una persona sola en 2025, que es de 15,650 dólares. La eficiencia energética está bien, pero a escala macro no hace gran diferencia
  • Para ser exactos, es un Google Pixel 5 reutilizado. No fue completamente desarmado y fabricado de nuevo. Reduce, Reuse, Recycle va en ese orden por impacto ambiental, así que reutilizar es un nivel mejor
    • Aun así, si en conjunto se trata de reutilización, “reciclado” tampoco sería una expresión incorrecta. [https://en.wiktionary.org/wiki/recycle/…]
    • recycle también es una forma gramaticalmente correcta. No hay gran diferencia de significado con reuse
  • Comparado con intentos de reutilizar una RPi u otras placas, aprovechar un Pixel 5 también tiene sentido. Incluso podría rendir mejor, y la pantalla seguramente es lo que más energía consume. Me da curiosidad qué métodos de optimización energética se usan, porque en tareas de alta carga parece que podría haber problemas de temperatura. Hugo, que usa el blog, es un generador de sitios estáticos desarrollado en Go y parece adecuado para servir contenido. Por cierto, últimamente me han empezado a gustar mucho los SSG, y estoy planeando hacer un editor de blogs en Markdown con Tauri/Rust + React/MUI, integrado con git y desplegado en Cloudflare, aunque todavía no lo llevo a la práctica. Antes Microsoft hizo un editor de blogs con GUI, y es una pena que ya no exista
  • La parte que más me preocupa es cómo evitar el problema del “spicy pillow” (hinchazón de batería y riesgo de incendio). Estaría genial si pudiera funcionar solo por USB y sin batería
    • Hoy en día hay teléfonos que ofrecen la opción de limitar la carga a 80%. Si no la tiene, otra opción es usar un enchufe inteligente con temporizador, o IFTTT, para controlar la energía automáticamente según el nivel de batería. Por ejemplo, puedes configurarlo para que se encienda por debajo de 40% y se apague por encima de 60%
    • Lo más molesto es que, incluso si sacas la celda de la batería y alimentas directamente al BMS, Android puede apagarse después de cierto tiempo diciendo que “la batería se agotó”. Eso solo se puede evitar después de rootearlo y es bastante engorroso. Si se pudiera inyectar alimentación directamente desde la pared, ese problema también desaparecería
    • Yo tengo varios dispositivos Android viejos conectados a un cargador USB múltiple, y este a su vez a un interruptor inteligente, para cargarlos solo unas horas por la noche. Después de cambiar la ROM y rootearlos, configuré la app ACCA para limitar la carga a 80%. Un Samsung Note 5 de 2015 se infló hace como medio año, pero un Samsung S9 y un Nokia 6.1 siguen funcionando sin problemas desde hace 6 años con LineageOS
    • Puedes tomar como referencia algo como esto [https://www.instructables.com/Power-an-Android-Phone-Without-Battery/], y también se pueden comprar baterías falsas para modelos específicos en línea
    • También puedes simplemente meterlo en una caja ignífuga y reemplazarlo cuando falle
  • Me imagino a algún ejecutivo de Google preguntándose: “¿Por qué permitimos que reutilicen así los dispositivos de Google, no habrá manera de ponerle anuncios a esto?”
  • Estoy escribiendo este comentario todavía desde un Pixel 5 que sigue en muy buen estado. Es el mejor teléfono que he usado. Tiene el tamaño justo, lector de huellas en la parte trasera y todo eso. Ningún teléfono que salió después me ha dejado satisfecho
    • Yo también uso un Pixel 5 reacondicionado que compré por unos 250 dólares. Igual, es el mejor teléfono que he tenido. El diseño de 2020 era simple y práctico, sin funciones de aparador como el lector de huellas debajo de la pantalla, así que se disfruta durante mucho tiempo. Espero seguir teniendo 2 o 3 días de batería y una calidad de foto de “bastante decente”
    • Creo que mi Pixel 5 ya necesita cambio de batería. Ahora se descarga tanto que tengo que cargarlo dos o tres veces al día
    • Yo ando parecido. Pienso usar mi iPhone SE2 hasta que ya no dé más, por el mismo año, tamaño, peso, Touch ID y todo eso
  • Me da curiosidad cómo manejan el DNS en una configuración así. Normalmente los ISP no parecen muy felices con que uno opere servidores en conexiones residenciales
    • El verdadero problema es el NAT. Estoy siguiendo este issue de tailscale [https://github.com/tailscale/tailscale/issues/11563]. Otra opción es contactar directamente al ISP, o irte con un competidor, y pagar una cantidad pequeña, por ejemplo +5 euros al mes, para conseguir una IP estática. De paso, hasta podrías jugar Factorio multijugador con amigos
    • La mayoría de los ISP en la práctica ofrecen IP “dinámicas”, pero casi nunca cambian. En mi caso cambia aleatoriamente una vez al año, así que actualizo el DNS manualmente cuando pasa. Se puede automatizar, pero como no ocurre seguido, lo hago a mano. Supongo que al ISP solo le importará si saturas constantemente el tráfico de subida, y lugares como Comcast/XFinity tienen mucha asimetría entre subida y bajada, así que hay que tenerlo en cuenta
    • Hay varias soluciones de DNS dinámico. TP-link y otros permiten configurarlo fácilmente desde la app
    • Yo tengo internet de 2.5 gigabits y aun así no tengo IP estática. En cambio, corro un script en el router que actualiza la configuración DNS cada vez que cambia la IP. Si tu proveedor de DNS permite cambiar el TTL, se puede automatizar
  • Enlace relacionado: [https://fairphone.com/en/2024/…]
  • Bueno, este es mi blog. Solo soy una persona común que escribe cosas varias, así que se siente como si me hubieran lanzado fuera del pozo. También creé mi cuenta de HN hoy mismo. Para responder preguntas: 1) sí, sigo corriendo el blog en el Pixel. No tengo motivos para cambiarlo 2) la razón de ponerlo en el internet de mi casa fue que originalmente pensé que casi no tendría tráfico 3) soy de los que experimentan con cosas en casa por las noches entre semana, no trabajo en la industria. De hecho, soy dueño de una empresa contratista de construcción
    • Tu forma de pensar se parece a la de un ingeniero, así que creo que encajarás bien aquí. Revisé otras publicaciones de tu blog y hay varias muy interesantes, además del buen diseño y legibilidad, así que volveré a visitarlo. La publicación de “quiero estar solo” también fue popular en HN
    • Lo leí con interés. Una cosa que me da curiosidad: ¿hay alguna razón por la que no lo estés corriendo como archivos generados con hugo servidos por un servidor web como nginx, en lugar de solo usar hugo serve?