infrastructure

my self-hosting journey begins with a solid infrastructure built on proxmox ve 8.3, an enterprise-class virtualization platform. this system is complemented by an oracle cloud instance to ensure redundancy, scalability, and public accessibility for certain services. together, they form a hybrid setup that balances local control with cloud reliability.

proxmox ve 8.3

proxmox ve is my primary operations base. its robust capabilities allow me to virtualize workloads efficiently using both vm and lxc containers.

  • virtual machines:
    virtual machines are used for heavier workloads that require isolated environments or complete OS installations. for example:
    • ubuntu 24.04 vm: hosts casa os and other key services.
    • windows 10 vm: used for testing or specific tools that need a windows environment.
  • lxc containers:
    lightweight and resource-efficient containers are ideal for hosting specific services like adguard home, uptime kuma, and more. lxc’s allows these services to run with minimal overhead while maintaining isolation.

network design

my network is built on tp-link’s omada line up. i am utilizing their router (er605 v2), switch (tl-sg2210p), access point (eap610 v3), and their software controller which is self-hosted. to ensure security, performance, and manageability, i have implemented a vlan-based network segmentation strategy:

  • management network (10.10.xa.0/24): handles administrative tasks.
  • trusted vlan (10.10.xb.0/24): secure internal devices.
  • guest vlan (10.10.xc.0/24): isolated access for visitors.
  • iot vlan (10.10.xd.0/24): segregates smart devices.

firewalls and acls:

i have configured access control lists to restrict unnecessary traffic between vlans, while enabling secure communication where needed. for instance, my vpn users can securely access the admin network without exposing it to external networks.


oracle cloud instance

while proxmox handles local hosting, my oracle cloud instance serves as a reliable cloud partner for public-facing services. its role includes:

  • hosting applications that require 24/7 uptime and low-latency access.
  • acting as a backup or failover for critical services in case of local server downtime.
  • running lightweight applications that scale with demand.

services hosted in oracle cloud:

  • web apps like this wordpress website
  • monitoring tools like uptime kuma
  • container stack manager with dockge
  • minecraft server hosted through crafty controller
  • authentication server hosted through authentik