Namadgi.au is designed literally from the ground up to run on fumes, making use of the cheapest viable hardware, free services, open source software and data sources. This article outlines the current tech stack and free resources we leveraged to establish and maintain this site on the cheap.
People tend to drastically overestimate their requirements. Having limited resources will teach you to remain lean and efficient, which will translate into very serious cost savings and server resilience to load if you do scale. Below is the current tech stack for this site.
Server hardware
- Raspberry Pi 5 with 16 GB RAM. (Yes. Really).
- SSD storage, M.2 over PCIe 3 via a hat.
The Pi 5 has a PCIe slot that allows you to connect an SSD drive via cable/hat. This drastically improves speed, performance, reliability and storage capacity, turning the Pi into a capable server option for small to medium traffic sites. The PCIe is officially gen 2, but you can enable gen 3 in settings and it works fine. Gen 4 SSDs are backwards compatible and relatively cheap now because they are "old", so we picked up a 1 TB Samsung 990 Pro, mainly for the superior endurance.
If the site ever outgrows the Pi, which ok does look kind of comical, the next step would be renting a VPS and moving it out to the cloud for a few dollars per month. From there we can smoothly scale up resources on demand, spin up multiple servers, load balance and so on, without buying anything.
(Note: Since writing this article a 16 GB Pi 5 has jumped from $180 to just under $600, which is actually insane. Do not pay that much! Picking up a second hand PC or laptop is probably your best bet for a cheap computer. For a new machine, the Mac Mini is the best value available desktop, but those will probably also jump in price soon).
(Another note: Mac Mini certainly did jump in price - about 50% locally - not the screaming bargain they were before).
Network / CDN
A free Cloudflare account provides global CDN and caching services, substantially reducing load on the server while also increasing performance. The account also provides access to free Cloudflare tunnels, which enables the site to be served from behind a CGNAT network.
The tunnel handles TLS termination automatically, eliminating the need for a reverse proxy or to generate certificates. It also provides what is effectively a DDNS service - the Pi can be physically relocated to another site, plug it in and it will just work. This opens the possibility of time-sharing bandwidth - the server can be moved between networks to avoid tripping bandwidth caps, or if we find a friendly bandwidth sponsor.
For security reasons, any public server should be placed in an isolated network segment and firewalled off.
Virtualisation
All services are running as Docker containers. Use of Docker massively cuts maintenance overhead. Don't spend hours maintaining and patching servers, just pull the new image and replace them. Customisation and config are set out in your docker / compose files, thereby making the changes standardised, reproduceable, and easy to iterate. If there any problems, roll it back.
This site builds from source and deploys in about a minute.
Learn Docker, you will not regret it. Probably the single most useful infrastructure / deployment tool a software engineer can know.
Software
This site runs is based on a custom-built spatial CMS system, which we will probably open-source:
- Golang + Templ.
- PostgreSQL + PostGIS extension.
- htmx
- Leaflet.js
The application has been heavily tuned for efficient operation and to minimise DB load, in keeping with the resource restrictions we operate under.
Why?
Because there is no budget. When we say 'no budget', everyone assumes 'small budget'. We actually mean there is NO budget. But there are advantages to scraping parts together: The whole system is hugely resilient. It can be rebuilt from scorched earth in an afternoon.
- A replacement Pi server (or any other machine) can be swapped in with 10 minutes notice. The compute is not far off what you get in a small VPS (better for multi-threading) and the RAM allocation is far superior.
- Docker makes the containers trivially maintainable, reproduceable, upgradeable and therefore expendable. Containers are routinely rebuilt to accommodate software or language updates, it takes minutes.
- The Cloudflare tunnel traverses the CGNAT barrier, handles TLS termination and provides dynamic DNS service (physically relocate the Pi, plug it in and it will just work).
- The Cloudflare CDN caches static resources at the edge, reducing load on the Pi and reducing latency. This is critical for serving dynamic map tiles.
So, meet the Talbingo server, serving this site from a cupboard and a 1 TB Samsung 990 Pro SSD, somewhere on the internet!
Ten years ago this would have been a joke. Today, it's not too shabby. Go ahead and scoff, we know you want to. Then go look at what four cores, 16 GB RAM and 1 TB of storage will cost you on a commercial VPS.

