Napp-it cs web-gui for any OS server and cluster

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
Release Announcement: napp-it cs web-gui – Pre-Release v26.06.06 rc9

We are pleased to announce the availability of napp-it cs Pre-Release 9 (rc9) for evaluation. This release focuses on comprehensive code refactoring, security audits, and enhanced AI-friendly capabilities for managing cross-platform ZFS and S3 server groups.

Key Features & Architecture
  • Client-Server Architecture: A single frontend management server (Web-GUI) connects to and controls multiple backend servers using a lightweight, highly efficient 50K remote control socket service.
  • Cross-OS Support: Fully compatible with FreeBSD, Illumos (OmniOS, OpenIndiana), Linux, macOS, Solaris, and Windows.
  • Storage Technology Integration: Unified management for OpenZFS (including Illumos and Solaris ZFS native flavors), S3 Object Storage, and Windows Storage Spaces.
  • AI-Driven Customization: Designed to be AI-friendly. Developers can upload the complete project folder to an AI assistant (such as Claude) to seamlessly implement private menus, fix bugs, or perform code reviews based on our integrated behavior guidelines (napp-it AI Guide).
Security & Enterprise Backup
  • S3 & Restic Management: Manage local S3 servers (MinIO/RustFS) and encrypted, deduplicated backup repositories via Restic or Rclone. For maximum security, encryption keys and S3 secrets are stored exclusively on the frontend management node.
  • ZFS Key-Splitting Encryption: Advanced security utilizing a 2/3-way key-splitting mechanism (stored locally, on the frontend, or via authorized HTTPS servers) paired with SHA-256 password hashing.
  • Data Migration: Simplifies data movement between incompatible filesystems (e.g., Solaris ZFS $\leftrightarrow$ OpenZFS) using snapshot-based replication while preserving ACLs and ZFS properties.
Download & Deployment (Evaluation)
  • All Platforms: napp-it cs pre9 (.zip) – Unzip the csweb-gui folder to /var and run.
  • Windows Environment: XAMPP pre9 (.zip) – Unzip to C:\xampp and execute the startup batch script as Administrator.
Upgrade Note: To update an older setup, stop napp-it cs, extract the new download over your existing /var/csweb-gui directory, and restart the service. Your current configuration and settings will be preserved.


multi-OS usermnagement
1780767000277.png


Multi Server S3 management with S3 Secrets and Restic PW on frontend only, not on S3 servers

1780767196571.png
 
  • Like
Reactions: cesmith9999

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
napp-it cs rc9 is released

- Frontend online update/downgrade
- Backend online update
- Solaris 11.4 as member
- cross OS S3 backup/restore (Snap based, incl. ACL, any FS or folder, Solaris ZFS <-> OpenZFS)

1781109436428.png
 
Last edited:

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
napp-it cs rc10_dev is now quite feature complete
and available for first tests

