Este repositorio contiene una configuración lista para desplegar una instancia de n8n, PostgreSQL y WireGuard utilizando Docker Compose. Sigue los pasos detallados a continuación para configurar y desplegar este stack correctamente.
Las automatizaciones se están convirtiendo en el pilar de la productividad en el mundo moderno. Ya sea para negocios, proyectos personales o emprendimientos, un stack propio ofrece las siguientes ventajas:
- Control total: Mantén el control sobre tus datos y procesos, evitando depender de terceros y minimizando riesgos de seguridad.
- Escalabilidad: Puedes adaptar la infraestructura según tus necesidades específicas sin limitaciones impuestas por servicios externos.
- Ahorro en costos: Aunque las soluciones SaaS son prácticas, pueden volverse costosas a medida que tu negocio crece. Un stack propio elimina costos recurrentes.
- Flexibilidad: Personaliza tus flujos de trabajo y ajusta integraciones para satisfacer casos de uso únicos.
- Privacidad: Al autohospedar tus herramientas, proteges datos sensibles de clientes, procesos internos y otros activos digitales.
- Futuro probado: Las automatizaciones son esenciales para el crecimiento sostenible en el ámbito personal y empresarial. Hostear tu propio stack garantiza que puedas adaptarte a las demandas futuras con tecnología moderna.
-
Docker y Docker Compose instalados en tu máquina.
- Puedes seguir las instrucciones oficiales aquí:
-
Asegúrate de tener configurado un entorno de red si
n8n_net
es una red externa. Para crear la red, ejecuta:docker network create n8n_net
Clona este repositorio y navega al directorio:
git clone https://github.com/deepsteppin/ene8.git
cd tu-repo
- Copia el archivo
.env.example
y renómbralo como.env
:
cp .env.example .env
- Edita el archivo
.env
para incluir tus credenciales y configuraciones reales:
# PostgreSQL
POSTGRES_USER=mi_usuario
POSTGRES_PASSWORD=mi_contraseña_segura
POSTGRES_DB=mi_base_de_datos
# n8n
N8N_EMAIL=mi_email@example.com
N8N_PASSWORD=mi_contraseña_segura
# WireGuard
PEERS=2
Nota: El archivo .env
se utiliza para definir las variables de entorno que serán cargadas por Docker Compose durante la inicialización de los contenedores.
Asegúrate de que el archivo docker-compose.yml
está correctamente configurado. Las secciones críticas incluyen:
- Configuración de red: Verifica que
n8n_net
esté definido como externo si ya existe. - Volúmenes: Asegúrate de que las rutas son accesibles y tienen los permisos necesarios.
Si estás desplegando en un entorno de producción, considera implementar medidas adicionales como Docker Secrets o volúmenes cifrados.
Para iniciar los servicios, ejecuta:
docker-compose up -d
- Verifica que los contenedores estén corriendo:
docker ps
- Accede a n8n desde tu navegador:
http://localhost:5678
Si estás desplegando en un servidor remoto, reemplaza localhost
por la IP o el dominio correspondiente.
El archivo .env
es fundamental para proporcionar credenciales y configuraciones a los servicios definidos en el archivo docker-compose.yml
. Docker Compose lee automáticamente el archivo .env
si se encuentra en el mismo directorio.
- Coloca el archivo
.env
en el mismo directorio quedocker-compose.yml
. - No es necesario especificar manualmente el archivo
.env
en la mayoría de los casos. Sin embargo, si deseas indicar un archivo diferente, puedes usar la bandera--env-file
:
docker-compose --env-file custom.env up -d
- Establecer permisos restrictivos para el archivo:
chmod 600 .env
Consulta los logs de los servicios:
docker-compose logs -f
Detén y elimina los contenedores:
docker-compose down
docker-compose restart <nombre_del_servicio>
- Verifica que no haya un conflicto de puertos en el host.
- Asegúrate de que las variables en el archivo
.env
sean válidas.
- Confirma que las credenciales en
.env
coinciden con las configuraciones endocker-compose.yml
. - Revisa los logs de PostgreSQL:
docker-compose logs postgres