diff --git a/.naxos-repo/generated-naxos-config.nix b/.naxos-repo/generated-naxos-config.nix new file mode 100644 index 0000000..c2702d0 --- /dev/null +++ b/.naxos-repo/generated-naxos-config.nix @@ -0,0 +1,71 @@ +# Autogenerated by NaxOS Management Daemon +# Do not edit directly; modify via NaxOS Web Dashboard or GitOps repository. + +{ config, pkgs, lib, ... }: + +{ + services.naxos.core = { + enable = true; + hostName = "naxos-test"; + timeZone = "UTC"; + }; + + services.naxos.storage = { + enable = true; + arcMaxBytes = 4294967296; + autoScrub.enable = true; + autoTrim.enable = true; + importExistingPools = [ "tank" ]; + }; + + services.naxos.shares.samba = { + enable = true; + workgroup = "WORKGROUP"; + shares = { + + "media" = { + path = "/tank/media"; + readOnly = false; + browseable = true; + guestOk = true; + validUsers = [ ]; + timeMachine = false; + + }; + "backup" = { + path = "/tank/backup"; + readOnly = false; + browseable = true; + guestOk = false; + validUsers = [ "admin" "lukas" ]; + timeMachine = true; + timeMachineMaxSize = "1T"; + }; + }; + }; + + services.naxos.shares.nfs = { + enable = true; + exports = [ + + { + path = "/tank/media"; + clients = [ + { subnet = "10.0.0.0/23"; options = "rw,sync,no_subtree_check,no_root_squash"; } + ]; + } + ]; + }; + + services.naxos.appEngine = { + enable = true; + defaultRuntime = "docker"; + }; + + services.naxos.gitops = { + enable = true; + remoteUrl = "ssh://git@git.lholz.de:2222/naxos/naxos-config.git"; + branch = "main"; + autoPushOnCommit = true; + }; +} diff --git a/.naxos-repo/naxos-config.json b/.naxos-repo/naxos-config.json new file mode 100644 index 0000000..caea074 --- /dev/null +++ b/.naxos-repo/naxos-config.json @@ -0,0 +1,142 @@ +{ + "core": { + "hostname": "naxos-test", + "timezone": "UTC" + }, + "storage": { + "arcMaxBytes": 4294967296, + "autoScrub": true, + "autoTrim": true, + "pools": { + "tank": { + "layout": "mirror", + "devices": [ + "/dev/sda", + "/dev/sdb" + ], + "ashift": 12, + "datasets": { + "media": { + "mountpoint": "/tank/media", + "compression": "lz4", + "recordsize": "1M" + }, + "backup": { + "mountpoint": "/tank/backup", + "compression": "zstd", + "recordsize": "128K", + "quota": "2T" + }, + "container": { + "mountpoint": "/var/lib/docker", + "compression": "lz4", + "recordsize": "128K", + "quota": "500G" + } + } + } + }, + "importExistingPools": [ + "tank" + ] + }, + "shares": { + "samba": { + "enable": true, + "workgroup": "WORKGROUP", + "shares": { + "media": { + "name": "media", + "path": "/tank/media", + "readOnly": false, + "browseable": true, + "guestOk": true, + "validUsers": [], + "timeMachine": false + }, + "backup": { + "name": "backup", + "path": "/tank/backup", + "readOnly": false, + "browseable": true, + "guestOk": false, + "validUsers": [ + "admin", + "lukas" + ], + "timeMachine": true, + "timeMachineMaxSize": "1T" + } + } + }, + "nfs": { + "enable": true, + "exports": [ + { + "path": "/tank/media", + "clients": [ + { + "subnet": "10.0.0.0/23", + "options": "rw,sync,no_subtree_check,no_root_squash" + } + ] + } + ] + } + }, + "appEngine": { + "defaultRuntime": "docker", + "apps": { + "immich": { + "id": "app-immich", + "appId": "immich", + "name": "Immich Photo Hub", + "runtime": "systemd", + "status": "running", + "port": 2283, + "version": "v1.118.0", + "cpuUsagePercent": 1.8, + "memoryUsageBytes": 780000000, + "config": { + "mediaLocation": "/tank/media/photos", + "acceleration": "intel-qsv" + } + }, + "jellyfin": { + "id": "app-jellyfin", + "appId": "jellyfin", + "name": "Jellyfin Media Server", + "runtime": "docker", + "status": "running", + "port": 8096, + "version": "10.9.8", + "cpuUsagePercent": 0.5, + "memoryUsageBytes": 420000000, + "config": {} + } + } + }, + "users": { + "admin": { + "username": "admin", + "description": "NaxOS Appliance Administrator", + "isAdmin": true, + "sshKeys": [], + "smbAccess": true + }, + "lukas": { + "username": "lukas", + "description": "Lukas Holzner", + "isAdmin": true, + "sshKeys": [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... lukas@lholz.de" + ], + "smbAccess": true + } + }, + "gitops": { + "remoteUrl": "ssh://git@git.lholz.de:2222/naxos/naxos-config.git", + "branch": "main", + "autoPushOnCommit": true + } +} \ No newline at end of file