Skip to main content

CLI tool to manage vcon-server Docker containers

Project description

Conserver CLI

PyPI version Tests License: MIT Python 3.10+

A command-line tool to manage vcon-server Docker containers.

Quick Start

# Install
pipx install conserver-cli

# Start the server
conserver start

# Check status
conserver status

# View logs
conserver logs -f

Features

  • Container Management: Start, stop, restart, and upgrade vcon-server containers
  • Configuration Management: View, edit, and validate configuration files
  • Health Monitoring: Check service health with detailed diagnostics
  • Log Viewing: Stream and filter container logs
  • Rich Terminal UI: Beautiful tables, colors, and progress indicators

Installation

Using pipx (Recommended)

pipx install conserver-cli

Using pip

pip install conserver-cli

Using Homebrew (macOS/Linux)

brew tap vcon-dev/tap
brew install conserver

From Source

git clone https://github.com/vcon-dev/vcon-server-cli.git
cd vcon-server-cli
poetry install
poetry shell
conserver --help

Requirements

  • Python 3.10+
  • Docker and Docker Compose
  • vcon-server installation

Usage

Container Commands

# Start all containers
conserver start

# Start with build
conserver start --build

# Start specific services
conserver start --services api,redis

# Stop containers
conserver stop

# Stop and remove containers
conserver stop --remove

# Restart containers
conserver restart

# Upgrade to latest version
conserver upgrade

# Upgrade with dry-run
conserver upgrade --dry-run

Status and Monitoring

# Show container status
conserver status

# Show status with health details
conserver status --health

# Watch status continuously
conserver status --watch

# Output as JSON
conserver status --format json

# Check service health
conserver health

# View logs
conserver logs

# Follow logs
conserver logs -f

# Show last 50 lines
conserver logs --tail 50

# Filter logs
conserver logs --grep "error"

# Logs for specific service
conserver logs api

Configuration

# Initialize configuration from examples
conserver config init

# Show current configuration
conserver config show

# Show .env file
conserver config show --file env

# Show with secrets unmasked
conserver config show --secrets

# Edit configuration
conserver config edit

# Edit specific file
conserver config edit --file env

# Set a value
conserver config set REDIS_URL redis://localhost:6379 --file env
conserver config set links.transcribe.options.model_size large --file config

# Validate configuration
conserver config validate

Server Path

By default, conserver looks for the vcon-server installation in:

  1. --server-path CLI option
  2. VCON_SERVER_PATH environment variable
  3. Common relative locations (./vcon-server, ../vcon-server)
# Specify server path
conserver start --server-path /path/to/vcon-server

# Or set environment variable
export VCON_SERVER_PATH=/path/to/vcon-server
conserver start

Command Reference

Command Description
conserver start Start containers
conserver stop Stop containers
conserver restart Restart containers
conserver status Show container status
conserver health Check service health
conserver logs View container logs
conserver upgrade Upgrade to latest version
conserver config show Show configuration
conserver config edit Edit configuration
conserver config set Set a config value
conserver config validate Validate configuration
conserver config init Initialize from examples

Configuration Files

Conserver manages these configuration files in your vcon-server installation:

File Description
.env Environment variables (REDIS_URL, API tokens, etc.)
config.yml Application configuration (links, chains, storages)
docker-compose.yml Docker container definitions

Development

Setup

git clone https://github.com/vcon-dev/vcon-server-cli.git
cd vcon-server-cli
poetry install
poetry shell

Running Tests

# Run all tests
pytest

# Run with coverage
pytest --cov=conserver --cov-report=html

# Run specific test file
pytest tests/test_cli.py -v

Code Quality

# Lint
ruff check .

# Format
ruff format .

# Type check
mypy conserver

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE for details.

Related Projects

  • vcon-server - The vCon processing server
  • vcon - vCon specification and libraries

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

conserver_cli-0.1.0.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

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

conserver_cli-0.1.0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file conserver_cli-0.1.0.tar.gz.

File metadata

  • Download URL: conserver_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for conserver_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 80ac36adb60fc9f3b977fa28db9a55513c8a2e4d26b1f8b6f5aba115bf4cd9cf
MD5 87456c233be9850fd676691c52b343a3
BLAKE2b-256 cb1006631d07f1f455a4cfd776cecf148597db0b09ab1d4e45f77990dafb4a30

See more details on using hashes here.

Provenance

The following attestation bundles were made for conserver_cli-0.1.0.tar.gz:

Publisher: publish.yml on vcon-dev/vcon-server-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file conserver_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: conserver_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for conserver_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b58025bd0bc55f3a4f31ee768e81ff56cffc45c5955058aa62ba07620792a7a
MD5 3aa8a90f64ec939bf295dc6c00eca296
BLAKE2b-256 a0394c788f6f5d0e291d82c4caae96d2f56d7506036088d7ce92fd8e59bfef7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for conserver_cli-0.1.0-py3-none-any.whl:

Publisher: publish.yml on vcon-dev/vcon-server-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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