dots/modules/hosts/nixos/hetznix01/post-install/containers/emqx.nix
Gene Liverman 5dbcce7686
Add linting, formatting, and CI infrastructure
- Add deadnix, nixfmt, and statix to flake inputs
- Add formatter output to flake for nix fmt support
- Add deadnix, nixfmt, statix to Home Manager packages
- Add GitHub Actions workflow for CI validation
- Add .pre-commit-config.yaml with hooks for nixfmt, deadnix, and statix
- Support x86_64-darwin in formatter
2026-03-22 18:32:20 -04:00

38 lines
1,005 B
Nix

{ config, username, ... }:
let
volume_base = "/var/lib/emqx";
in
{
# Based on docs at https://docs.emqx.com/en/emqx/latest/deploy/install-docker.html
virtualisation.oci-containers.containers = {
"emqx" = {
autoStart = true;
image = "docker.io/emqx/emqx-enterprise:5.10.0";
environment = {
EMQX_NODE_NAME = "emqx@emqx1.hetznix01.technicalissues.us";
};
environmentFiles = [
"${volume_base}/.env"
];
hostname = "emqx1.hetznix01.technicalissues.us";
ports = [
"1883:1883"
#"8083:8083"
#"8084:8084"
"18083:18083"
];
volumes = [
"${volume_base}/data:/opt/emqx/data"
"${volume_base}/log:/opt/emqx/log"
];
};
};
services.restic.backups.daily.paths = [ "${volume_base}/data" ];
sops.secrets.emqx_env = {
path = "${volume_base}/.env";
owner = username;
restartUnits = [ "${config.virtualisation.oci-containers.containers.emqx.serviceName}" ];
};
}