Skip to main content

Overview

Minerva is the original server in Isabel’s infrastructure, hosted on Hetzner and running a comprehensive suite of personal services. This system serves as the primary hub for social media, development tools, authentication, and more.
Named after the Roman goddess of wisdom and strategic warfare, Minerva is the strategic center of Isabel’s self-hosted infrastructure.

System specifications

CPU

AMD processor

Hosting

Hetzner dedicated server

Storage

Ext4 with dedicated storage partition

Network

Dual-stack IPv4/IPv6

Hardware configuration

Minerva uses a multi-partition layout with dedicated storage:
fileSystems = {
  "/" = {
    device = "/dev/disk/by-uuid/77a90bab-9a6f-4cf0-8493-7db518b9214a";
    fsType = "ext4";
  };

  "/efi" = {
    device = "/dev/disk/by-uuid/88C6-A9EA";
    fsType = "vfat";
    options = [
      "fmask=0077"
      "dmask=0077"
    ];
  };

  "/srv/storage" = {
    device = "/dev/disk/by-uuid/157ffe4f-f8f9-4d20-b2e1-3dc144941729";
    fsType = "ext4";
  };
};
Reference: systems/minerva/hardware.nix:2-21
The /srv/storage partition provides dedicated space for application data, isolating it from system files.

Enabled profiles

Minerva is configured as a headless server with Hetzner-specific optimizations:
profiles = {
  headless.enable = true;
  server.enable = true;

  hetzner = {
    enable = true;
    ipv4 = "91.107.198.173";
    ipv6 = "2a01:4f8:c012:2f67::1";
  };
};
Reference: systems/minerva/default.nix:8-17

IPv4 Address

91.107.198.173

IPv6 Address

2a01:4f8:c012:2f67::1

Device configuration

device = {
  cpu = "amd";
  gpu = null;
};
Reference: systems/minerva/default.nix:19-22 As a headless server, Minerva has no GPU configuration.

Services overview

Minerva runs an extensive collection of services organized by category:

Core services

services = {
  anubis.enable = true;
  vaultwarden.enable = true;
  isabelroses-website.enable = true;
  blahaj.enable = true;
  kanidm.enable = true;
  mailserver.enable = true;
  hostling.enable = true;

  # web
  nginx.enable = true;
  // ...
};
Reference: systems/minerva/default.nix:24-55

Anubis

Custom service application

Vaultwarden

Self-hosted password manager (Bitwarden-compatible)

Personal Website

isabelroses.com hosting

Blahaj

Custom application service

Kanidm

Identity and access management

Mail Server

Self-hosted email infrastructure

Development tools

# dev
atuin.enable = true;
forgejo.enable = true;
wakapi.enable = true;
Reference: systems/minerva/default.nix:37-39

Atuin

Shell history sync service

Forgejo

Self-hosted Git forge

Wakapi

Coding time tracking (WakaTime-compatible)

Social platforms

# social
akkoma.enable = true;
nixpkgs-prs-bot = {
  enable = true;
  fedi.enable = true;
  bsky.enable = true;
};
matrix.enable = true;
tranquil.enable = true;
Reference: systems/minerva/default.nix:41-49

Akkoma

Fediverse server (ActivityPub-compatible)

NixPkgs PRs Bot

Automated bot posting to Fediverse and Bluesky

Matrix

Decentralized chat server

Tranquil

Custom social application

Databases

# databases
postgresql.enable = true;
redis.enable = true;
Reference: systems/minerva/default.nix:51-53
PostgreSQL and Redis provide database backends for the various applications running on Minerva.

User configuration

Minerva has minimal user-level configuration, focusing on GPG signing:
home-manager.users.isabel = {
  programs = {
    git.signing.key = "7F2F6BD6997FCDF7";
  };
};
Reference: systems/minerva/users.nix:2-6

What makes it unique

As the original server, Minerva hosts the core of Isabel’s self-hosted infrastructure, making it the foundation for the entire ecosystem.
With 15+ services spanning authentication, social media, development, and databases, Minerva demonstrates the full power of NixOS declarative configuration.
Kanidm and the mail server make Minerva the central identity and authentication hub for all other services.
Running Akkoma, Matrix, and automated bots, Minerva serves as the social media presence for Isabel’s online identity.
Forgejo provides a self-hosted Git forge, while Wakapi and Atuin track development activity and shell history.
Minerva is a critical piece of infrastructure. Changes to this system should be carefully tested, as failures could impact multiple dependent services.

Service dependencies

Many services on Minerva depend on each other:
  • PostgreSQL supports Akkoma, Forgejo, and other applications
  • Kanidm provides authentication for multiple services
  • Nginx reverse proxies all web-facing applications
  • The mail server enables notifications and account recovery
When deploying changes to Minerva, consider the service dependency graph and plan for graceful restarts to minimize downtime.

Build docs developers (and LLMs) love