====== Documentación ====== En esta wiki vamos a explicar la implementación de nuestro servidor de uso personal, en el cual instalamos y configuramos una serie de servicios esenciales que trabajan de forma integrada dentro de un entorno **Docker**. Cada uno de estos servicios cumple un rol específico dentro del ecosistema del servidor, brindando almacenamiento, automatización, desarrollo, administración y monitoreo centralizados. En cada sección se explicará en detalle la función del servicio, su configuración principal y el correspondiente archivo **docker-compose**, utilizado para su despliegue dentro del entorno de contenedores. A continuación, se presenta el **árbol de directorios** de nuestro servidor: /docker/ ├── dbpostgres │ ├── config │ │ ├── init-db.sh │ │ └── servers.json │ ├── docker-compose.yml │ └── .env ├── dokuWiki │ └── docker-compose.yml ├── homeassistant │ ├── data │ └── docker-compose.yml ├── monitoreo │ ├── config │ │ ├── grafana │ │ │ └── datasources.yml │ │ ├── grafana.env │ │ └── prometheus.yaml │ └── docker-compose.yaml ├── nextcloud │ ├── docker-compose.yml │ └── nextcloud.env ├── nginx │ ├── data │ ├── docker-compose.yml │ └── letsencrypt ├── pihole │ ├── docker-compose.yml │ └── etc-pihole ├── vscode │ └── docker-compose.yml └── wireguard ├── docker-compose.yml ├── lib └── path ---- ======= Servicios ======= A continuación se presentan y describen los distintos servicios que hemos desplegado en nuestro servidor. Se detallará la función de cada uno, cómo están configurados y el propósito que cumplen dentro del ecosistema del servidor. ---- ===== NGINX Proxy Manager ===== * [[nginx_proxy_manager|NGINX Proxy Manager]] se utiliza como proxy inverso para gestionar los accesos externos al servidor. Facilita la configuración de dominios, certificados SSL y redirecciones de manera gráfica y sencilla. ---- ===== Portainer ===== * [[portainer|Portainer]] es una interfaz gráfica para administrar contenedores Docker. Permite gestionar imágenes, contenedores, volúmenes y redes de manera sencilla, sin necesidad de usar la línea de comandos. ---- ===== PostgreSQL y pgAdmin ===== * [[postgresql_pgadmin|PostgreSQL y pgAdmin]] proporcionan la base de datos relacional y su interfaz de administración. PostgreSQL almacena los datos de los servicios que lo requieren, mientras que pgAdmin permite consultar, administrar y monitorear las bases de datos de forma visual. ---- ===== Nextcloud ===== * [[nextcloud|Nextcloud]] es una plataforma de almacenamiento y colaboración en la nube que permite sincronizar, compartir y acceder a archivos desde cualquier dispositivo, garantizando la privacidad de los datos. ---- ===== VSCode ===== * [[vscode|VSCode]] es un editor de código ligero y potente. En este servidor se implementó una instancia accesible vía web, permitiendo editar archivos y proyectos directamente en el entorno del servidor. ---- ===== Home Assistant ===== * [[home_assistant|Home Assistant]] es una plataforma de automatización del hogar que centraliza el control de dispositivos inteligentes. Permite integrar sensores, luces, cámaras y más, ofreciendo un panel de control unificado para la domótica del hogar. ---- ===== Pi-hole ===== * [[pihole|Pi-hole]] actúa como un bloqueador de publicidad y rastreadores a nivel de red. Filtra consultas DNS no deseadas, mejorando la seguridad y velocidad de la navegación para todos los dispositivos conectados al servidor. ---- ===== Grafana y Prometheus ===== * [[grafana_prometheus|Grafana y Prometheus]] conforman el sistema de monitoreo del servidor. Prometheus recolecta métricas de los distintos servicios, mientras que Grafana las presenta en tableros visuales para facilitar el análisis y diagnóstico del sistema. ---- ===== DokuWiki ===== * [[dokuwiki|DokuWiki]] es el sistema de documentación de la wiki del servidor. Permite crear, editar y organizar páginas de documentación interna, facilitando la gestión del conocimiento y la colaboración entre usuarios. ---- ===== WireGuard ===== * [[wireguard|WireGuard]] es un servicio de VPN que permite crear conexiones seguras y cifradas entre dispositivos y el servidor. Permite acceder de forma remota a la red local del servidor, asegurando la privacidad y seguridad de la comunicación. ----