Up to date documentations in csweb-gui/data/howto.ai/*.info

===================================================================
- unified online install and update, console/terminal as root/admin
===================================================================

#########################################################################
# initial console setup or update

# Windows dev release ps or cmd shell (copy paste to an admin terminal)
cmd /c "curl.exe -ksLo %TEMP%\cs_setup_dev.bat https://www.napp-it.org/cs_setup_dev.bat && %TEMP%\cs_setup_dev.bat

# non Windows dev release
curl -ksL https://www.napp-it.org/cs_setup_dev.sh | sh

#######################################################################
# Windows ps or cmd shell (copy paste to an admin terminal, installs old release)

cmd /c "curl.exe -ksLo %TEMP%\cs_setup_dev.bat https://www.napp-it.org/cs_setup.bat && %TEMP%\cs_setup.bat
# non Windows (installs old release)
curl -ksL https://www.napp-it.org/cs_setup.sh | sh


startmenu rc10+ only: perl /opt/csweb-gui/start.pl


================
Browser connect
===============
http://localhost (http allowed only from localhost, oterwise redirect to https)

remote
http://ip redirect to https
https://ip -> must accept certificate if self signed
-> you may need to clear browser cache (old cert can block)

==================
- unified multi-OS
==================
Napp-it cs frontend service (webserver) and backend services (server, monitor, auto)
run on Free-BSD, Illumos (OmniOS/OI/SmartOS), Linux, OSX, Solaris and Windows


====================
- unified multi-host
====================
When you select a group member, all menus affect the selected host


=================
- unified startup
=================

perl /opt/csweb-gui/start.pl # start rc10+ with option eg start.pl 1
==================
0 stop all (server + monitor + auto + webserver)
1 (re)start all background (server + monitor + auto + webserver)
2 (re)start no_auto background (server + monitor + webserver)
3 (re)start backend only background (server + monitor)
4 (re)start all PS minimized (Windows: new minimized shell per component)
5 (re)start server.pl foreground (start in new shell)
6 (re)start monitor.pl foreground (start in new shell)
7 stop Apache2 / mini_httpd (Linux only -- frees port 80/443)
8 (re)start webserver foreground (start in new shell)
9 (re)start webserver background

Select 0-9 (default 1 in 5s):

On Windows, start with start.pl 4 # debug mode with minimized terminals for webserver, server, monitor and auto

=======================
- unified copy and run
=======================

no extra webserver eg Apache required,
embedded Perl http/https webserver


==========================
- Perl background services
==========================
webserver.pl http/https Frontend (Menus) ~ 33K RAM idle
server.pl backend service /remote control ~ 31K RAM idle
monitor.pl backend L2 caching, update management ~ 15K RAM idle
auto.pl frontend job management ~ 32K RAM idle

total: Backend only, Frontend + Backend or Frontend only: max 100K RAM, actions increase RAM
webgui even suitable for 1GB RAM tiny systems eg Raspberry


================================================
- unified location and start/stop (copy and run)
================================================

/opt/
/perl/ Windows only, Perl
/csweb-gui/ csweb-gui folder
/data napp-it cs webaerver, menus, scripts
/_my private menus and scripts
/_cfg settings

/start.pl common Perl start/stop script



==========
- Security
==========

Passwords (admin, operator) sha256hex
Session management expire, bind to client
Brute-force protection retry pw on login
Https required for remote connect, self signed or public cert
2FA (TITP) enable in About > Settings, based on Mobile Phone Authenticator app
Encrypted socket communication chacha 20 HMAC-SHA256 with 256hex auth between frontend and backend
3way keysplit for ZFS encryption "auto search" of keyparts on frontend, localhost, https1, https2
S3 secret, Restic PW never on host, only on frontend for whole servergroup


====================
Storage technologies
====================

S3 Internet/Lan FileSharing, Sync, Backup, Restore with ACL preserved
Storage Spaces Windows Software Raid for ntfs, ReFS
ZFS Illumos ZFS, OpenZFS, Solaris ZFS Software Raid and Filesystem


===========================
Frontend and Backend update Menu About
===========================
as an alternative to cli setup/update


====================
AI friendly (Claude)
====================
upload napp-it_cs.zip # with /opt including /opt/perl for Windows and /opt/csweb-gui

Claude: read guideline # Claude reads guideline, behaviors and manuals from data/howto.ai
Claude: extend.., fix.., audit.., help.. # human language, screenshots, error message

Claude summarizes actions and asks to build

then offers a new napp-it_cs.zip download as 1:1 replacement
 
  • Like
Reactions: Lix

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
As an additional note:

The new rc10 with the integrated Perl web server and client-server encryption is copied to /opt (no longer /xampp, as XAMPP for Windows is no longer required). This also resolves the critical Apache < v2.4.64 security issue in XAMPP.

If you want to update an older napp-it cs in /xampp/csweb-gui and retain settings like jobs or groups, copy the config folder _cfg (and _log, if present) to /opt/csweb.

Under Windows, Windows Defender may flag nc64.exe as a hacker tool. This is Netcat for Windows, which Napp-it uses for ZFS replication (any OS to any OS) because it is already included by default in Linux or Unix. Without nc64, LAN replication to or from Windows is not possible. As an alternative, there is S3 backup/restore, which can be used to transfer any folders or file systems, including ACL save/restore.
 

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
Napp-it cs rc10.1

- improved non blocking behaviour of webserver.pl
- backup job for system settings
- System > Backup/Restore, manual backup, restore of all or selected system settings.
- Disks > Enclosure Maps (visualisation of disk locations in a backplane, set + printout)

eg (per member several maps, unterschiedliche Brands, horizontal, vertical 2,4,6,8,16,24,60,90 disks, no special hardware. create Maps/ different brands, assign disks, printout


1782374462128.png
 

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
#############

## rc 10.2_dev


- encrypted zstream instead ssh, netcat or mbuffer for remote replication
Release v1.1.0 · guenther-alka/zstream

Go application, transfer is encrypted, has buffering like mbuffer,
can limit transfer like pv, can show progress


- Antivir like Avast may block zstream.
This is a common false positiv problem with Go apps, allow zstream


# Windows dev release ps or cmd shell (copy paste to an admin terminal)
cmd /c "curl.exe -ksLo %TEMP%\cs_setup_dev.bat https://www.napp-it.org/cs_setup_dev.bat && %TEMP%\cs_setup_dev.bat


# non Windows dev release
curl -ksL https://www.napp-it.org/cs_setup_dev.sh | sh
 

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
Proxmox is my favorite Linux. It's Debian with a commercial support option, the latest OpenZFS, and a web GUI for OS and VM management — making it an ideal base for All-in-One (hypervisor + NAS).

What's not so great is ZFS management in Proxmox, but napp-it cs can help out there. It's pure copy-and-run, doesn't change anything in Proxmox, and has no prerequisites. Even a http/https webserver is included (Perl).

1783024811344.png

Simply download napp-it cs (folder csweb-gui) and copy it to /opt — this is identical on every OS, whether FreeBSD, Illumos, Linux, OSX, Solaris, or Windows. Easiest via a PuTTY console and:

curl -ksL https://www.napp-it.org/cs_setup.sh | sh

or for the latest dev release, napp-it cs rc 11.1:
curl -ksL https://www.napp-it.org/cs_setup_dev.sh | sh

Then you have Proxmox for VMs and system management + napp-it cs for storage, ZFS, and its own menu specialties.


Start/Stop
perl /opt/csweb-gui/start.pl

Start/Autostart (even after reboot)
perl /opt/csweb-gui/autostart.pl


Proxmox as a NAS

Very simple: install samba + acl, or the much faster ksmbd SMB server with acl. napp-it cs automatically detects which SMB server is installed. By far the simplest option. SAMBA or ksmbd is already cumbersome enough with ACLs compared to Windows/Solaris/Illumos — no need to make it extra complicated.

Share a ZFS filesystem via SMB (menu ZFS Filesystem, click SMB off -> on under it), either with guest access or for a user group (create users or groups -> Users menu). Recommended: enable Posix ACL and access to snapshots for the share (from napp-it cs rc 11.1 onward).

1783024952684.png

ACLs can be controlled in menu User > ACL and Permissions.

1783025032752.png
 
Last edited:

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
If you do not need the advanced ACL options in Windows, Illumos or Solaris,
a Proxmox/Linux ZFS NAS is a perfect choice

eg Proxmox
- enable ksmbd and acl (much faster than SAMBA that you can choose too)
- add napp-it cs, copy and run, does not do any modification in Proxmox, download at console:
curl -sL https://www.napp-it.org/cs_setup.sh | sh
- klick on off for a ZFS filesystem under smbshare

1783334195296.png
 

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
AI for development and new features

The new Claude 5 models (Sonnet 5, Fable 5) represent a true epochal leap in the quality and efficiency of AI-assisted software development. While they still make mistakes and require diligent verification of their output, this is precisely where agentic models come into play. Claude is not only capable of directly versioning and modifying code, but can also verify it independently—for instance, by accessing logs or dynamically generating improved logging on the fly. In a multi-OS cluster solution like napp-it cs, tools like pscp or plink allow this loop to extend seamlessly to remote FreeBSD, Illumos, Linux, macOS, Solaris, or Windows member nodes.

I am currently using Windows for development via Claude Desktop and MCP agents, with other operating systems serving as the member servers.

The key is that Claude can edit and monitor results on frontend and all backend servers

- enable Claude to sync versions to a ZFS filesystems with snaps prior modifications
- give Claude rw access to local menus, scripts, logs and terminal,
- give Claude remote r/w/console ssh access to members

my howto


Code:
================================================================================
  napp-it cs -- Claude Desktop Setup 
  AI-assisted development with direct filesystem access,
  SSH tools and ZFS snapshot backup
  File: csweb-gui/_my/howto.ai/setup_claude_en.info
================================================================================

================================================================================
  Preword
================================================================================
napp-it is a copy and run user extendable web management suite to manage single
servers or whole servergroups. It consists of the frontend webserver (pure Perl)
and backend services for remote control via encrypted socket connections. There
are no requirements/ modifications outside the napp-it cs folder /opt/csweb-gui

Frontend and backend run on Free-BSD, Illumos, Linux, OSX, Solaris and Windows.


================================================================================
  OVERVIEW
================================================================================

This setup gives Claude full access to the napp-it cs project (C:\opt\csweb-gui)
without any ZIP upload/download cycle. Claude reads and edits files directly on
disk. Version control is handled via robocopy mirroring to ZFS snapshots on an
OmniOS/Illumos NAS.

Components:
  1. Claude Desktop for Windows       -- AI client with MCP extensions
  2. MCP Filesystem Extension         -- direct read/write access to C:\opt
  3. MCP Desktop Commander            -- Windows terminal, shell, processes
  4. SSH tools (PuTTY suite)          -- remote access to member servers
  5. Robocopy + ZFS snapshots         -- backup and versioning


================================================================================
  1. PREREQUISITES
================================================================================

  - Windows 10/11 (64-bit)
  - napp-it cs installed at C:\opt\csweb-gui
  - Strawberry Perl at C:\opt\perl (included in the napp-it cs package)
  - NAS / OmniOS host with ZFS reachable on LAN (here: 192.168.2.203)
  - SMB share "opt" on the NAS (\\192.168.2.203\opt) as sync target
  - Internet access for Claude Desktop download


================================================================================
  2. INSTALL CLAUDE DESKTOP
================================================================================

  1. Download: https://claude.ai/download  -> "Download for Windows"
  2. Run the installer (claude-setup.exe) -- no admin rights required
  3. Start Claude Desktop, sign in with your claude.ai account
     (Recommended: Claude Pro, approx. $17/month -- larger context window,
      no throttling during intensive development sessions)
  4. On first start the chat opens directly -- no further setup needed


================================================================================
  3. SET UP MCP FILESYSTEM EXTENSION
================================================================================

  The Filesystem extension gives Claude direct read/write access to selected
  directories -- no file upload needed.

  3.1  Install the extension

    Claude Desktop -> Menu (☰ top left) -> Settings -> Extensions
    -> Search "Filesystem" -> Install / Add

    Alternatively: Claude Desktop -> Settings -> Developer -> Edit Config
    Open: %APPDATA%\Claude\claude_desktop_config.json

  3.2  Configure allowed directories

    Edit the filesystem entry in claude_desktop_config.json:

    {
      "mcpServers": {
        "filesystem": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-filesystem",
            "C:\\opt"
          ]
        }
      }
    }

    This grants Claude access to C:\opt\ and all subdirectories.
    NOTE: C:\opt\ssh\ contains the private SSH key -- Claude only reads it
    for command construction and never writes to it.

  3.3  Restart Claude Desktop

    After changing claude_desktop_config.json: fully quit Claude Desktop
    (tray icon -> Quit) and restart.

  3.4  Test access

    In chat: "List the files in C:\opt" -- Claude should list the folders
    without any file having been uploaded.


================================================================================
  4. SET UP MCP DESKTOP COMMANDER (Windows Terminal / Shell)
================================================================================

  Desktop Commander gives Claude access to a persistent Windows shell
  (PowerShell/cmd), can start processes, search files, and more.

  4.1  Installation

    Claude Desktop -> Settings -> Extensions -> Search "Desktop Commander"
    -> Install

    Or manually in claude_desktop_config.json:

    {
      "mcpServers": {
        "desktop-commander": {
          "command": "npx",
          "args": ["-y", "@wonderwhy-er/desktop-commander"]
        }
      }
    }

  4.2  Restrict allowed directories (optional)

    Desktop Commander can execute commands system-wide. For tighter control:
    set allowedDirectories to ["C:\\opt"] in Desktop Commander settings.

  4.3  Typical use

    Claude can directly:
      - Run perl -c syntax checks
      - Start sync_version.bat
      - Call plink.exe / pscp.exe
      - Start/stop processes (server.pl, webserver.pl)
      - Tail logs (Get-Content ... -Wait)


================================================================================
  5. SET UP SSH TOOLS (PuTTY suite)
================================================================================

  SSH tools give Claude remote access to member servers and the NAS host
  for snapshot management and log analysis.

  5.1  Install PuTTY tools

    Place the following files under C:\opt\ssh\:
      plink.exe      SSH command-line client   -- from putty.org
      pscp.exe       SCP/SFTP file transfer    -- from putty.org
      puttygen.exe   Key conversion utility    -- from putty.org
      id_rsa.ppk     Private key (PuTTY format)

    Download: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
    -> download plink.exe, pscp.exe, puttygen.exe directly

  5.2  Create or convert an SSH key

    Option A -- Create a new key:
      Run puttygen.exe -> Generate -> move mouse -> Save private key
      -> save as C:\opt\ssh\id_rsa.ppk
      Copy the public key text from the text field

    Option B -- Convert an existing OpenSSH key:
      puttygen.exe -> Conversions -> Import Key -> id_rsa (OpenSSH format)
      -> Save private key -> C:\opt\ssh\id_rsa.ppk

  5.3  Deploy the public key to target hosts

    On each member server (root@HOST):
      mkdir -p ~/.ssh
      echo "ssh-rsa AAAA... your-key" >> ~/.ssh/authorized_keys
      chmod 600 ~/.ssh/authorized_keys

    Same on the NAS host (192.168.2.203).

  5.4  Test the connection

    In PowerShell / cmd:
      C:\opt\ssh\plink.exe -ssh -batch -i C:\opt\ssh\id_rsa.ppk root@192.168.2.203 hostname

    Expected: NAS hostname without any password prompt.
    On the very first connection: confirm the host key fingerprint once
    (stored in registry, -batch works afterwards without any prompts).

  5.5  Pre-accept host keys (required for -batch mode)

    Connect once WITHOUT -batch to store the host key:
      C:\opt\ssh\plink.exe -ssh -i C:\opt\ssh\id_rsa.ppk root@192.168.2.203 hostname
    -> Answer "Store key in cache? (y/n)" with y.
    All subsequent -batch calls work silently after that.


================================================================================
  6. ROBOCOPY SYNC + ZFS SNAPSHOT BACKUP
================================================================================

  6.1  Set up the SMB share on the NAS

    On the OmniOS/Illumos NAS:
      zfs create tank/daten1/opt           (or your pool name)
      zfs set sharesmb=name=opt tank/daten1/opt
      svcadm restart smb/server

    From Windows: \\192.168.2.203\opt should be accessible.
    Optionally map a drive letter:
      net use Z: \\192.168.2.203\opt /persistent:yes

  6.2  sync_version.bat

    File: C:\opt\sync_version.bat
    See the existing script (already present at C:\opt).

    The script:
      1. Creates ZFS snapshot daten1/opt@TIMESTAMP via plink.exe
      2. Runs robocopy C:\opt -> \\192.168.2.203\opt /MIR
      3. Excludes tmp\ and ssh\ from the sync
      4. Writes a log to C:\opt\sync_version.log

  6.3  Set up autosnap on the NAS (safety net)

    On the NAS -- ZFS autosnap every 15 minutes via cron:
      crontab -e
      */15 * * * * zfs snapshot daten1/opt@auto-$(date +\%Y\%m\%d_\%H\%M)

    Or configure via napp-it cs Jobs > Snap.
    Recommended retention: 8 days (approx. 768 snapshots).

  6.4  Snapshot recovery

    List available snapshots:
      C:\opt\ssh\plink.exe -ssh -batch -i C:\opt\ssh\id_rsa.ppk root@192.168.2.203 ^
        "ls /daten1/opt/.zfs/snapshot/ | tail -20"

    Restore a single file:
      C:\opt\ssh\pscp.exe -i C:\opt\ssh\id_rsa.ppk ^
        "root@192.168.2.203:/daten1/opt/.zfs/snapshot/TIMESTAMP/csweb-gui/PATH/TO/FILE" ^
        C:\opt\csweb-gui\PATH\TO\FILE

    After recovery: run perl -c on the restored file.


