deeplo

CLI reference

Every deeplo command, grouped by function.

Inspect

CommandPurpose
deeplo deploysInspect deployment state, containers, history, and logs
deeplo healthShow service health
deeplo versionPrint the deeplo version

deeplo deploys

Inspect recorded deployment state, live container state, run history, and run logs.

deeplo deploys [flags] <subcommand> [command flags]

Aliases: deployments

SubcommandDescription
containersSSH into each host and show observed container state
historyList recent deploy runs
logs <run-id>Print the log for a deploy run
stateShow the latest recorded deployment per project and host

deploys history flags:

FlagDefaultDescription
--limit20Maximum number of runs to show
--project-Filter by project name
--host-Filter by host name

Use deploys history to find run IDs for deploys logs <run-id>.

deeplo health

Show service health. On native installs, checks the systemd service first. Otherwise it checks the admin socket directly.

deeplo health

Exit code 0 means the native service is running or the daemon socket is reachable.

deeplo version

Print the deeplo version.

deeplo version

Manage

CommandPurpose
deeplo authorizeInstall the deploy public key on target hosts
deeplo configWork with the managed config file
deeplo deployForce a deploy of a project
deeplo probeCheck SSH connectivity to every host

deeplo authorize

Install deeplo's deploy public key on target hosts.

deeplo authorize [host...]

With no arguments, authorizes every configured host. Pass host names to authorize only those hosts.

The command resolves the public key from DEEPLO_SSH_PRIVATE_KEY_FILE + ".pub" and reads SSH user/port settings from the daemon environment and config file. It is idempotent. If the daemon is running, hosts already reachable by key are skipped.

deeplo config

Work with the managed config file.

deeplo config [flags] <subcommand> [command flags]
SubcommandDescription
checkValidate the config file and report any issues
editOpen the managed config file in an editor
pathPrint the path to the managed config file
reloadAsk the daemon to reload its config

config path, config edit, and config check do not require the daemon. config reload requires the daemon and applies a valid changed config immediately. Invalid reloads are rejected and the current config stays active.

config edit uses $VISUAL, then $EDITOR, then vi when the file is writable. If the file is not writable by the current user, it uses sudoedit.

deeplo deploy

Force a deploy of a project at its current HEAD commit.

deeplo deploy <project> [flags]
FlagDefaultDescription
--host-Deploy to this host only. Defaults to all configured hosts

The deploy runs asynchronously in the daemon. Use deeplo deploys history to monitor progress and deeplo deploys logs <run-id> to inspect output.

deeplo probe

Check SSH connectivity to every configured host.

deeplo probe

The daemon performs the SSH dial because it owns the deploy key and known_hosts.

System

CommandPurpose
deeplo daemonRun the deployment daemon
deeplo envWork with the native env file
deeplo serviceManage the native systemd service
deeplo uninstallUninstall deeplo and its systemd service
deeplo updateUpdate deeplo to the latest release

deeplo daemon

Run the deployment daemon.

deeplo daemon

You do not normally run this directly. Native installs use systemd, and Docker runs it as the container's default command.

The daemon is configured with DEEPLO_* environment variables. See Environment variables.

deeplo env

Work with the native env file. Native installs only.

deeplo env [flags] <subcommand> [command flags]
SubcommandDescription
checkValidate the env file and referenced key/secret files
editOpen the env file via sudoedit
pathPrint the path to the env file

env check validates DEEPLO_* settings the same way the daemon does at startup. It also verifies referenced key and secret files are readable by the daemon service user.

deeplo service

Manage the native systemd service. Native installs only.

deeplo service [flags] <subcommand> [command flags]
SubcommandDescription
disableDisable the service from starting on boot
enableEnable the service to start on boot
logsShow service logs via journalctl
restartRestart the service
startStart the service
statusShow the deeplo service status
stopStop the service

status and logs run as the current user. Mutating commands use sudo when needed.

service enable flags:

FlagDefaultDescription
--nowfalseAlso start the service immediately

service logs flags:

FlagDefaultDescription
--follow, -ffalseStream live log output
--lines, -n50Number of recent lines to show. 0 means all

deeplo uninstall

Uninstall deeplo and its systemd service from this host. Native installs only.

deeplo uninstall [flags]
FlagDefaultDescription
--purgefalseRemove config, data, and the system user/group without prompting

Without --purge, config and data are preserved.

deeplo update

Update deeplo to the latest release. Native installs only.

deeplo update [flags]
FlagDefaultDescription
--version-Version to install. Defaults to the latest release
--forcefalseReinstall even if already up to date

If the target version is already installed, the command is a no-op unless --force is set. If the daemon was running before the update, the command restarts it after installing the new binary.

Shell completion

The native installer sets up shell completion automatically when it finds bash, zsh, or fish, and the Docker image ships with bash completion preinstalled. Generate completion scripts manually with:

deeplo completion bash
deeplo completion zsh
deeplo completion fish

completion is hidden from the top-level help but remains available for manual setup.

On this page