galanthus: Cleanup, add Copyparty

This commit is contained in:
Jan Kremer 2026-02-02 23:11:28 +01:00
parent be4409abcb
commit fe8273c4d3
No known key found for this signature in database
16 changed files with 103 additions and 265 deletions

View file

@ -1,6 +0,0 @@
{
services.adguardhome = {
enable = true;
port = 3000;
};
}

View file

@ -1,31 +0,0 @@
{
containers.audiobooks = {
autoStart = true;
bindMounts = {
"/var/lib/audiobookshelf" = {
hostPath = "/mnt/sdb1/media/audiobooks";
isReadOnly = false;
};
};
config =
{ pkgs, ... }:
{
services = {
audiobookshelf = {
enable = true;
# port = 8000;
# host = "audiobooks.alpine-centauri.ts.net";
};
tailscale = {
enable = true;
useRoutingFeatures = "server";
interfaceName = "userspace-networking";
};
};
system.stateVersion = "24.05";
};
};
}

View file

@ -0,0 +1,46 @@
{
config,
pkgs,
...
}:
{
age.secrets."copyparty-jan" = {
file = ../secrets/copyparty-jan.age;
mode = "400";
owner = "copyparty";
};
environment.systemPackages = [ pkgs.copyparty ];
services.copyparty = {
enable = true;
settings = {
# p = 3923;
z = true;
ed = true;
e2dsa = true;
e2ts = true;
daw = true; # WebDAV
};
accounts = {
jan.passwordFile = config.age.secrets.copyparty-jan.path;
};
groups = {
family = [ "jan" ];
};
volumes = {
"/" = {
path = "/mnt/sdb1/cloud";
access = {
A = [ "jan" ];
r = "*";
};
# flags = { };
};
};
};
}

View file

@ -1,12 +1,11 @@
{
imports = [
./copyparty.nix
# ./forgejo.nix
# ./immich.nix
./jellyfin.nix
# ./minecraft.nix
./opencloud.nix
# ./pinchflat.nix
./samba.nix
# ./samba.nix
./tailscale.nix
];
}

View file

@ -1,24 +0,0 @@
{
containers.freshrss = {
autoStart = true;
config = {
services = {
freshrss = {
enable = true;
language = "de";
authType = "none";
baseUrl = "https://freshrss.alpine-centauri.ts.net";
};
tailscale = {
enable = true;
useRoutingFeatures = "server";
interfaceName = "userspace-networking";
};
};
system.stateVersion = "24.05";
};
};
}

View file

