aether/README.md

42 lines
1.5 KiB
Markdown
Raw Normal View History

2024-11-19 21:36:38 -05:00
# *Aἰθήρ*
> [*Aither*] as a whole neither came into being nor admits of destruction,
> but is one and eternal, with no end or beginning of its total
> duration, containing and embracing in itself the infinity of time ...
>
> — Aristotle, *On the Heavens* [^1]
Aether is a fully automated web server configured via **pure** and
**declarative** package management, powered by [NixOS](https://nixos.org).
This allows for all aspects of the server's operation, including config files,
software dependencies, and site content to be deployed and provisioned
automatically.
In short, it's my personal web server.
## Deployment
Aether is designed to separate deployment from the logical specification of the
2024-11-19 22:35:21 -05:00
system, and thus to support any machine that can run NixOS.
Currently, I deploy it physically to a
2024-11-19 21:36:38 -05:00
[Raspberry Pi 5](https://wiki.nixos.org/wiki/NixOS_on_ARM/Raspberry_Pi_5)
running a [modified UEFI bootloader](https://github.com/worproject/rpi5-uefi)
to provide Linux support.
2024-11-19 22:35:21 -05:00
## Modules
As with all NixOS configurations, Aether is split into several independent modules that provide different functionality. These are stored in the `modules/` directory.
### Module Checklist
2024-11-19 21:36:38 -05:00
2024-11-19 22:35:21 -05:00
- [x] `forgejo` - Code forge
- [x] `acme` - TLS certificates
- [x] `fail2ban` - IP moderation
- [ ] `site` - Personal website
- [ ] `mail` - Mail server
- [ ] `backup` - Automated backup system
- [ ] `cachix` - Nix build caching
2024-11-19 21:36:38 -05:00
[^1]: Adapted from [Book II.1](http://classics.mit.edu/Aristotle/heavens.2.ii.html).