qlub
es una herramienta diseñada para gestionar subdominios y configuraciones de Nginx. Proporciona una interfaz fácil de usar para configurar y administrar subdominios, ayudando a simplificar la gestión de servidores web.
- Gestión de Subdominios: Permite agregar, eliminar y modificar subdominios fácilmente.
- Configuración de Nginx: Genera configuraciones de Nginx automáticamente basadas en los subdominios definidos.
- Compatibilidad con SSL: Soporta la configuración de certificados SSL para una navegación segura.
Para instalar qlub
, puedes descargar el binario desde el siguiente enlace:
wget https://github.com/njavilas2015/qlub/releases/download/v1.0.3/qlub
Después de descargar, asegúrate de que el binario sea ejecutable y mueve el archivo a un directorio en tu PATH
:
chmod +x qlub
sudo mv qlub /usr/local/bin/
Para usar qlub
, puedes ejecutar el siguiente comando en la terminal:
qlub --config <ruta_al_archivo_json> --watch #para detectar cambios y actualizar config
El archivo de configuración JSON debe contener una lista de subdominios. Cada subdominio puede tener los siguientes campos:
- name: Nombre del subdominio.
- location: Lista de instancias del servicio.
- ssl: (opcional) Si el subdominio debe usar HTTPS.
- ssl_cert: (opcional) Ruta al certificado SSL.
- ssl_cert_key: (opcional) Ruta a la clave del certificado SSL.
[
{
"domain": "onbbu.ar",
"location": [
{
"alias": "frontend",
"ssl": true,
"path": "/",
"port": "443",
"instances": [
"site"
]
},
{
"alias": "backend",
"ssl": false,
"path": "/api",
"port": "8000",
"instances": [
"qlub"
]
}
],
"ssl": true,
"ssl_cert": "/etc/letsencrypt/live/npm-42/fullchain.pem",
"ssl_cert_key": "/etc/letsencrypt/live/npm-42/privkey.pem"
}
]
Puedes descargar la imagen lista para trabajar docker pull njavilas/qlub:server
services:
proxy:
image: nginx:alpine
ports:
- 80:80
- 443:443
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./conf.d/:/etc/nginx/conf.d/
- /mnt/md0/data/letsencrypt/:/etc/letsencrypt/
depends_on:
- site
- qlub
site:
image: njavilas/qlub:site
volumes:
- /mnt/md0/data/letsencrypt/live/npm-42/fullchain.pem:/etc/letsencrypt/fullchain.pem
- /mnt/md0/data/letsencrypt/live/npm-42/privkey.pem:/etc/letsencrypt/privkey.pem
expose:
- 443
qlub:
image: njavilas/qlub:server
volumes:
- ./subdomains.json:/app/subdomains.json
- ./nginx.conf:/app/nginx.conf
- ./conf.d/:/app/conf.d/
go build -o qlub
Si tienes alguna pregunta o necesitas soporte, no dudes en contactarme:
Nombre: Javier Avila Email: [[email protected]] GitHub: njavilas2015
Si te gusta mi trabajo y quieres apoyarme, ¡puedes invitarme a un café! 😊