DEV Community

Cover image for OpenBSD en DigitalOcean: droplet propio por $4,24 al mes
lu1tr0n
lu1tr0n

Posted on Originally published at elsolitario.org

OpenBSD en DigitalOcean: droplet propio por $4,24 al mes

Un droplet con 512 MB de RAM, 1 vCPU y 10 GB de disco cuesta 4,24 dólares al mes en DigitalOcean, impuestos incluidos. Es el costo real de correr OpenBSD en DigitalOcean según documentó el desarrollador Wally Jones al mover su blog personal de un servicio administrado a un servidor propio.

Jones publicó el 23 de agosto de 2026 una guía paso a paso para instalar OpenBSD en DigitalOcean usando la imagen miniroot del proyecto, algo que la plataforma no ofrece como distribución oficial. El resultado es un servidor mínimo corriendo httpd(8), con certificados TLS renovados automáticamente vía acme-client(1) contra Let's Encrypt.

TL;DR

  • El desarrollador Wally Jones publicó el 23 de agosto de 2026 una guía para instalar OpenBSD en DigitalOcean.- El droplet Basic cuesta 4,00 dólares al mes, 4,24 dólares con impuestos incluidos.- Specs del droplet: 512 MB de RAM, 1 vCPU, 10 GB de disco y 500 GB de transferencia.- La instalación parte de la imagen miniroot79.img de OpenBSD 7.9, subida como imagen personalizada.- DigitalOcean no ofrece OpenBSD ni ningún BSD como distribución oficial en su catálogo.- El servidor final corre httpd(8) con certificados renovados automáticamente por acme-client(1).- DigitalOcean cobra por alojar imágenes personalizadas: hay que borrarlas tras crear el droplet.- El cifrado de disco completo exige tipear la passphrase desde la consola web en cada reinicio.

Qué pasó

Jones venía hospedando su sitio personal primero en GitHub Pages y después en Cloudflare Pages, dos opciones gratuitas y sin mantenimiento. Ninguna de las dos le daba control real sobre el servidor: no hay shell, no hay archivos de configuración propios, no hay proceso de arranque que entender. Según cuenta en su publicación, quiso volver a un modelo de hosting hágalo usted mismo, ese en el que instalar y configurar un sistema UNIX es parte del aprendizaje y no un obstáculo a evitar.

El resultado práctico es un droplet Basic de DigitalOcean, el plan más económico de la plataforma, ejecutando OpenBSD 7.9 con httpd(8) como servidor web y acme-client(1) para renovar certificados TLS de Let's Encrypt sin intervención manual. El costo total, imagen personalizada aparte, es de 4 dólares mensuales antes de impuestos.

Contexto e historia

La motivación no es solo económica. Jones cuenta que conoció a uno de sus amigos más cercanos hace más de 20 años en un foro de cuentas shell de FreeBSD, el tipo de comunidad que se armaba alrededor de servidores UNIX compartidos entre desconocidos con intereses técnicos comunes. Esa cultura de administrar el propio sistema, con sus fallas y su curva de aprendizaje, es la que motiva volver a un modelo de hosting manual en 2026, cuando la mayoría de los sitios personales corren sobre plataformas administradas que abstraen el sistema operativo por completo.

DigitalOcean no ofrece OpenBSD ni ningún BSD como distribución oficial en su catálogo de imágenes: solo Linux (Ubuntu, Debian, Fedora, entre otras) y algunas imágenes preconfiguradas de contenedores. Para correr OpenBSD en DigitalOcean hace falta subir una imagen personalizada, algo que la plataforma sí permite desde la sección Backups & Snapshots.

Detalles técnicos y rendimiento

El punto de partida es la imagen miniroot de OpenBSD, un instalador mínimo pensado para arrancar sobre hipervisores sin acceso a medios físicos. El proyecto publica una imagen distinta por arquitectura; para un droplet estándar de DigitalOcean, que corre sobre procesadores x86-64, corresponde la imagen amd64 del mirror, no una imagen de otra arquitectura que la plataforma no ofrece en sus planes Basic.

Una vez subida la imagen, DigitalOcean permite elegirla como origen al crear el droplet, dentro de la pestaña Custom Images. El plan Basic más económico incluye 512 MB de RAM, 1 vCPU, 10 GB de disco y 500 GB de transferencia mensual: alcanza para un httpd sirviendo páginas estáticas o un blog liviano, no para cargas de trabajo pesadas. Un detalle importante: la plataforma no deja habilitar IPv6 al crear un droplet desde una imagen personalizada, hay que agregarlo después.
El plan Basic queda en 4,24 dólares al mes con impuestos incluidos.OpciónCosto mensualControlCurva de aprendizajeGitHub PagesGratisNinguno (solo sitios estáticos)BajaCloudflare PagesGratisBajo (build administrado)BajaDroplet OpenBSD en DigitalOcean~$4,24Total (shell, configuración, firewall)AltaVPS genérico con LinuxDesde ~$4-6AltoMedia

