Skip to content

fedebsoria/selfhosted-cloud-vm-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

💻 Selfhosted Cloud Server Architecture Project: Nextcloud, Media, and Zero Trust VPN

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.


en Project Overview and Architecture

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.

Key Features

  • 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.

Architectural Diagram

The full traffic flow and component organization is visualized in the dedicated diagram file (Mermaid syntax).

➡️ View Detailed Architectural Diagram ⬅️

Port Assignment and Access Table (English)

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.

🇪🇸 Resumen del Proyecto y Arquitectura

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.

Características Clave

  • 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.

Diagrama Arquitectónico

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 ⬅️

Tabla de Asignación de Puertos y Accesos (Español)

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.

About

a selfhosted cloud project for the ASIR portfolio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published