This repository documents the architecture and manual setup of a highly secure, low-cost cloud server environment built on a Virtual Machine, featuring self-hosted services and secure remote access via a Zero Trust approach.
This project demonstrates proficiency in Linux system administration, network security, and service orchestration using the LEMP stack (Nginx, MariaDB, PHP-FPM) and containerization (Docker, Portainer) where applicable.
- Low-Cost Storage: Utilization of an 8TB External HDD (simulated via VM disk mount) for high-capacity media storage.
- Zero Trust Access: Only Nextcloud is exposed to the public internet using a Cloudflare Tunnel, avoiding port forwarding and mitigating CGNAT issues.
- Manual Setup: Nextcloud is installed manually on the Host OS for granular control and database practice.
- Local Management: High-value services like Cockpit and Portainer are accessed locally or via ZeroTier VPN.
The full traffic flow and component organization is visualized in the dedicated diagram file (Mermaid syntax).
➡️ View Detailed Architectural Diagram ⬅️
This table shows the logical port mapping for the final architecture.
| Service Name (Actual) | Generic Component | Access Port (Local) | External Access Method | Notes |
|---|---|---|---|---|
| Nextcloud | Web Server (Docker) | 8080 | Cloudflare Tunnel (nextcloud.domain.cc) |
Primary service. Exposed via HTTPS Tunnel only. |
| Cockpit | Web Host Manager | 9090 | N/A | Host management. Access via Local IP:Port or ZeroTier. |
| Portainer | Container Manager | 9000 | N/A | Docker/Container management GUI. |
| Samba | File Sharing Protocol | 445 (SMB) | N/A | File access via network sharing (\\IP_ADDRESS). |
| Unbound | DNS Resolver | 53 (UDP/TCP) | N/A | Used internally for DNS privacy and recursive resolving. |
Este repositorio documenta la arquitectura y configuración manual de un entorno de servidor cloud de alta seguridad y bajo costo, construido sobre una Máquina Virtual, con servicios autoalojados y acceso remoto seguro mediante un enfoque Zero Trust.
- Almacenamiento de Bajo Costo: Utilización de un HDD Externo de 8TB (simulado mediante montaje de disco de MV) para almacenamiento multimedia de alta capacidad.
- Acceso Zero Trust: Solo Nextcloud está expuesto a Internet público usando un Túnel de Cloudflare, evitando la apertura de puertos y mitigando problemas de CGNAT.
- Configuración Manual: Nextcloud está instalado manualmente en el SO Host para un control granular y práctica de bases de datos.
- Gestión Local: Los servicios de alto valor como Cockpit y Portainer son accesibles localmente o vía VPN ZeroTier.
El flujo de tráfico completo y la organización de los componentes se visualiza en el archivo de diagrama dedicado (sintaxis Mermaid).
➡️ Ver Diagrama Arquitectónico Detallado ⬅️
Esta tabla muestra la asignación lógica de puertos para la arquitectura final.
| Nombre del Servicio (Real) | Componente Genérico | Puerto de Acceso (Local) | Método de Acceso Externo | Notas |
|---|---|---|---|---|
| Nextcloud | Servidor Web (Docker) | 8080 | Túnel de Cloudflare (nextcloud.dominio.cc) |
Servicio principal. Expuesto solo por el Túnel HTTPS. |
| Cockpit | Gestor Web del Host | 9090 | N/A | Gestión del Host. Acceso vía IP Local:Puerto o ZeroTier. |
| Portainer | Gestor de Contenedores | 9000 | N/A | Interfaz gráfica para gestión de Docker/Contenedores. |
| Samba | Protocolo de Archivos | 445 (SMB) | N/A | Acceso a archivos mediante recurso compartido de red (\\DIRECCIÓN_IP). |
| Unbound | Resolvedor DNS | 53 (UDP/TCP) | N/A | Uso interno para privacidad DNS y resolución recursiva. |