flowchart TD
 A["Descargar miniroot79.img"] --> B["Verificar checksum SHA256"]
 B --> C["Subir imagen personalizada a DigitalOcean"]
 C --> D["Crear droplet Basic"]
 D --> E["Instalar OpenBSD via consola de recuperacion"]
 E --> F["Configurar httpd y acme-client"]
 F --> G(("Sitio en produccion"))
Enter fullscreen mode Exit fullscreen mode

Cómo instalar OpenBSD en DigitalOcean paso a paso

El primer paso es descargar la imagen y verificar su integridad antes de subirla a ningún lado:

# Linux / macOS
curl -O -O https://cdn.openbsd.org/pub/OpenBSD/7.9/amd64/{miniroot79.img,SHA256}
sha256sum -c --ignore-missing SHA256 miniroot79.img

# macOS (si preferís shasum en vez de sha256sum)
shasum -a 256 -c SHA256 2>/dev/null | grep miniroot79.img

# Windows (PowerShell)
Invoke-WebRequest -Uri "https://cdn.openbsd.org/pub/OpenBSD/7.9/amd64/miniroot79.img" -OutFile miniroot79.img
Invoke-WebRequest -Uri "https://cdn.openbsd.org/pub/OpenBSD/7.9/amd64/SHA256" -OutFile SHA256
Get-FileHash miniroot79.img -Algorithm SHA256
Enter fullscreen mode Exit fullscreen mode

En Linux y macOS, curl trae la imagen y el archivo de checksums en un solo comando; después alcanza con validar el hash. En Windows, PowerShell resuelve lo mismo con Invoke-WebRequest y Get-FileHash, que calcula el SHA256 para compararlo a mano contra el valor publicado en el archivo SHA256.

Con la imagen verificada, el siguiente paso es subirla en DigitalOcean desde Backups & Snapshots, botón Upload an Image, seleccionando miniroot79.img, un datacenter, la distribución Other y un nombre descriptivo. Después, al crear el droplet, hay que elegir el plan Basic, seleccionar la imagen subida desde la pestaña Custom Images y agregar una llave SSH, requisito obligatorio para poder crear el droplet aunque DigitalOcean no la instale automáticamente en una imagen personalizada.

💡 Tip: DigitalOcean cobra por alojar imágenes personalizadas en Backups & Snapshots. Borrá la imagen miniroot79.img apenas el droplet esté funcionando para no seguir pagando por el snapshot.

Con el droplet creado, la instalación de OpenBSD se hace desde la consola web: botón Web Console y después Launch Recovery Console. Ahí se tipea i para instalar y se sigue el instalador interactivo: seleccionar la interfaz vio0, autoconf para IPv4 e IPv6, una contraseña segura de root, iniciar sshd(8) por defecto, descartar el X Window System, mantener la consola en com0, crear un usuario no root, deshabilitar el login SSH de root, elegir zona horaria y seleccionar el disco sd0 como destino. El instalador permite cifrado de disco completo con passphrase en este punto, con layout MBR de disco completo y particionado automático.

⚠️ Ojo: Si activás cifrado de disco completo, vas a tener que abrir la consola web de DigitalOcean y tipear la passphrase cada vez que el droplet reinicie: OpenBSD no tiene un equivalente al fdesetup authrestart de macOS.

Para instalar los sets del sistema se usa el método http, eligiendo un mirror cercano al datacenter y el directorio pub/OpenBSD/7.9/amd64. Como es un servidor sin interfaz gráfica, conviene excluir los sets de X (-x*), juegos (-gam*) y compiladores (-com*), dejando solo bsd, bsd.rd, base79.tgz y man79.tgz.

Con el sistema instalado y accesible por SSH, falta configurar httpd y acme-client:

# /etc/httpd.conf
server "blog.example.com" {
 listen on * port 80
 location "/.well-known/acme-challenge/*" {
 root "/acme"
 request strip 2
 }
 location * {
 block return 302 "https://$HTTP_HOST$REQUEST_URI"
 }
}

server "blog.example.com" {
 listen on * tls port 443
 root "/htdocs/blog.example.com"
 tls {
 certificate "/etc/ssl/blog.example.com.crt"
 key "/etc/ssl/private/blog.example.com.key"
 }
}
Enter fullscreen mode Exit fullscreen mode
# /etc/acme-client.conf
authority letsencrypt {
 api url "https://acme-v02.api.letsencrypt.org/directory"
 account key "/etc/acme/letsencrypt-privkey.pem"
}

