Configuración del Servidor
En esta sección detallamos la configuración del servidor que aloja nuestro Wiki, utilizando un Droplet de Digital Ocean con Ubuntu y Docker preinstalado.
Creación del Droplet
- Iniciamos sesión en la consola de Digital Ocean
- Seleccionamos “Create Droplet”
- Elegimos la imagen “Ubuntu 22.04 with Docker”
- Seleccionamos el tamaño adecuado (1 GB RAM / 1 vCPU es suficiente para empezar)
- Elegimos la región más cercana a nuestros usuarios (SFO3 - San Francisco)
- Configuramos una clave SSH para acceso seguro
- Asignamos un nombre descriptivo: “dockeronubuntu2204-s-1vcpu-1gb-sfo3-01”
Configuración inicial de seguridad
Una vez creado el Droplet, nos conectamos mediante SSH y realizamos las primeras tareas de mantenimiento:
# Actualizar el sistemasudo apt update && sudo apt upgrade -yConfiguración de acceso a GitHub
Para permitir que el servidor interactúe con nuestros repositorios, configuramos SSH y Git:
# Generar clave SSH para GitHubssh-keygen -t ed25519 -C "hola@neodigital.mx"eval "$(ssh-agent -s)"ssh-add ~/.ssh/id_ed25519
# Mostrar la clave pública para agregarla a GitHubcat ~/.ssh/id_ed25519.pub
# Configurar Gitgit config --global user.name "NeoDigital-Droplet1"git config --global user.email "hola@neodigital.mx"
# Verificar conexión con GitHubssh -T git@github.comLa clave pública generada debe añadirse como una deploy key en el repositorio de GitHub o como clave SSH en la cuenta que tenga acceso al repositorio.
Estructura de directorios
Organizamos el servidor con una estructura clara para facilitar su mantenimiento:
# Crear estructura de directorios para los repositoriosmkdir -p GitHub/repositoriesConfiguración de accesos rápidos
Para facilitar la navegación, creamos un alias en .bashrc:
nano ~/.bashrcAñadimos esta función al final del archivo:
# Atajo para acceder rápidamente al directorio de repositoriosrepos() { cd ~/GitHub/repositories/$1}Aplicamos los cambios:
source ~/.bashrcAhora podemos usar el comando repos para acceder rápidamente a cualquier repositorio, por ejemplo:
reposnos lleva a ~/GitHub/repositories/repos neodigital-wikinos lleva al directorio del wiki
Preparación para múltiples aplicaciones
La configuración del servidor está pensada para alojar múltiples aplicaciones, cada una en su propio contenedor Docker. Esto permite:
- Aislamiento: Cada aplicación opera independientemente
- Eficiencia: Compartir recursos del servidor de manera óptima
- Flexibilidad: Facilidad para añadir o eliminar servicios
- Seguridad: Mayor control sobre cada componente
Siguientes pasos
Con el servidor preparado, procedemos al despliegue de la aplicación usando Docker y Nginx.