================================================================================
  7. CLAUDE DESKTOP -- GENERAL INSTRUCTIONS (System Prompt)
================================================================================

  Claude Desktop -> Menu -> Settings -> General Instructions for Claude:

  Recommended text:
  -----------------------------------------------------------------------
  napp-it cs project is at C:\opt\csweb-gui.
  At session start read the guideline: csweb-gui/data/howto.ai/guideline.info
  and all *.info files in that folder and in _my/howto.ai/.
  Before larger changes: run sync_version.bat and wait for success.
  For recovery: ZFS snapshots accessible via pscp.exe
  (see _my/howto.ai/extra.info).
  -----------------------------------------------------------------------

  These instructions apply automatically to every new chat.


================================================================================
  8. TYPICAL WORKFLOW (daily use)
================================================================================

  1. Start Claude Desktop
  2. Open a new chat
  3. Claude confirms automatically:
       - Project C:\opt\csweb-gui read
       - Guideline and all *.info files read
       - sync_version.log checked (backup current?)
       - admin.pl / server.pl version strings shown
  4. Describe the task (paste a screenshot if helpful)
  5. For larger changes: Claude runs sync_version.bat first
  6. Claude edits files directly (no ZIP upload needed)
  7. Reload the browser page -> changes visible immediately
  8. For server.pl changes: restart the backend via napp-it cs


