~sumner/infrastructure

The Nix configuration for all of my personal infrastructure.
Improve goaccess
Use more recent logrotate config
README to md

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~sumner/infrastructure
read/write
git@git.sr.ht:~sumner/infrastructure

You can also use your local clone with git send-email.

#Personal Infrastructure

Build Status HealthCheck Status

#Things I Run

#Things I Want to Run

  • Navidrome
  • A photo gallery

#Goals

  • Infrastructure as code
  • Immutable infrastructure (as much as possible)
  • Everything backed up to B2
  • Everything backed up to onsite location

#Uptime

  • Can blow away all machines (but not data) and restore in under an hour

  • Can restore all data within one day after catastrophic failure (everything goes down, including data)

    • From local backup: 1 day
    • From B2: 2 days

#Backup Strategy

I am using Restic to backup everything.

#Things that Need Stored Somewhere

  • Docs and such (low latency, need these in block storage)
  • Photos (not as low latency, can have these in S3/Spaces/B2 storage if necessary)
  • Music
  • Configs (stored in this repo)
  • Projects (stored in their respective Git(Hub|Lab) Repos)
  • Password data

#Things that need to be setup by scripts

Q: Can these be done from within the management of NixOS?

  • Airsonic: change admin user password
  • Airsonic: create personal user
  • Bitwarden: add a user
  • Synapse user
  • Mumble SuperUser
  • Mumble channels

#Deploy Instructions

  1. Get a working NixOS install.

  2. Clone this repo to /etc/nixos.

  3. Import host.nix from configuration.nix.

  4. nixos-rebuild switch --upgrade