!! ACHTUNG !! Moved to https://github.com/42LoCo42/.dotfiles
I recently migrated my server bunny
from its default Ubuntu installation (bleh)
to the very awesome NixOS, with all the configs being located in my dotfile repo.
It also contains the source code for my actual homepage.
This repo won’t be updated anymore, but will be kept as an archive.
My corner of the Internet is accessible at https://eleonora.gay. All configurations for the server hosting it are contained in this repository.
Services are managed with Docker Compose; the shell environment neccessary to build all components is created from a Nix Flake and is intended to be activated with Direnv.
All services also run at minimum privileges:
- as the
nobody
user - with all capabilities dropped
…is a modern web server with automatic certificate management and HTTP/3 support. It is used as the entrypoint and reverse proxy to all other services.
- My homepage: https://eleonora.gay
- Element, a popular client for Matrix: https://element.eleonora.gay
…is a privacy-respecting metasearch engine.
Uses a Redis DB for caching and the SEARXNG_SECRET
environment variable.
It listens on https://searx.eleonora.gay
…is the reference implementation of a Matrix homeserver. It listens on https://matrix.eleonora.gay and on TCP port 8448 (for federation).
…is a collaborative, real-time whiteboard service. It listens on https://wbo.eleonora.gay
…is a simple push notification service. It listens on https://ntfy.eleonora.gay
…is a simple and fast photo gallery. It listens on https://img.eleonora.gay
A private video host for my former classmates. Listens on https://avh.eleonora.gay and requires the AVH_JWT_KEY variable.
…is an open-source implementation of a Tailscale control server. It listens on https://vpn.eleonora.gay
These services are not connected to Caddy, either due to privacy reasons or simply because they aren’t web services.
I run a Tailscale exit node to complete my personal VPN.
This services needs the environment variable TS_AUTHKEY
.
…is a metrics collection tool. It currently collects metrics from the following services:
- itself
- a
node_exporter
instance running outside of Docker - Docker
- Caddy
- Synapse
- ntfy
- Headscale
I plan to make a Grafana dashboard for all of these metrics soon.