================================================================================
  9. REMOTE ACCESS TO MEMBER SERVERS (logs, diagnostics)
================================================================================

  Read logs:
    plink.exe -ssh -batch -i C:\opt\ssh\id_rsa.ppk root@192.168.2.185 ^
      "tail -50 /opt/csweb-gui/tmp/error.log"

  ZFS status:
    plink.exe -ssh -batch -i C:\opt\ssh\id_rsa.ppk root@192.168.2.185 ^
      "zpool status"

  Fetch file from member:
    pscp.exe -i C:\opt\ssh\id_rsa.ppk ^
      root@192.168.2.185:/opt/csweb-gui/tmp/error.log ^
      C:\tmp\error_185.log

  Push file to member:
    pscp.exe -i C:\opt\ssh\id_rsa.ppk ^
      C:\opt\csweb-gui\data\cs_server\server.pl ^
      root@192.168.2.185:/opt/csweb-gui/data/cs_server/server.pl


================================================================================
  10. TROUBLESHOOTING
================================================================================

  Claude cannot see files in C:\opt
    -> Filesystem extension not installed or wrong path in config
    -> Check claude_desktop_config.json, restart Claude Desktop

  plink.exe asks for password
    -> Host key not yet accepted: connect once without -batch
    -> Wrong PPK key: puttygen.exe -> Load -> id_rsa.ppk -> Verify

  when robocopy fails (access denied)
    -> Check SMB share: net use \\192.168.2.203\opt
    -> Store Windows credentials for the NAS:
       Control Panel -> Credential Manager -> Windows Credentials -> Add





