Skip to content

CLI Reference

The CLI is for advanced users who prefer command-line workflows or need to automate deployments with scripts. For interactive use, see Using the TUI.

octez-manager operates differently depending on how it’s run:

ModeHow to runServices run asData location
User modeoctez-managerYour user~/.local/share/octez-manager/
System modesudo octez-managerDedicated service users/var/lib/octez-manager/

Note: User mode and system mode are independent. Instances created in one mode are not visible in the other.

Terminal window
octez-manager [OPTIONS] <COMMAND>
OptionDescription
--helpShow help message
--versionShow version

Install a new Tezos node.

Terminal window
octez-manager install-node [OPTIONS]
OptionDescriptionDefault
--instance <NAME>Instance name(prompted)
--network <NET>Network (mainnet, shadownet, etc.)(prompted)
--history-mode <MODE>rolling, full, archiverolling
--data-dir <PATH>Data directoryauto
--rpc-addr <ADDR>RPC address127.0.0.1:8732
--net-addr <ADDR>P2P address0.0.0.0:9732
--snapshotBootstrap from snapshotfalse
--snapshot-uri <URL>Custom snapshot URLauto
--snapshot-no-checkSkip snapshot integrity checkfalse
--keep-snapshotKeep snapshot file after importfalse
--tmp-dir <PATH>Temporary directory for snapshot download/tmp
--service-user <USER>System user for the servicecurrent user
--octez-version <VER>Use a managed binary version-
--bin-dir-alias <ALIAS>Use a registered directory alias-
--app-bin-dir <PATH>Directory containing Octez binariesauto
--no-enableDon’t auto-start the servicefalse
--preserve-dataKeep existing data directoryfalse
--extra-arg <ARG>Extra argument for octez-node (repeatable)-

Binary selection priority: --octez-version > --bin-dir-alias > --app-bin-dir > auto-detect from PATH

Tip: Use --octez-version latest to automatically use the most recent stable Octez release. If the version isn’t downloaded yet, you’ll be prompted to download it.

Install a new DAL node.

Terminal window
octez-manager install-dal-node [OPTIONS]
OptionDescriptionDefault
--instance <NAME>Instance name(prompted)
--node-instance <NAME or URL>Local node instance name or remote endpoint URL-
--data-dir <PATH>Data directoryauto
--rpc-addr <ADDR>RPC address127.0.0.1:10732
--net-addr <ADDR>P2P address0.0.0.0:11732
--service-user <USER>System user for the servicecurrent user
--octez-version <VER>Use a managed binary version-
--bin-dir-alias <ALIAS>Use a registered directory alias-
--app-bin-dir <PATH>Directory containing Octez binariesauto
--no-enableDon’t auto-start the servicefalse
--extra-arg <ARG>Extra argument for octez-dal-node (repeatable)-

Install a new baker.

Terminal window
octez-manager install-baker [OPTIONS]
OptionDescriptionDefault
--instance <NAME>Instance name(prompted)
--node-instance <NAME or URL>Local node instance name or remote endpoint URL-
--delegate <ADDR>Delegate address (repeatable for multiple delegates)(prompted)
--liquidity-baking-vote <V>on, off, pass(prompted)
--dal-endpoint <NAME or URL>DAL node instance name or endpoint URL-
--base-dir <PATH>Baker base directoryauto
--service-user <USER>System user for the servicecurrent user
--octez-version <VER>Use a managed binary version-
--bin-dir-alias <ALIAS>Use a registered directory alias-
--app-bin-dir <PATH>Directory containing Octez binariesauto
--no-enableDon’t auto-start the servicefalse
--extra-arg <ARG>Extra argument for octez-baker (repeatable)-

Install a new accuser.

Terminal window
octez-manager install-accuser [OPTIONS]
OptionDescriptionDefault
--instance <NAME>Instance name(prompted)
--node-instance <NAME or URL>Local node instance name or remote endpoint URL-
--base-dir <PATH>Accuser base directoryauto
--service-user <USER>System user for the servicecurrent user
--octez-version <VER>Use a managed binary version-
--bin-dir-alias <ALIAS>Use a registered directory alias-
--app-bin-dir <PATH>Directory containing Octez binariesauto
--no-enableDon’t auto-start the servicefalse
--extra-arg <ARG>Extra argument for octez-accuser (repeatable)-

