This contains IaC to set up a home lab.
Go to file
Matthew Binning 4aa33c94de refactor: Remove nginx from this repo
The deployment of nginx has been moved to the www repo. This way, all steps of www's lifecycle will be a part of that repo.
2024-11-03 18:51:44 +00:00
compose refactor: Remove nginx from this repo 2024-11-03 18:51:44 +00:00
matrix refactor: Remove nginx from this repo 2024-11-03 18:51:44 +00:00
systemd refactor: Remove nginx from this repo 2024-11-03 18:51:44 +00:00
.gitignore init: Structure the project with a flagship service. 2024-08-10 12:00:46 -07:00
install.sh refactor: Remove nginx from this repo 2024-11-03 18:51:44 +00:00
README.md feat: Add matrix 2024-08-10 12:02:24 -07:00

sky-castle

Sky-castle installs, configures, and deploys lightweight, distributed services.

Services

Services are run from docker-compose. Configuration files under ./compose are installed to /srv/compose/.

They are started through systemd. systemd services files under ./systemd are installed to /etc/systemd/system/

  • calibre
  • kroki
  • ollama
  • postfix
  • syncthing
  • forgejo
  • matrix
  • nextcloud
  • nginx

matrix

The synapse server needs a configuration file generated before it can be deployed. A docker volume must be created.

docker volume create synapse

Then it is specified in the command to generate the configuration.

docker run -it --rm --mount type=volume,src=synapse,dst=/data
    -e SYNAPSE_SERVER_NAME=matrix.binning.dev
    -e SYNAPSE_REPORT_STATS=yes
    matrixdotorg/synapse:latest generate

nginx

nginx is the ingress to all compose services as well as a static website server.

Content

This does not handle content/data of various services. Those are loaded to the production host. This repo does track and deploy configuration files, however.