Build a Personal Data Center

Build a Personal Data Center with no hardware. Build it fast and securely.

Build a Personal Data Center
Photo by Taylor Vick / Unsplash

We are going to focus on using IONOS Data Center Designer, building our Ubuntu VMs from scratch. And creating the services we need.

Table of Contents

  1. Creating Secure SHell (SSH) keys.
  2. Publishing your Public SSH key on GitHub.
  3. Using Data Center Designer to build a VM
  4. Install Ubuntu from disk.
  5. Secure Your Ubuntu Installation.
  6. Creating a Virtual Private Network (VPN) Server.
  7. Creating a Personal Data Server (PDS).
  8. Creating a Domain Name System (DNS) Server
  9. Generating OpenPGP Keys.
  10. Using KeyOxide to verify your online identity.
  11. Installing Signal and publishing a link.

Creating Secure SHell (SSH) Keys

Secure SHell (SSH) keys are always generated in a pair. A public key that you give out and a private key you keep safe. These are mostly used to access systems by command line through a terminal. They are the most common way to access Linux servers and other services such as GitHub.

For the purposes of this walkthrough, please follow step 1, then return here.

Generate SSH Keys
Three steps to generate and install your own SSH keys. Never use a password to log into the Linux server again.

Publishing your Public SSH key on GitHub

The reason we want to do this is during the install of the Ubuntu Linux operating system, it can reach out to GitHub, grab your public SSH key and disable password based authentication from the start.

Public SSH Key in GitHub
Publishing your public SSH key to GitHub can be used when you’re installing a new Ubuntu Server

Using Data Center Designer to build a VM

There's hudreds of options for hosting companies and some may be better but many are worse. Typically when you use a VPS service like Digital Ocean, you're using a VPS that has bad IP reputation (gets blocked a lot) and they're pre-installing your operating system for you with their modifications.

IONOS Data Center Designer will give you the autonomy to create your own data center without their fingerprints being left on your server.

IONOS Data Center Designer
IONOS Data Center Design is how you can crate your own data center with no hardware.

Install Ubuntu From Disk

I am a huge fan of installing your operating system without a hosting provider adding their touches to your install. Some, such as Digital Ocean will add their own SSH keys to the image which gives them persistent access to your VM. Not ok.

Follow the directions below on how to provision a general use server. We provision the same general use server for our Virtual Private Network server.

When I first got into Linux, I remember printing off screen shots of Ubuntu 4. F-O-U-R. And that's how I got started with installing it. That's why I made the guide here. This will walk you trough screen by screen.

Ubuntu Server Provisioning
Learn how to provision an Ubuntu Server from scratch.

Secure Your Ubuntu Installation

With this guide you can jump to the end. You'll be creating basic firewall rules on the system that will only allow you, within a rate limit, to access the server. That will keep the riff-raff out.

Secure Ubuntu Server 24.04
How to securely setup an Ubuntu Server 24.04 in a VPS.

Now for the fun stuff.

Creating a Virtual Private Network (VPN) Server

I'm going to make the recommendation of using an IKEv2 server using an ECDSA key and standard encryption standards used by all current generation operating systems.

If you are using Windows, Android, macOS, and Linux, you can go ahead and go configure the VPN it in their respective system settings. If you're doing it on an iPhone and iPad and want it persistent for privacy reasons, you'll need to build out your own .mobileconfig file.

The nice thing is if you use this, you don't have to install a special app and can make your computer or phone as minimal as possible.

IKEv2 VPN with Ubuntu and Apple
How to build an IKEv2 VPN server for Apple devices.

Creating a Personal Data Server (PDS)

The personal data server is how you can hold all your posts, media, and authentication for the social networks that use AT Protocol. This is how you don't get de-platformed and the only person that can take you down is yourself.

Personal Data Server
Self-hosted server that securely stores and manages users.

Creating a Domain Name System (DNS) Server

Create another Ubuntu VM and follow the guide below. The purpose of this is to block ads, malware, trackers, and telemetry data.

Creating a Domain Name System (DNS) Server
The DNS server we will create is to block advertisements, trackers, and telemetry for privacy reasons. Telemetry is the meta data of what you do online. Like diagnostic data sent to vendors. For our personal data center, we will be running the Pi-Hole. It’s supposed to be a black hole

Generating OpenPGP Keys

GPG / PGP / OpenPGP keys are similar to SSH keys. They have a public and private pair. You can use these keys to encrypt anything. Files, emails, messages, etc, and it is the only way to truly make sure your communications and files are private.

We are going to use these keys along with a service such as Keyoxide to verify our online identity.

GPG Keys
GPG / PGP Keys are the bane of forensic investigators. They are a pair of digital keys which secure your data and make your conversations private.