What You'll Need
Before we begin with setting up our own host, let’s make sure we have everything ready.
A VM or Server
All these applications need to run somewhere. You will need either a VM or Root Server provided by a hoster (such as Hetzner, Netcup, etc) or access to a bare-metal server that is reachable from the internet. Make sure that you are able to define your own installation media if you utilize a VPS. Some providers only allow for a predefined selection of operating systems (such as DigitalOcean).
Specs
We recommend a VM/Server with at least 4CPU Cores and 8GB of RAM. How much you will actually need is dependent on the number of services you are providing and the number of users consuming these services. 4 Cores and 8GB of ram will make sure that all of the applications we are using will run without issues.
For reference: The Echtzeit Host has 16 Epyc Cores and 64GB of RAM, which -so far- provided plenty of headroom for everything we’ve done.
Installation Media
If your provider does not provide means to install the current Production Quality Release of FreeBSD, you’ll need to download the installer from https://www.freebsd.org/where/. If you are unsure which file you need, download *-dvd1.iso file.
Domain & DNS
You will need a domain name under which the various services will be reachable and a way to edit DNS records for this domain. We recomment deSEC for managing the DNS entries.
A lazy weekend
Make some time to debug issues, start again from scratch or to read up on additional documentation. Especially if you haven’t used FreeBSD before, or if you are new to setting up and administering it infrastructure.
While we try to list every step needed to set up the full system. We highly recomment familiarizing yourself with the documentation of FreeBSD, Bastille, Caddy and Nextcloud before approaching the guide.