Name | smb-zfs JSON |
Version |
0.5.2
JSON |
| download |
home_page | None |
Summary | A tool to manage Samba on a ZFS-backed system. |
upload_time | 2025-07-23 15:23:49 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
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"
}