================================================================================
 
Last edited:

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
New in napp-it cs Jul.09: Job type: Filesync with rclone
napp-it — Web-based ZFS NAS/SAN Appliance

Sync: "Server 1 ZFS Filesystem 1" -> "Server 2 Filesystem 2"
Before everyone says this has existed for ages with rsync, robocopy, and zfs send — here's the feature list:
  • Direct sync any-to-any, including e.g. Windows <-> FreeBSD <-> Solaris (daisy-chain capable)
  • Encrypted sync via z-stream tunnel with one-time key (Releases · guenther-alka/z-stream)
  • Restartable (file-based), unlike incremental replication
  • Creates ZFS snapshots (source and destination)
  • ACLs are preserved (within a single OS)
  • Practical up to about 1TB — beyond that, zfs send is unbeatably faster

Since the last version
  • Single folder (/opt/csweb-gui), copy and run, no dependencies (Downloads — napp-it)
  • Frontend web GUI for managing the local server (free) or a group via an encrypted backend connection
  • Frontend and backend on any OS (FreeBSD, Illumos, Linux, OSX, Solaris, and Windows)
  • 2FA with mobile authenticator
  • S3, Storage Spaces, and ZFS with ACL, user, and share management
  • Encrypted replication of unencrypted filesystems via z-stream
  • Easily extensible with custom menus (optimized for Claude AI-assisted work, https://www.napp-it.org/pdf/csweb-gui_use_ai.pdf)
 

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
napp-it cs and AI-assisted work, a few tips

The latest Anthropic 5 AI models with local agents are a genuine generational leap in terms of code quality and result effectiveness. napp-it is an ideal candidate for anyone who wants to (or needs to) try this out — best done on a Windows frontend with the Claude Desktop app + Claude Pro + MCP Filesystem and Desktop Commander + plink and pscp — because:

Claude can directly edit menus and scripts and read/optimize logs, using tools like plink and pscp on remote hosts too
Custom napp-it cs menu extensions can be used for all kinds of multiuder/multihost things, not just storage
Changes take effect immediately after a page reload (no extra compile or deployment delays)

This makes it possible, when facing a problem, to say: "Create a menu that...", "optimize and test the script until it works...", "improve the logging for troubleshooting..." — then go get a coffee. Claude will keep working on it until it runs and document everything cleanly. You can then test the final functionality instead of the 50 intermediate steps. Claude Pro costs about 17 USD/month. Depending on the model and working style, that can get you quite far — or not: Claude Fable 5 ist zu teuer: Anthropic zeigt zwei Strategien, um die Kosten deutlich zu senken (use chrome to translate on the fly)

Anyone developing with AI for the first time has to change their sense of role. Until now, a software developer was both "architect" and "craftsman." As the craftsman, they always knew the complete project — its general goals, requirements, and interdependencies. With AI, I picture the process like this: I'm the architect, creating and planning the building concept, commissioning construction phases and supervising them. The AI is something like a "craftsman subcontractor" that I can assume works extremely precisely and competently. Unfortunately, a different company shows up for every construction phase, sometimes from abroad, so that communication beyond the single, exact work order is difficult. On top of that, they're all craftsmen with narrow, singular talents — perfect bricklayers and painters, but without an eye for the big picture, and extremely eager to keep working. A "make a hole in the wall" quickly turns into "I repainted the wall while I was at it since the scaffolding was already up."
A particular problem is chat sessions with limited knowledge transfer to a new session. If Claude has direct access to the local disk, the project data is at least always current. However, knowledge of the overall concept and project planning, as well as the most recent work steps or individual pieces of functionality, gets lost. If you don't want to re-explain all the principles and functionality, the type of client-server communication, and a thousand other details in every single chat session, it's essential to create a guideline, document general behaviours, and create info files on important individual pieces of functionality. On top of that, the most recently started and completed work steps need to be documented, along with a to-do list of open items.

All of that is already set up. A "read guideline" at the start of a Claude chat session takes care of all of this automatically, because all of these points are stored in /howto.ai/guideline.info.
 

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
What's going on?

napp-it cs consists of two Frontend services
  • webserver.pl (for common and private menus)
  • auto.pl (job management)

and two Backend Services
  • server.pl (encryped remote control)
  • monitor.pl (cache management, update/restart handling)
On Windows you can start them minimized as an option.
You can then check actions and data flow between frontend and backend

1783780067187.png
 

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
I see random problems on large replications on Proxmox even with todays napp-it cs v26.06f.
If you have similar problems, read (use Chrome with on the fly translation ger->en)


Transport tunnel for encrypted zfs send or filesync
 
Last edited:

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
AI performance depends on the efficiency of the AI (Anthropic Claude is currently leading) and on how well it is trained for a given environment (my napp-it cs comes with extensive training data).

Helpdesk process (1h)

  • unclear error message
  • initial analysis by Claude AI, with follow-up question for logs
  • code analysis
  • code improvement

That was for an error message reported in a forum. With a local Claude installation including local and remote access (file and shell to cluster member servers), analysis + fix + test would have taken 5 minutes.

(use Chrome to translate on the fly)
https://www.hardwareluxx.de/community/threads/napp-it-cs-web-gui-für-fast-jeden-zfs-server-oder-servergruppen.1349039/page-11#post-31228989
 

gea

Well-Known Member
Dec 31, 2010
3,686
1,454
113
DE
Overview napp-it cs S3 object storage (single server/cluster management)

Napp-it cs supports the new RustFS S3 server (can replace the now EoL minIO server)

Step1: use menu Pools > S3 > Local Services to download and configure
- rustfs (Illumos/OmniOS, Linux, OSX, Windows)
- rc (cli management tool for RustFS)

together with (Free-BSD, Illumos, Linux, )
- rclone (rsync for clouds) and
- restic (backup tool with dedup, snaps and encryption)


Step2: use menu Pools > S3 > Remote Pool to configure
- one or more S3 servers (start&stop, configure access, secret and restic pw on frontend management server, never on S3 servers)

- member servers for backup/restore via S3

1784473476961.png

Option
menu Pools > S3 > Replication

Auto replicate a whole S3 server or single buckets (self organising lan mirror)
- currently only http until a bug in RustFS is fixed, Site replication add fails with "TLS settings require an HTTPS endpoint" even though both sites use https + skipTlsVerify — bug is in the internal peer/join callback, not in the client request · Issue #5016 · rustfs/rustfs

1784474056324.png
Step 3:
Use Jobs > S3 backup to backup a ZFS filesystem or folder to an S3 bucket or Restic Repository
based on a snap with ACL backup

1784473805651.png

Step 4,
use menu Jobs > S3 restore to restore a ZFS filesystem or folder
with snaps and ACL restore on same OS (even OpenZFS <-> Solaris)

1784473995597.png

Additional Option:
encrypted Filesync server1 -> server 2

1784474163201.png