2024-12-16 23:20:51 -05:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
config,
|
2025-01-05 17:24:03 -05:00
|
|
|
lib,
|
2024-12-16 23:20:51 -05:00
|
|
|
...
|
2024-12-19 02:32:58 -05:00
|
|
|
}:
|
|
|
|
{
|
2024-12-15 02:44:50 -05:00
|
|
|
systemd.services.immich-mount = {
|
|
|
|
enable = true;
|
|
|
|
description = "Mount the immich data remote";
|
2024-12-19 02:32:58 -05:00
|
|
|
requires = [ "network-online.target" ];
|
2024-12-31 11:13:30 -05:00
|
|
|
after = [ "network-online.target" ];
|
2024-12-19 02:32:58 -05:00
|
|
|
requiredBy = [ "podman-immich-server.service" ];
|
2024-12-25 01:46:00 -05:00
|
|
|
before = [ "podman-immich-server.service" ];
|
2024-12-15 02:44:50 -05:00
|
|
|
serviceConfig = {
|
|
|
|
Type = "notify";
|
|
|
|
ExecStartPre = "/usr/bin/env mkdir -p /mnt/photos";
|
2025-01-05 17:24:03 -05:00
|
|
|
ExecStart = "${lib.getExe pkgs.rclone} mount --config ${
|
2024-12-26 23:40:33 -05:00
|
|
|
config.sops.secrets."rclone/config".path
|
2025-01-06 21:18:01 -05:00
|
|
|
} --cache-dir /var/cache/rclone --transfers=32 --checkers=32 --dir-cache-time 72h --vfs-cache-mode writes --vfs-cache-max-size 2G photos: /mnt/photos ";
|
2025-01-05 17:24:03 -05:00
|
|
|
ExecStop = "${lib.getExe' pkgs.fuse "fusermount"} -u /mnt/photos";
|
2024-12-15 02:44:50 -05:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2025-01-05 17:24:03 -05:00
|
|
|
systemd.services.attic-mount = {
|
|
|
|
enable = true;
|
|
|
|
description = "Mount the attic data remote";
|
|
|
|
requires = [ "network-online.target" ];
|
|
|
|
after = [ "network-online.target" ];
|
|
|
|
requiredBy = [ "atticd.service" ];
|
|
|
|
before = [ "atticd.service" ];
|
|
|
|
serviceConfig = {
|
|
|
|
Type = "notify";
|
|
|
|
ExecStartPre = "/usr/bin/env mkdir -p /mnt/attic";
|
|
|
|
ExecStart = "${lib.getExe pkgs.rclone} mount --config ${
|
|
|
|
config.sops.secrets."rclone/config".path
|
2025-01-09 00:37:27 -05:00
|
|
|
} --cache-dir /var/cache/rclone --transfers=32 --checkers=32 --vfs-cache-mode writes --vfs-cache-max-size 15G --allow-other rsyncnet:attic /mnt/attic ";
|
2025-01-06 00:08:20 -05:00
|
|
|
ExecStop = "${lib.getExe' pkgs.fuse "fusermount"} -u /mnt/attic";
|
2025-01-05 17:24:03 -05:00
|
|
|
};
|
|
|
|
};
|
2025-01-11 22:40:51 -05:00
|
|
|
|
|
|
|
systemd.services.garage-mount = {
|
|
|
|
enable = true;
|
|
|
|
description = "Mount the garage data remote";
|
|
|
|
requires = [ "network-online.target" ];
|
|
|
|
after = [ "network-online.target" ];
|
|
|
|
requiredBy = [ "garage.service" ];
|
|
|
|
before = [ "garage.service" ];
|
|
|
|
serviceConfig = {
|
|
|
|
Type = "notify";
|
|
|
|
ExecStartPre = "/usr/bin/env mkdir -p /mnt/garage";
|
|
|
|
ExecStart = "${lib.getExe pkgs.rclone} mount --config ${
|
|
|
|
config.sops.secrets."rclone/config".path
|
|
|
|
} --cache-dir /var/cache/rclone --transfers=32 --checkers=32 --vfs-cache-mode writes --vfs-cache-max-size 5G --allow-other rsyncnet:garage /mnt/garage ";
|
|
|
|
ExecStop = "${lib.getExe' pkgs.fuse "fusermount"} -u /mnt/garage";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-12-15 02:44:50 -05:00
|
|
|
programs.fuse.userAllowOther = true;
|
|
|
|
}
|