@ -1,5 +1,5 @@
{
containers.immich = {
containers.photos = {
autoStart = true;
bindMounts = {
@ -13,7 +13,8 @@
services = {
immich = {
enable = true;
host = "immich.alpine-centauri.ts.net";
# port = 2283;
host = "photos.alpine-centauri.ts.net";
};
tailscale = {

View file

@ -1,86 +0,0 @@
{ inputs, ... }:
{
containers.nextcloud = {
autoStart = true;
bindMounts = {
"/etc/ssh/ssh_host_ed25519_key".hostPath = "/etc/ssh/ssh_host_ed25519_key";
"/var/lib/nextcloud/data" = {
hostPath = "/mnt/sdb1/data";
isReadOnly = false;
};
};
config =
{ pkgs, config, ... }:
{
imports = [ inputs.agenix.nixosModules.default ];
age = {
identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
secrets."nextcloud" = {
file = ../secrets/nextcloud.age;
mode = "400";
owner = "nextcloud";
};
};
services = {
nextcloud = {
enable = true;
package = pkgs.nextcloud30;
hostName = "nextcloud";
https = true;
config = {
adminpassFile = config.age.secrets.nextcloud.path;
};
settings = {
trusted_domains = [ "nextcloud.alpine-centauri.ts.net" ];
enabledPreviewProviders = [
"OC\\Preview\\AVI"
"OC\\Preview\\BMP"
"OC\\Preview\\GIF"
"OC\\Preview\\HEIC"
"OC\\Preview\\JPEG"
"OC\\Preview\\Krita"
"OC\\Preview\\MKV"
"OC\\Preview\\MP3"
"OC\\Preview\\MP4"
"OC\\Preview\\MarkDown"
"OC\\Preview\\Movie"
"OC\\Preview\\OpenDocument"
"OC\\Preview\\PDF"
"OC\\Preview\\PNG"
"OC\\Preview\\TXT"
"OC\\Preview\\XBitmap"
];
};
database.createLocally = true;
configureRedis = true;
maxUploadSize = "1G";
## Set up non-declaratively for now
# extraAppsEnable = true;
# autoUpdateApps.enable = true;
# extraApps = {
# inherit (config.services.nextcloud.package.packages.apps)
# news
# contacts
# calendar
# tasks
# ;
# };
};
tailscale = {
enable = true;
useRoutingFeatures = "server";
interfaceName = "userspace-networking";
};
};
system.stateVersion = "24.05";
};
};
}

View file

@ -1,33 +0,0 @@
{
containers.cloud = {
autoStart = true;
bindMounts = {
"/var/lib/opencloud" = {
hostPath = "/mnt/sdb1/opencloud";
isReadOnly = false;
};
};
config = {
services = {
opencloud = {
enable = true;
# port = 9200;
# settings = { };
environment = {
OC_INSECURE = "true";
OC_URL = "https://cloud.alpine-centauri.ts.net";
};
};
tailscale = {
enable = true;
useRoutingFeatures = "server";
interfaceName = "userspace-networking";
};
};
system.stateVersion = "24.05";
};
};
}

View file

@ -1,31 +0,0 @@
{
virtualisation.oci-containers = {
containers = {
pinchflat = {
image = "ghcr.io/kieraneglin/pinchflat:latest";
environment.TZ = "Europe/Berlin";
ports = [ "127.0.0.1:8945:8945" ];
volumes = [
"/mnt/sdb1/media/youtube/config:/config"
"/mnt/sdb1/media/youtube/downloads:/downloads"
];
};
};
};
containers.youtube = {
autoStart = true;
config = {
services = {
tailscale = {
enable = true;
useRoutingFeatures = "server";
interfaceName = "userspace-networking";
};
};
system.stateVersion = "24.05";
};
};
}

View file

@ -1,32 +0,0 @@
{
containers.vault = {
autoStart = true;
bindMounts = {
"/var/backup/vaultwarden" = {
hostPath = "/mnt/sdb1/vaultwarden";
isReadOnly = false;
};
};
config = {
services = {
vaultwarden = {
enable = true;
backupDir = "/var/backup/vaultwarden";
dbBackend = "postgresql";
config = {
# SIGNUPS_ALLOWED = false;
};
};
tailscale = {
enable = true;
useRoutingFeatures = "server";
interfaceName = "userspace-networking";
};
};
system.stateVersion = "24.05";
};
};
}

Binary file not shown.

View file

@ -1,7 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 2otpcg 3veZJ75b0D5gej3P4fHkM8yGzVH5ldkGOCYBkdztoSw
KXDhfvj/wfpMXqQ1MspymfJBBqRJktcSngIkEBDSUu4
-> ssh-ed25519 40YjXQ L1yJYjyAmCi7W05BAVeFZi3mSCzBNU0/hqm2prEV/wI
J6lFx4DD+Lj4tjsBntIlzuvZfqTQ3P7xzNZs0vcZBko
--- 0uC4zy+Xahwt3nuFJyNyHVCIPcgwxVX8cXo0ivwQUaU
Q€½áÁã²±•!ÅR<C385>GÃEØ)®c¦@Ç n²‡¿ âôû…ŠÚ ñ‰nz„hµk²—µ€r

View file

@ -7,7 +7,7 @@ let
];
in
{
"nextcloud.age".publicKeys = all;
"copyparty-jan.age".publicKeys = all;
"forgejo-runner-token.age".publicKeys = all;
"tailscale.age".publicKeys = all;
}