Manage existing instances.

Terminal window
octez-manager instance <NAME> <ACTION>

Actions:

ActionDescription
startStart the service
stopStop the service
restartRestart the service
showShow instance details
show-serviceShow systemd service status
logsView logs
export-logsExport logs to a tar.gz archive
editEdit configuration
removeRemove instance (keeps data)
purgeRemove instance and delete data

List registered instances.

Terminal window
octez-manager list [OPTIONS]
OptionDescription
--externalInclude unmanaged/external services
--allShow all details
--jsonOutput as JSON

Import an external (unmanaged) Octez service into octez-manager.

Terminal window
octez-manager import <SERVICE_NAME> [OPTIONS]
OptionDescriptionDefault
--as <NAME>Custom instance nameauto-generated
--network <NET>Override network if not detectedauto-detected
--strategy <S>takeover (disable original) or clone (keep original)takeover
--dry-run, -dPreview import plan without making changesfalse
--cascade, -cImport service and all its dependenciesfalse
--interactive, -iReview and edit configuration before importfalse

Example:

Terminal window
# Preview what would be imported
octez-manager import octez-node-mainnet --dry-run
# Import with a custom name
octez-manager import octez-node-mainnet --as my-mainnet-node
# Clone without affecting the original service
octez-manager import octez-node-mainnet --strategy clone

Manage Octez binary versions. Binaries are stored in:

  • User mode: ~/.local/share/octez-manager/binaries/
  • System mode: /var/lib/octez-manager/binaries/

List installed managed versions and registered directories.

Terminal window
octez-manager binaries list

Download an Octez version from GitLab releases.

Terminal window
octez-manager binaries download <VERSION> [OPTIONS]

Use latest as the version to automatically download the most recent stable release.

OptionDescription
--no-verifySkip SHA256 checksum verification

Examples:

Terminal window
# Download a specific version
octez-manager binaries download 21.0
# Download the latest stable version
octez-manager binaries download latest

Remove an installed managed version.

Terminal window
octez-manager binaries remove <VERSION> [OPTIONS]
OptionDescription
--forceRemove even if in use by a service

Remove all unused managed versions (not referenced by any service).

Terminal window
octez-manager binaries prune [OPTIONS]
OptionDescription
--dry-run, -nShow what would be removed with disk space

Create an alias for a custom binary directory (e.g., a dev build).

Terminal window
octez-manager binaries register <PATH> [OPTIONS]
OptionDescription
--alias <NAME>Custom alias name (default: directory name)

Example:

Terminal window
octez-manager binaries register ~/octez/_build/default/src --alias dev-build

Remove a registered directory alias.

Terminal window
octez-manager binaries unregister <ALIAS_OR_PATH> [OPTIONS]
OptionDescription
--forceRemove even if in use by a service

Show available versions from GitLab releases.

Terminal window
octez-manager binaries list-remote [OPTIONS]
OptionDescription
--allShow all versions (including older ones)

Check for and install octez-manager updates.

Terminal window
octez-manager self-update [OPTIONS]
OptionDescription
--check, -cOnly check for updates, don’t install
--force, -fForce check (bypass cache)

Behavior depends on install method:

  • Package install (apt/dpkg): Shows the appropriate apt command to run
  • Binary install (install script): Downloads and installs automatically
  • Manual install: Shows link to release page

Example:

Terminal window
# Check if updates are available
octez-manager self-update --check
# Install updates
octez-manager self-update

Show version information and check for updates.

Terminal window
octez-manager version

Launch the interactive terminal UI (default command).

Terminal window
octez-manager [OPTIONS]
OptionDescription
--page <NAME>Start on a specific page
--ui-logEnable UI debug logs
--ui-logfile <FILE>Write UI logs to file

Note: When run without arguments, octez-manager launches the TUI. Use explicit subcommands for CLI operations.

Start the web interface for browser-based remote management.

