This repository has been archived on 2023-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
max/README.md

2.6 KiB

Max

This repository contains Ansible scripts to setup our main home server max. The common role executes some common OS tasks. The docker role installs Docker. The other roles are specifically for the various services we run.

Running services

All services below are running under Docker, except NSD and Borg.

Virtualization

Currently this repository is ran as a physical server, but we intend to virtualize it. First, the whole server should be virtualized on a single virtual machine. After that, it will be split up into several virtual machines. The services on each virtual machine should have similar services/security properties.

Provisional split of services on virtual machines:

  • "public web" VM: Mastodon, static HTML server, cyberchef, jitsi meet, inbucket
  • "data" VM: seafile, radicale, syncthing, freshrss
  • "management" VM: reverse proxy, prometheus, kms
  • "git" VM: forgejo. Because forgejo is a somewhat single point of failure, it should have its own VM.

Possible future services

  • matrix
  • peertube?
  • Pixelfed?
  • Prometheus
  • Concourse CI?

TODO

  • Clear view of what services + which versions we are running. This way, we can track security updates better.
  • Host tobb website?
  • Move from Ubuntu to Debian
  • move Mastodon to pim.kunis.nl
  • Podman
  • Replace watchtower with Podman features

NSD

ZSK Rollover

Could make automatic key rollovers with cron or some other tool.

Idempotency

Currently I always resign zones. But for idempotency I should probably only do it if the zone has changed or the keys have changed.

Firewall

A little more difficult because of docker networking but probably doable.