{ domainName, ... }: { services.cron = { enable = true; systemCronJobs = [ # TODO Change the server when moving between hosts ''0 0 * * * root mkdir -p /Storage/Data/Docker/sysctl.io/letsencrypt/; rsync -avr --delete root@warsaw-ovh-01:/Storage/Data/Docker/sysctl.io/letsencrypt/ /Storage/Data/Docker/sysctl.io/letsencrypt/'' # ''0 0 * * * root mkdir -p /Storage/Data/Docker/sysctl.io/letsencrypt/; rsync -avr --delete root@framework-server:/Storage/Data/Docker/sysctl.io/letsencrypt/ /Storage/Data/Docker/sysctl.io/letsencrypt/'' ]; }; # Containers virtualisation.oci-containers.containers."derp" = { image = "docker.io/fredliang/derper"; environment = { DERP_ADDR = ":1443"; DERP_CERT_DIR = "/app/certs"; DERP_CERT_MODE = "manual"; DERP_DOMAIN = domainName; DERP_STUN = "true"; DERP_VERIFY_CLIENTS = "true"; DERP_HTTP_PORT = "-1"; }; volumes = [ "/var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock:ro" "/Storage/Data/Docker/sysctl.io/letsencrypt/external/*.sysctl.io/public.crt:/app/certs/${domainName}.crt:ro" "/Storage/Data/Docker/sysctl.io/letsencrypt/external/*.sysctl.io/private.key:/app/certs/${domainName}.key:ro" ]; ports = [ "3478:3478/udp" "1443:1443/tcp" ]; log-driver = "journald"; extraOptions = [ "--network=host" ]; }; }