Terminal window
octez-manager web [OPTIONS]
OptionDescriptionDefault
--port <PORT>, -pTCP port to listen on8080
--password <PW>Controller password (full access)none
--viewer-password <PW>Viewer password (read-only access)same as —password
--page <NAME>Start on a specific pageinstances
--ui-logEnable UI debug logsfalse
--ui-logfile <FILE>Write UI logs to filenone

The web interface provides the same functionality as the TUI, accessible from any browser. It uses xterm.js for terminal emulation over WebSocket.

Authentication:

  • Without passwords: Anyone can connect
  • With --password: Controller access requires authentication
  • With --viewer-password: Separate read-only access with different password

Passwords can also be set via environment variables:

  • MIAOU_WEB_PASSWORD — Controller password
  • MIAOU_WEB_VIEWER_PASSWORD — Viewer password (falls back to controller password)

Examples:

Terminal window
# Start on default port (8080), no authentication
octez-manager web
# Custom port with password protection
octez-manager web --port 8443 --password mysecret
# Separate passwords for controller and viewer
octez-manager web --password admin123 --viewer-password viewer123

Show networks available from teztnets.com.

Terminal window
octez-manager list-available-networks [OPTIONS]
OptionDescription
--jsonOutput as JSON

List snapshots available from snapshots.tzinit.org.

Terminal window
octez-manager list-snapshots [OPTIONS]
OptionDescriptionDefault
--network <NET>Network to list snapshots forshadownet
--jsonOutput as JSONfalse

Purge all registered instances. Removes services, data directories, and log files.

Warning: This command is destructive and intended for testing purposes. It will permanently delete all instance data and cannot be undone.

Terminal window
octez-manager purge-all

Remove orphan data directories and log files not associated with any registered service.

Terminal window
octez-manager cleanup-orphans [OPTIONS]
OptionDescription
--dry-run, -nShow what would be removed without deleting

Remove stale dependency entries from service configurations.

Terminal window
octez-manager cleanup-dependencies
Terminal window
# Install Shadownet node with snapshot (recommended for testing)
octez-manager install-node \
--instance shadownet \
--network shadownet \
--history-mode rolling \
--snapshot
# Install baker
octez-manager install-baker \
--instance baker-shadownet \
--node-instance shadownet \
--delegate tz1... \
--liquidity-baking-vote pass
# Install accuser
octez-manager install-accuser \
--instance accuser-shadownet \
--node-instance shadownet
Terminal window
# Download a specific Octez version
octez-manager binaries download 21.0
# Install a node using that version
octez-manager install-node \
--instance shadownet \
--network shadownet \
--octez-version 21.0 \
--snapshot
# Register a local dev build
octez-manager binaries register ~/octez/_build/default/src --alias dev
# Install using the dev build
octez-manager install-node \
--instance dev-node \
--network shadownet \
--bin-dir-alias dev
Terminal window
# List all instances (including external/unmanaged)
octez-manager list --external
# View logs
octez-manager instance shadownet logs
# Restart a service
octez-manager instance shadownet restart
# Launch the TUI
octez-manager
Terminal window
# List external services
octez-manager list --external
# Preview import
octez-manager import octez-node-mainnet --dry-run
# Import with takeover (disable original)
octez-manager import octez-node-mainnet --as mainnet
# Import with clone (keep original running)
octez-manager import octez-node-mainnet --strategy clone --as mainnet-copy
Terminal window
octez-manager install-baker \
--instance baker-shadownet \
--node-instance shadownet \
--delegate tz1abc... \
--delegate tz1def... \
--liquidity-baking-vote pass
Terminal window
octez-manager install-baker \
--instance baker-shadownet \
--node-instance http://localhost:8732 \
--delegate tz1abc... \
--liquidity-baking-vote pass
Terminal window
# List available networks
octez-manager list-available-networks
# List snapshots for a network
octez-manager list-snapshots --network shadownet
Terminal window
# Run as root for production deployments
sudo octez-manager install-node \
--instance mainnet \
--network mainnet \
--service-user tezos \
--snapshot
# Services will run as dedicated users with proper isolation
sudo octez-manager list