smb-zfs


Namesmb-zfs JSON
Version 0.5.2 PyPI version JSON
download
home_pageNone
SummaryA tool to manage Samba on a ZFS-backed system.
upload_time2025-07-23 15:23:49
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords zfs samba debian
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Samba & ZFS Management Tool

A command-line tool for simplifying Samba share management on ZFS-backed systems.

`smb-zfs` automates the setup and administration of users, groups, and shares, ensuring Samba and ZFS configurations remain synchronized.

It provides a reliable interface for common administrative tasks through two modes: a standard CLI `smb-zfs` for scripting and an interactive wizard `smb-zfs-wizard` for guided setup.

```text
$ smb-zfs -h
usage: smb-zfs [-h] [-v] {install,create,delete,list,passwd,uninstall} ...

A tool to manage Samba on a ZFS-backed system.

positional arguments:
  {install,create,delete,list,passwd,uninstall}
                        Available commands
    install             Initial setup of Samba, ZFS, and Avahi.
    create              Create a new user, share, or group.
    delete              Remove a user, share, or group.
    list                List all items of a specific type.
    passwd              Change a user's password.
    uninstall           Remove all configurations, data, and packages.

options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
```

 ## Prerequisites

- Debian 12 - Bookworm
- ZFS installed with a pre-existing pool
- Python 3.11
- `sudo` privileges

## Installation

Install package

```Shell
sudo apt update
sudo apt install -y pipx samba samba-common-bin avahi-daemon
sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install smb-zfs
```

This makes the `smb-zfs` and `smb-zfs-wizard` commands available system-wide.

## Quick Start

All commands must be run with root privileges.

Initial Setup:

```Shell
sudo smb-zfs install --pool <your-zfs-pool>
```

Create a User:

```Shell
sudo smb-zfs create user john --shell
```

Create a Share:

```Shell
# Creates the dataset 'your-zfs-pool/data/media'
sudo smb-zfs create share media --dataset data/media
```

## Use the Wizard for Guided Setup

```Shell
sudo smb-zfs-wizard install
sudo smb-zfs-wizard create user
```

For a full list of commands, use the `--help` flag with any command.

## Uninstallation

Install the package

```Shell
sudo smb-zfs-wizard remove
sudo pipx remove smb-zfs

# Remove apt pkgs
sudo apt remove pipx samba samba-common-bin avahi-daemon
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "smb-zfs",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "zfs, samba, debian",
    "author": null,
    "author_email": "Nils Stein <github.nstein@mailbox.org>",
    "download_url": null,
    "platform": null,
    "description": "# Samba & ZFS Management Tool\n\nA command-line tool for simplifying Samba share management on ZFS-backed systems.\n\n`smb-zfs` automates the setup and administration of users, groups, and shares, ensuring Samba and ZFS configurations remain synchronized.\n\nIt provides a reliable interface for common administrative tasks through two modes: a standard CLI `smb-zfs` for scripting and an interactive wizard `smb-zfs-wizard` for guided setup.\n\n```text\n$ smb-zfs -h\nusage: smb-zfs [-h] [-v] {install,create,delete,list,passwd,uninstall} ...\n\nA tool to manage Samba on a ZFS-backed system.\n\npositional arguments:\n  {install,create,delete,list,passwd,uninstall}\n                        Available commands\n    install             Initial setup of Samba, ZFS, and Avahi.\n    create              Create a new user, share, or group.\n    delete              Remove a user, share, or group.\n    list                List all items of a specific type.\n    passwd              Change a user's password.\n    uninstall           Remove all configurations, data, and packages.\n\noptions:\n  -h, --help            show this help message and exit\n  -v, --version         show program's version number and exit\n```\n\n ## Prerequisites\n\n- Debian 12 - Bookworm\n- ZFS installed with a pre-existing pool\n- Python 3.11\n- `sudo` privileges\n\n## Installation\n\nInstall package\n\n```Shell\nsudo apt update\nsudo apt install -y pipx samba samba-common-bin avahi-daemon\nsudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install smb-zfs\n```\n\nThis makes the `smb-zfs` and `smb-zfs-wizard` commands available system-wide.\n\n## Quick Start\n\nAll commands must be run with root privileges.\n\nInitial Setup:\n\n```Shell\nsudo smb-zfs install --pool <your-zfs-pool>\n```\n\nCreate a User:\n\n```Shell\nsudo smb-zfs create user john --shell\n```\n\nCreate a Share:\n\n```Shell\n# Creates the dataset 'your-zfs-pool/data/media'\nsudo smb-zfs create share media --dataset data/media\n```\n\n## Use the Wizard for Guided Setup\n\n```Shell\nsudo smb-zfs-wizard install\nsudo smb-zfs-wizard create user\n```\n\nFor a full list of commands, use the `--help` flag with any command.\n\n## Uninstallation\n\nInstall the package\n\n```Shell\nsudo smb-zfs-wizard remove\nsudo pipx remove smb-zfs\n\n# Remove apt pkgs\nsudo apt remove pipx samba samba-common-bin avahi-daemon\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A tool to manage Samba on a ZFS-backed system.",
    "version": "0.5.2",
    "project_urls": {
        "Homepage": "https://github.com/mietzen/smb-zfs",
        "Issues": "https://github.com/mietzen/smb-zfs/issues"
    },
    "split_keywords": [
        "zfs",
        " samba",
        " debian"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6aac7ad2fe140f03b514ef624f86840320664dd6cdcf78ad81a9e9aa398fe6dc",
                "md5": "aba96039340918a42ebba832f4e95675",
                "sha256": "0382ac64432d3964edde6b49dfa0b2d0b2c6e6ff7d6b674a2595efd7d1cf300d"
            },
            "downloads": -1,
            "filename": "smb_zfs-0.5.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "aba96039340918a42ebba832f4e95675",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 19346,
            "upload_time": "2025-07-23T15:23:49",
            "upload_time_iso_8601": "2025-07-23T15:23:49.174414Z",
            "url": "https://files.pythonhosted.org/packages/6a/ac/7ad2fe140f03b514ef624f86840320664dd6cdcf78ad81a9e9aa398fe6dc/smb_zfs-0.5.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-23 15:23:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mietzen",
    "github_project": "smb-zfs",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "smb-zfs"
}
        
Elapsed time: 0.80747s