lift lifecycle

Tool lifecycle commands for starting, stopping, restarting, rebuilding, removing, and updating tools on the server.

Tool Lifecycle Commands

Manage the lifecycle of tools installed on the server.

lift start <tool>

Start a tool's Docker Compose containers.

lift start redis
lift start postgresql

lift stop <tool>

Stop a tool's Docker Compose containers.

lift stop redis
lift stop postgresql

lift restart <tool>

Restart a tool's Docker Compose containers.

lift restart redis
lift restart postgresql

lift rebuild <tool>

Rebuild a tool's Docker image from scratch and recreate containers. Volumes are preserved — your data is safe.

Use this when you change environment variables, Dockerfile, or any build-time configuration that requires a full image rebuild (not just a container restart).

Works with marketplace tools, lift-push apps, and any Docker Compose project. Build output is streamed in real-time.

# Rebuild image + recreate containers
lift rebuild web

# Typical use: after changing env vars
lift env set NODE_ENV=production
lift rebuild my-api

# Auto-detect tool name from .lift.json
cd my-project && lift rebuild

rebuild vs restart: lift restart only restarts existing containers (fast, no image change). lift rebuild does a full docker compose build --no-cache + recreate (slower, picks up Dockerfile and build-time env changes). lift push --force also rebuilds but additionally re-uploads your local source code.

lift remove <tool>

Remove a tool installation from the server. Stops and removes containers, networks, and optionally volumes. Deletes the tool's installation directory.

FlagDescriptionDefault
-v, --volumesRemove volumes (destroys all data)false
-f, --forceSkip confirmation promptfalse
# Remove with confirmation prompt
lift remove redis

# Remove including all data volumes
lift remove redis --volumes

# Skip confirmation
lift remove redis --force

lift update <tool>

Update an installed tool to a newer version. Reads current tool state from the server and compares with the latest version from the registry.

For minor/patch updates, uses the tool's update hook (fallback: compose pull + recreate). For major updates, requires a migration definition in the tool manifest.

FlagDescriptionDefault
--version <ver>Target versionlatest from registry
--var KEY=VALUEOverride a variable (repeatable)-
--dry-runShow what would be done without executingfalse
# Update to latest version
lift update postgresql

# Update to specific version
lift update redis --version 7.4.0

# Preview update without executing
lift update postgresql --dry-run