mirror of
https://codeberg.org/polyteknisk-radiogruppe/the_prg_server_configuration.git
synced 2026-06-13 18:28:55 +02:00
Add and enable flakes as default.
Add Redis/Valkey database to database.nix
This commit is contained in:
parent
3a51a068e4
commit
ad91f87af6
2 changed files with 45 additions and 1 deletions
|
|
@ -59,10 +59,12 @@ in {
|
|||
networking.firewall.allowedTCPPorts = [
|
||||
5432 # PostgreSQL
|
||||
3306 # MariaDB/MySQL
|
||||
6379 # Valkey
|
||||
];
|
||||
networking.firewall.allowedUDPPorts = [
|
||||
5432 # PostgreSQL
|
||||
3306 # MariaDB/MySQL
|
||||
6379 # Valkey
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
|
|
@ -111,6 +113,48 @@ in {
|
|||
python3Packages.wheel
|
||||
python3Packages.cryptography
|
||||
google-cloud-sdk
|
||||
|
||||
# Valkey (as Redis alternative)
|
||||
valkey
|
||||
];
|
||||
|
||||
# Systemd service for Valkey (port 6379). Creates config and directories via Nix-managed units.
|
||||
systemd.services.valkey_6379 = {
|
||||
description = "Valkey in-memory store (port 6379)";
|
||||
wants = ["network.target"];
|
||||
after = ["network.target"];
|
||||
wantedBy = ["multi-user.target"];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.valkey}/bin/valkey-server /etc/valkey/6379.conf";
|
||||
Restart = "always";
|
||||
User = "root";
|
||||
RuntimeDirectory = "valkey_6379"; # places runtime dir under /run
|
||||
# Keep logs in a file (configured below) but also keep unit re-start behavior
|
||||
};
|
||||
# Ensure the service is started at boot
|
||||
wantedBy = ["multi-user.target"];
|
||||
};
|
||||
|
||||
# Provide the Valkey config file at /etc/valkey/6379.conf
|
||||
environment.etc = lib.mkOverride 0 (lib.attrsets.union environment.etc {
|
||||
"valkey/6379.conf" = {
|
||||
text = ''
|
||||
# Valkey configuration managed by NixOS
|
||||
daemonize yes
|
||||
pidfile /var/run/valkey_6379.pid
|
||||
port 6379
|
||||
loglevel notice
|
||||
logfile /var/log/valkey_6379.log
|
||||
dir /var/valkey/6379
|
||||
'';
|
||||
};
|
||||
});
|
||||
|
||||
# Create data and log directories using systemd tmpfiles rules so paths exist on boot
|
||||
systemd.tmpfiles.rules = lib.mkForce [
|
||||
"d /var/valkey 0755 root root - -"
|
||||
"d /var/valkey/6379 0755 root root - -"
|
||||
"f /var/log/valkey_6379.log 0644 root root - -"
|
||||
];
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue