“Build your own cloud, stream your own media, and block your own ads โ€” all from one tiny box.”

โš™๏ธ Base Setup: Proxmox VE

I make my MiniPC to run Proxmox VE. It allows me to run containers and VMs for all my services. Proxmox I use GMKtec G3 with 16GB of RAM and 512GB of SSD, which cost me around $200 My Mini PC

The reason that I choose this device is because of the efficient, compact design and low power consumption, thanks to the Intel N100 processor.


๐Ÿ“ฆ Container Management with LXC and Portainer

To manage all my various services, I deploy them inside an LXC container on Proxmox. I use Portainer for an easy-to-use gui for container management. This allows me to deploy, monitor, and maintain my self-hosted services. Portainer


My Services

๐ŸŽฌ The ARR Stack (Media Automation)

This ARR stack automates my media downloads and management for movies and series. Many sources suggest that I need to use a VPN for torrenting due to policies in their countries, but since there are no regulations regarding torrenting in my country, I donโ€™t need to set that up.

ARR Stack

Stack Components:

  • Prowlarr โ€“ Indexer aggregator for torrents.
  • Qbittorrent โ€“ Torrent client.
  • Sonarr โ€“ Fetches TV shows.
  • Radarr โ€“ Fetches movies.
  • Bazarr โ€“ Grabs subtitles.
  • Flaresolverr โ€“ Helps Prowlarr bypass Cloudflare-protected sites.
  • Jellyfin โ€“ Local streaming platform for all media.

Jellyfin UI


๐Ÿ“ธ Immich โ€“ Photo & Video Backup

Immich is my go-to for self-hosted photo storage. It supports auto-upload, albums, timeline views, and even facial recognition.

Immich UI


๐ŸŒ Pi-hole + Unbound + NGINX Proxy Manager

I had to do this combo, it handles DNS resolution, ad blocking, and hostname routing on my network, and it helps mitigate ISP interference. Without Unbound (DoT), my queries (plaintext) are sent to the DNS are being intercept by my ISP. With unbound (DoT) my queries are being encrypted

What It Does:

  • Blocks ads on all network devices
  • Resolves local hostnames like nas.dapa or media.dapa
  • Uses Unbound with DNS-over-TLS (DoT) for private DNS resolution

Setup Notes:

  • Assign static IP to Pi-hole in your router
  • Point router DNS to Pi-hole
  • Disable IPv6 on the router (because my ISP automatically assign IPv6 DNS, which i couldn’t set, then i turn it off)
  • Use NGINX Proxy Manager for HTTPS reverse proxy

๐Ÿ”ฎ Whatโ€™s Next?

Plans for the future:

  • Add Nextcloud or Syncthing for file storage and sync
  • Build a centralized dashboard (thinking Heimdall, Dashy, or Homarr)