domain blog.example.com {
 domain key "/etc/ssl/private/blog.example.com.key"
 domain certificate "/etc/ssl/blog.example.com.crt"
 domain full chain certificate "/etc/ssl/blog.example.com.fullchain.pem"
 sign with letsencrypt
}
Enter fullscreen mode Exit fullscreen mode

Con esos dos archivos en su lugar, doas rcctl enable httpd y doas rcctl start httpd levantan el servidor, y doas acme-client blog.example.com emite el primer certificado antes de recargar httpd con doas rcctl reload httpd. Para confirmar que todo quedó activo, rcctl check httpd debe devolver httpd(ok), y openssl x509 -in /etc/ssl/blog.example.com.crt -noout -dates muestra las fechas de validez del certificado emitido.

Impacto y análisis

acme-client(1) renueva los certificados sin intervención manual.
Para quien solo necesita publicar entradas de blog de forma esporádica, el salto de un hosting administrado gratuito a un droplet propio de 4 dólares tiene un costo de oportunidad claro: hay que aplicar parches de seguridad, vigilar el espacio en disco y entender qué hace cada línea de /etc/httpd.conf. A cambio, se gana control total sobre la pila: se puede correr cualquier proceso adicional (un generador de feeds, un webhook, una base de datos SQLite), algo que Cloudflare Pages o GitHub Pages no permiten por diseño.

El caso de Jones también ilustra un patrón más amplio entre desarrolladores: la vuelta a infraestructuras pequeñas y auditables frente a plataformas administradas que abstraen cada vez más el sistema operativo subyacente. No es un movimiento masivo, pero sí constante entre quienes valoran entender de punta a punta lo que corre su código.

Qué sigue

Jones no detalla en su publicación si documentará el mantenimiento continuo del droplet, como actualizaciones de OpenBSD, rotación de logs o backups, pero la guía deja la base lista: un servidor con httpd(8) sirviendo contenido estático y acme-client(1) renovando certificados sin intervención manual. El siguiente paso lógico para quien replique la guía es automatizar el despliegue de contenido nuevo, por ejemplo con un hook de git que sincronice archivos vía rsync sobre SSH.

📖 Resumen en Telegram: Ver resumen

Probalo vos: descargá la imagen miniroot de openbsd.org y subí tu propio droplet OpenBSD en DigitalOcean por 4,24 dólares al mes hoy mismo.

Preguntas frecuentes

¿Cuánto cuesta realmente correr OpenBSD en DigitalOcean?

El plan Basic con 512 MB de RAM, 1 vCPU, 10 GB de disco y 500 GB de transferencia cuesta 4 dólares al mes, 4,24 dólares con impuestos incluidos según el cálculo del propio autor de la guía.

¿Por qué no aparece OpenBSD entre las distribuciones oficiales de DigitalOcean?

DigitalOcean solo ofrece imágenes preconstruidas de distribuciones Linux. Para correr un BSD hace falta subir una imagen personalizada, como la miniroot que publica el proyecto OpenBSD para cada arquitectura.

¿Puedo usar cifrado de disco completo en este droplet?

Sí, el instalador de OpenBSD lo permite eligiendo la opción de cifrado con passphrase durante el particionado. La contrapartida es ingresar esa passphrase manualmente desde la consola web de DigitalOcean en cada reinicio.

¿Qué pasa con la imagen personalizada después de crear el droplet?

Sigue existiendo como snapshot y DigitalOcean la sigue facturando por separado, así que conviene eliminarla desde Backups & Snapshots una vez que el droplet arrancó correctamente.

¿Sirve este setup para producción o solo para un blog personal?

Los 512 MB de RAM del plan Basic alcanzan cómodamente para httpd sirviendo contenido estático o un blog liviano. Para tráfico alto o aplicaciones con base de datos conviene un plan superior con más memoria.

¿Qué diferencia hay con instalar Ubuntu o Debian directamente desde el catálogo de DigitalOcean?

La diferencia principal es el origen: Ubuntu y Debian se despliegan en minutos desde una imagen oficial, mientras que OpenBSD requiere descargar la imagen miniroot, subirla como imagen personalizada y correr el instalador manualmente desde la consola de recuperación.

Referencias

  • Run OpenBSD on DigitalOcean for $4/month: la guía original de Wally Jones con los pasos completos de instalación.- OpenBSD Project: sitio oficial del proyecto, con las imágenes de instalación por arquitectura.- httpd(8): página de manual oficial del servidor web incluido en OpenBSD.- acme-client(1): página de manual del cliente ACME nativo de OpenBSD usado para Let's Encrypt.- DigitalOcean: plataforma de cloud hosting donde se desplegó el droplet.

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Top comments (0)