Agate: Un servidor Gemini confiable y fácil de instalar con Docker

Hace un tiempo, en mi artículo sobre minimalismo y el protocolo Gemini), exploré el concepto de la “Web pequeña” y las ventajas de este protocolo alternativo. Posteriormente, compartí un tutorial sobre cómo instalar un servidor Gemini utilizando Molly-Brown. Sin embargo, tras un período de uso, experimenté problemas de fiabilidad con ese servidor, lo que me llevó a buscar una alternativa más robusta.
Mi búsqueda se centró en encontrar un servidor que cumpliera con dos requisitos clave: instalación y configuración sencillas. Tras evaluar diversas opciones, descubrí que el contenedor Docker del servidor Agate satisfacía perfectamente mis necesidades.

A continuación, detallo los pasos para instalar y configurar Agate utilizando Docker, lo que simplifica enormemente el proceso.
Estructura de directorios
gemini/
├── docker-compose.yml
├── certificate/
│ ├── openssl.config
│ └── (archivos de certificado para el servidor Gemini)
└── content/
└── (contenido del servidor Gemini)
Creacion de certificados
Hay varias maneras de crear un certificado, de hecho en este artículo lo hago de una manera diferente a la manera que expongo a continuación.
- Crea un archivo de configuración para el certificado
Crea un archivo llamado openssl.cnf en la misma carpeta donde vas a generar el certificado, con este contenido:
nano certificate/openssl.cnf
[req] distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no
[req_distinguished_name] CN = yourdomain.com # Reemplázalo con tu dominio o dirección IP si es un servidor local
[v3_req] keyUsage = critical, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names
[alt_names] DNS.1 = yourdomain.com # Reemplázalo con tu dominio DNS.2 = localhost # Opcional, si también quieres que funcione en localhost IP.1 = 192.168.1.100 # Reemplázalo con la IP de tu servidor, si lo accedes por IP
- Generar el certificado y la clave
openssl req -x509 -newkey rsa:4096 -sha256 -days 365 -nodes \
-keyout key.pem -out cert.pem -config openssl.cnf
- Cambia los permisos
chmod 600 key.pem cert.pem
Docker-compose
Aquí viene lo más importante. Con este archivo docker-compose.yml crearemos el servidor ya configurado para funcionar perfectamente.
version: '3.8'
services:
agate:
image: ghcr.io/mbrubeck/agate:latest
container_name: agate_gemini
restart: unless-stopped
ports:
- "1965:1965"
volumes:
- ./content:/gmi
- ./certificate:/certs
command: ["--hostname", "capsula.milangaelectronica.com.ar"]
Para iniciar el servidor, ejecuta el siguiente comando:
docker-compose up -d
Conclusión
La transición al servidor Agate, facilitada por su implementación en Docker, ha demostrado ser una solución mucho más estable y sencilla de administrar en comparación con mi experiencia previa con Molly-Brown. La combinación de la simplicidad de Docker con la eficiencia de Agate ofrece una forma robusta y accesible de alojar cápsulas Gemini.
Este enfoque no solo simplifica el proceso de instalación y configuración, sino que también proporciona una mayor flexibilidad y control sobre el servidor. Para aquellos interesados en explorar el protocolo Gemini, Agate se presenta como una opción sólida y confiable.
¡Deja tus comentarios aquí !