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.0.tar.gz (37.4 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.0-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smanager-0.3.0.tar.gz
  • Upload date:
  • Size: 37.4 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.0.tar.gz
Algorithm Hash digest
SHA256 4b3349e373d5edf38a39d2d607dde6623f3de78d8938f7f7e53e64010f9a4dd2
MD5 9bae514f25be204b460635dd83c9b306
BLAKE2b-256 66bf2c1857107a21d8203172c328d9c3f7741cd46a9b45536ce2a4db390ab0f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smanager-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 40.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5c470ba365a159a6eeef9ddd0ce64b227bb929eee38d2fc29ce4e22c698f783
MD5 71a955c50e9fde32c17f334b9d89b5b7
BLAKE2b-256 2887335b2846d8c7a4d6bbd1ba1e37ecb75843038a24562ff009bd79a78ee179

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