charmarr-storage-k8s

Charmarr Storage

Channel Revision Published Runs on
latest/edge 10 28 Jan 2026
Ubuntu 24.04
juju deploy charmarr-storage-k8s --channel edge
Show information

Platform:

Ubuntu
24.04

Learn about configurations >

  • access-mode | string

    Default: ReadWriteMany

    PVC access mode (storage-class backend only).

    ReadWriteMany: Pods can run on any node (requires NFS or similar) ReadWriteOnce: All pods locked to same node (works with local storage)

    Ignored for native-nfs backend (always ReadWriteMany).

    If StorageClass doesn't support ReadWriteMany, charm will detect and suggest changing to ReadWriteOnce.

  • backend-type | string

    Storage backend type. REQUIRED.

    Options:

    • storage-class: Use existing Kubernetes StorageClass
    • native-nfs: Use Kubernetes native NFS driver (managed by charm)
    • hostpath: Use host filesystem path (single-node clusters)

    Cannot be changed after initial deployment.

  • cleanup-on-remove | boolean

    Default: True

    Delete charm-managed K8s storage resources when the charm is removed.

    When false (default): Resources persist for manual cleanup or reattachment. When true: Resources are cleaned up on removal.

    WARNING: Setting to true may cause data loss depending on StorageClass reclaim policy.

  • hostpath | string

    Host filesystem path (backend-type: hostpath).

    The path must exist on the node and be accessible to pods. Best for single-node clusters with existing local storage (ZFS, BTRFS).

    Example: /media or /mnt/storage/charmarr

  • nfs-path | string

    NFS export path (backend-type: native-nfs).

    Example: /mnt/pool/charmarr-media

  • nfs-server | string

    NFS server IP or hostname (backend-type: native-nfs).

    Example: 192.168.1.100 or nas.local

  • pgid | int

    Default: 1000

    Group ID for file ownership. Published to all connected applications.

    All LinuxServer.io containers will use this GID, ensuring consistent file ownership across the entire media stack.

    Default 1000 is the standard first non-root group on most Linux systems.

    For NFS backends, set this to match your NFS export's expected GID.

  • puid | int

    Default: 1000

    User ID for file ownership. Published to all connected applications.

    All LinuxServer.io containers will run as this UID, ensuring consistent file ownership across the entire media stack.

    Default 1000 is the standard first non-root user on most Linux systems.

    For NFS backends, set this to match your NFS export's expected UID.

  • size | string

    Default: 100Gi

    Storage size to provision. Can be increased later (not decreased).

    For storage-class: Initial PVC size, expansion handled by CSI driver. For native-nfs: Informational only (NFS share size managed externally).

    Examples: 100Gi, 1Ti, 5Ti

  • storage-class | string

    Kubernetes StorageClass name to use (backend-type: storage-class).

    Examples:

    • local-path (single-node, RWO)
    • topolvm-provisioner (multi-node local storage, RWO)
    • nfs-csi (multi-node NFS, RWX)

    Use 'kubectl get storageclass' to see available options.