Skip to main content

A simple server manager for self-hosted services

Project description

SManager

A simple server manager for self-hosted services, with VPN integration and support for both local and Docker-based services.

When building a self-hosted setup, it’s common to end up with dozens of local services, Docker containers, and maintenance scripts scattered across your system. Tasks as simple as restarting or stopping a service can quickly become frustrating when there’s no clear overview of what is running, how components relate to each other, or how everything is managed.

SManager provides a simple and unified CLI for managing both local and Docker services, with built-in support for VPN integration and interactive metadata management.

Reseting all your music-related services becomes as simple as:

smanager group restart music

Features

  • Unified service management for local/systemd and Docker runtimes.
  • VPN integration (Tailscale provider support).
  • Interactive metadata creation and editing.
  • YAML-based global configuration.
  • Rich service status reporting with optional JSON output.

CLI Usage

Use this command pattern:

smanager <group> <command> [options]

Discover available commands at any level:

smanager --help
smanager <group> --help
smanager <group> <command> --help

Status Commands

Status is now a subcommand under each resource group:

smanager service status <service_id>
smanager group status <group_name>
smanager dependency status <dependency_name>
smanager all status

Optional JSON output is available for each status command:

smanager service status <service_id> --json

Info Commands

Info is available under each resource group and shows service name plus WebUI URL:

smanager service info <service_id>
smanager group info <group_name>
smanager dependency info <dependency_name>
smanager all info

Use --details to include extra operational columns:

smanager service info <service_id> --details

Metadata Commands

The metadata group provides interactive workflows for service metadata files.

Create Metadata

smanager metadata init

Optional output override:

smanager metadata init --output /path/to/sd_info.json

Edit Existing Metadata

smanager metadata edit

Edit a specific file directly:

smanager metadata edit --file /path/to/sd_info.json

Behavior summary:

  • Interactive prompts with inline defaults.
  • Runtime-aware sections (Docker vs Local).
  • Multi-select support for groups and depends_on.
  • Validation before writing changes.

Notes

  • metadata init creates a new file.
  • metadata edit modifies an existing file.
  • Use command-specific --help for the latest options and examples.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smanager-0.3.1.tar.gz (39.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smanager-0.3.1-py3-none-any.whl (41.5 kB view details)

Uploaded Python 3

File details

Details for the file smanager-0.3.1.tar.gz.

File metadata

  • Download URL: smanager-0.3.1.tar.gz
  • Upload date:
  • Size: 39.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for smanager-0.3.1.tar.gz
Algorithm Hash digest
SHA256 536f3ffbd4fc8db26f73860a9ff66f6d30a2a59fd003084675bce61b46d70299
MD5 143daf7391683121659dd7f0f80a4582
BLAKE2b-256 158c758fe4015fb7de55969364045be6aa184e1401b761b9f6472702dba42058

See more details on using hashes here.

File details

Details for the file smanager-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: smanager-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 41.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for smanager-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b1ef8d5717e899f7dd50ac53df090dded704c5c65d5b5895782ca7cbac0045d8
MD5 42277edce4befc4713b3bc86270acc35
BLAKE2b-256 4e89ba6db7d363681136e89f68ca1e65f43784a5816b36d9dd2828c1fbc01976

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page