From daa99bf9637c68f4754a77d72cc9725b2b5f4510 Mon Sep 17 00:00:00 2001 From: Dmitriy Kholkin Date: Tue, 8 Jul 2025 20:14:14 +0300 Subject: [PATCH] feat: add filestash container --- hosts/orion/default.nix | 1 + modules/nixos/containers/filestash.nix | 33 ++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 modules/nixos/containers/filestash.nix diff --git a/hosts/orion/default.nix b/hosts/orion/default.nix index b4b059a..26b8274 100644 --- a/hosts/orion/default.nix +++ b/hosts/orion/default.nix @@ -102,6 +102,7 @@ smartmontools ]; + ataraxia.containers.filestash.enable = true; ataraxia.containers.tinyproxy.enable = true; ataraxia.security.acme.enable = true; ataraxia.services.authentik.enable = true; diff --git a/modules/nixos/containers/filestash.nix b/modules/nixos/containers/filestash.nix new file mode 100644 index 0000000..aefd451 --- /dev/null +++ b/modules/nixos/containers/filestash.nix @@ -0,0 +1,33 @@ +{ config, lib, ... }: +let + inherit (lib) mkEnableOption mkIf; + + cfg = config.ataraxia.containers.filestash; + nas-path = "/media/nas/media-stack"; +in +{ + options.ataraxia.containers.filestash = { + enable = mkEnableOption "Enable filestash container"; + }; + + config = mkIf cfg.enable { + virtualisation.oci-containers.containers.filestash = { + autoStart = true; + environment = { + PUID = "1000"; + PGID = "100"; + UMASK = "002"; + TZ = "Europe/Moscow"; + APPLICATION_URL = "files.ataraxiadev.com"; + CANARY = "true"; + }; + # Tags: latest + image = "docker.io/machines/filestash@sha256:923c3399768fada3424bb6f3bc01521dad30e9a7a840cfb2eba3610b6acafffe"; + ports = [ "127.0.0.1:8334:8334/tcp" ]; + volumes = [ + "${nas-path}/configs/filestash:/app/data/state" + "${nas-path}:/mnt" + ]; + }; + }; +}