The easiest way to get started with mYTParents is to build your own device. A basic device is a Linux-on-a-chip device (most probably a Raspberry Pi) that you install on your network. It operates as a wireless access point -- once it's up and running, connect your child's devices to that wireless access point. The basic installation contains modules that allows a) ad hoc disable/enable of internet access, b) time access controls, and c) adult content and safe-browsing blocks.
All mYTParents installations require a provisioning and management server, and software on the device will talk to this server. We assume the device is some variety of a Linux system-on-a-chip, and our reference implementations are based on Raspberry Pi devices. We test on Raspberry Pi 3 Model B+, and Raspberry Pi Zero W. Raspberry Pi compute models can also be used.
Although you can run just one mYTParents device (and many developers do do this for their private home use), commercial use of mYTParents will always require one or more servers to provision the devices that have been deployed, hence the split design.
The server components are ASP.NET Core-based webservices, together with some server processes. These can be run either on Linux or on Windows -- i.e. ASP.NET does *not* require Windows. We fully support Windows, but we assume most users will be using Linux on the server and the client. You can run the server components on the same device as the client, if you are running a single device test/home installation.
ASP.NET Core runs on its own webserver, and this can be "fronted" by a reverse proxy. On Linux, we recommend Nginx, but Apache can be used.
Any Linux distribution is supported. However, on the client-side we are assuming that system-on-a-chip implementation of choice will be Raspberry Pi, either a complete off-the-shelf device like a Raspberry Pi. As such, we assume a Debian-based distro will be used -- Raspbian for Raspberry Pi devices, or Ubuntu for server.