Files
nixconf/open_ccu.nix
T
2026-01-04 18:43:14 +01:00

33 lines
965 B
Nix

{ config, pkgs, ... }:
{
virtualisation.docker.enable = true;
virtualisation.oci-containers.containers.openccu = {
# Official RaspberryMatic image (contains the necessary CCU logic)
image = "ghcr.io/openccu/openccu:latest";
autoStart = true;
# These options are critical for:
# 1. Swarm Networking (connecting to 'public')
# 2. Hardware Access (GPIO/USB)
extraOptions = [
"--privileged" # Required for internal systemd & hardware
"--network=public" # Connects to your Swarm Overlay network
"--device=/dev/raw-uart:/dev/raw-uart"
"--device=/dev/eq3loop:/dev/eq3loop"
"--device=/dev/ttyUSB0:/dev/ttyUSB0" # Pass the underlying USB too, just in case
];
# Map the web interface locally, or rely on Swarm IP
ports = [ "80:80" ];
volumes = [
"/mnt/service/data/openccu:/usr/local"
"/sys/fs/cgroup:/sys/fs/cgroup:ro" # Required for RaspberryMatic
];
};
}