MinkeBox is an Open Source project which aims to make it simple to run Docker applications on your home network without having to learn lots about Docker. Need a VPN into your home? Need a Wiki or a Webserver? Backups? A cache for Steam downloads to share with roommates? Add unsupported devices to your HomeKit network? Run a Minecraft server? Block Ads? Docker has all these applications ready to run, and MinkeBox makes it easy to get them running.
MinkeBox grew out of a need to run various Docker containers at home, and to make them play well together. There are plenty of other Docker management tools (Portainer is quite popular) you can use, and they are really good if you know about Docker. MinkeBox solves a different problem: let anyone run Docker at home without knowing Docker.
MinkeBox is written in NodeJS can can be run on anything Node and Docker are available for. For simplicity, bootable images are provided to run a MinkeBox instance on the Raspberry Pi (3 & 4) and x86 platforms.
MinkeBox is more than a simple Docker manager, it provides a set of core features which allows applications to be integrated with each other:
Each application is allocated an IP address using DHCP, just like a traditional computer. Each application then appears on your network as a distinct, addressable "machine" (MinkeBox can also be a DHCP server for your network but this is optional).
If IPv6 support is detected on your LAN network, applications will be auto-configured to used IPv6 too.
MinkeBox is a DNS server for your local network. While it's not essential, many applications work best and provide most benefits when the included DNS server is your default.
Every application is added to the DNS server using the application's name which makes them easy to find, especially if they have a web interface (e.g. the Pi Hole ad blocker).
The DNS server is cascading. Any installed application can provide its own DNS server, and this will be integrated into the MinkeBox DNS automatically.
Storage and automatically allocated to the applications that need it. Storage can be shared between applications. Extra external storage can be added if MinkeBox is hosting applications which needs lots of space (e.g. backups managers).
By default, a single home network is provided. It's also possible to create other networks , including various kinds of VPNs, and assign applications to use them instead. This allows applications to be isolated from the main home network if necessary.
Many Docker applications provide their main UI via a web server. These UIs are integrated into the main MinkeBox UI making it easy to navigate from MinkeBox to your desired application.
Applications can register services with the Multicast DNS service; useful in Apple networks for advertising backup and file services, etc.
Applications can make themselves visible on the Internet by using the NAT service. MinkeBox uses UPnP to automatically provide a route from your firewall to the application.
MinkeBox will register unique names for applications with the minkebox.net domain server, so if necessary an app can be address globally. IP changes are tracked automatically and these names are always up-to-date.
MinkeBox supports sharing of resources between applications, allowing simple applications to be combine into complex ones: