Personal Cloud Infrastructure

Link to Architecture: Network Infrastructure

Overview

These infrastructures are built upon Raspberry Pi. Instead of using AWS and pay hefty amount of fees, I just designed my own self-hosted infrastructure which saves a lot of money for hosting infrastructures and gives me full control over my storage, VPN, websites and personal streaming devices. I’ll now mention and explain the infrastructures currently hosted these Raspberry Pi.

Virtual Private Network (VPN)

  • This is built using Raspberry Pi built-in solution called PiVPN.
  • Allows me to make as many VPNs as possible and is easily deployed on iPhone/Android, and Desktop devices through Wireguard.
  • Helps stay all the devices connected to one single network through VPN even though the devices are in different geographical locations (in other words, not connected to the same network)

Network Attached Storage (NAS)

  • Using NextCloud and gives accessbility to 13 TB of storage which is accessible on any device from anywhere without paying any monthly subscription.
  • The link to access this NAS is using this link: drive.dbtronics.org
  • Replaces the functionality of dropbox, google drive etc.
  • Gives privacy control to the user and all the data is stored on-premise without being shared to anyone.

Video Conferencing

  • An extended feature of NextCloud called Talk.
  • Replaces Zoom, Teams, and Google Meet.
  • Allows me to add as many guests I want without any restrictions.
  • This feature is possible by adding a TURN (Traversal Using Relays around NAT) server which allows for two-way communication between peers using open-source WebRTC (Web Real-Time Communication) technology

Reverse Proxy

  • Using Nginx to forward all the requests to right location.
  • The nginx server resides in Raspberry Pi 5 which gets all the requests port forwarded by the internal network router.
  • This server forwards the request to the following domains:
    • dbtronics.org gets forwarded to WordPress server which hosts my agency portfolio.
    • drive.dbtronics.org gets forwarded to Raspberry Pi 4 where NextCloud server resides
    • forex.dbtronics.org gets forwarded to Flask server which is keeping track of overall progress of my Forex Trading progress
    • Local IP on port 80 gets forwarded to Pi-Hole for internal router purpose which helps me navigate to my personal server (as my current Telus router doesn’t support reverse NAT Loopback) configuration.

Website

  • Using WordPress self-hosted on Raspberry Pi 5.
  • This allows me to create my own website without having to pay for hosting fees.
  • Full control of my website all the assets are stored on the device itself.
  • Works like any other website and gives me more storage and faster performance which would have been paid for extra when going for online cloud-hosted server.

Dashboard

  • Created my own forex dashboard to monitor my Forex Trading progress.
  • Used a subdomain of forex.dbtronics.org and points to my flask server.
  • Used Flask Server to achieve this with simple UI on Front-end and handle simple http request acting as a simple Back-end server.