Conserver CLI
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
- Image Management: List, pull, upgrade, and downgrade vcon-server images from ECR
- 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
Image Management
# List available remote tags
conserver images list --remote
# List local images
conserver images list
# Pull specific version
conserver images pull v1.2.0
# Pull latest main branch
conserver images pull main
# Switch to a version (and restart)
conserver images use v1.2.0 --restart
# Upgrade to latest version
conserver images upgrade
# Downgrade to older version
conserver images downgrade v1.1.0
# Show image info
conserver images info v1.2.0
# Remove old images (keep 3 most recent)
conserver images prune
Server Path
By default, conserver looks for the vcon-server installation in:
--server-pathCLI optionVCON_SERVER_PATHenvironment variable- 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 images list |
List available images |
conserver images pull |
Pull an image |
conserver images use |
Switch to a version |
conserver images upgrade |
Upgrade image version |
conserver images downgrade |
Downgrade image 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
Metadata
Release files for conserver-cli 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| conserver_cli-0.2.0.tar.gz | 29.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| conserver_cli-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 65.4 kB
Release files / conserver_cli-0.2.0.tar.gz
| Download URL | conserver_cli-0.2.0.tar.gz |
|---|---|
| Size | 29.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4248effe8f5a61a381dfee6e2769b758f480c8f0e4e02900cc7a5d18271c89cb
|
|
BLAKE2b-256 checksum How to use checksums |
272a914bd737de3005ebad904a64f3df6d2614fdafb72934749dfac6d75e8a98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 29, 2026.
Transparency logRelease files / conserver_cli-0.2.0-py3-none-any.whl
| Download URL | conserver_cli-0.2.0-py3-none-any.whl |
|---|---|
| Size | 36.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cca608c729458c1162ddb1dca68aaa937f38ec0eb9e26fd5d2cd4e871d40d186
|
|
BLAKE2b-256 checksum How to use checksums |
b0db20fb383cccd09a09c7ecdacba4007dd86614c15781e93601dd112bb9d3b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 29, 2026.
Transparency log