Automating a self-hosted server so it is easier to move

Running several personal services by hand makes moving from one server to another painful, so the setup is being reorganized as repeatable code and service folders. The current server runs without Docker and includes an , a mail server, a personal web server, Git repositories, and an IRC bridge. The planned setup moves toward Docker-based services: Traefik, docker-mailserver, an nginx web server, Forgejo for Git repositories, and other bridge services.

Server-wide setup files would live in an Ansible folder, while each service would have its own folder with a .yml file and s. Those s would be mounted into the container that runs each service.

Key points

  • The goal is to make server migration less painful by keeping setup in files.
  • The existing services include a , mail server, web server, Git repositories, and IRC bridge.
  • The new direction is to run services with Docker and keep each service in its own folder.
  • Ansible would handle server setup and hardening, while would run each service.
  • The same pattern can help a recover faster after reinstalling or moving hardware.
Read original