Configuration Reference
All CLI flags, environment variables, and config file options
Connection
| Flag | Env | YAML | Default | Description |
|---|---|---|---|---|
--host |
HOST | host |
- | Remote host required |
--user |
HOST_USER | user |
current user | SSH username |
--ssh-port |
SSH_PORT | sshPort |
22 | SSH port |
--ssh-key |
SSH_KEY_PATH | sshKey |
- | Path to SSH private key |
Image
| Flag | Env | YAML | Default | Description |
|---|---|---|---|---|
--image |
DOCKER_IMAGE_NAME | image |
app | Docker image name |
--dockerfile |
DOCKERFILE | dockerfile |
Dockerfile | Dockerfile path |
--tag |
DOCKER_IMAGE_TAG | tag |
latest | Image tag |
--platform |
HOST_PLATFORM | platform |
linux/amd64 | Target platform |
--build-arg |
DOCKER_BUILD_ARGS | buildArgs |
- | Build argument (repeatable) |
Container
| Flag | Env | YAML | Default | Description |
|---|---|---|---|---|
--container-name |
DOCKER_CONTAINER_NAME | containerName |
app | Container name |
--container-port |
DOCKER_CONTAINER_PORT | containerPort |
3000 | Port inside container |
--host-port |
HOST_PORT | hostPort |
3000 | Port on host |
--restart |
RESTART_POLICY | restartPolicy |
unless-stopped | Restart policy |
--network |
DOCKER_NETWORK | network |
- | Docker network name |
--hostname |
CONTAINER_HOSTNAME | hostname |
- | Container hostname |
--env-file |
DOCKER_CONTAINER_ENV_FILE | envFile |
- | Environment file path |
--env |
- | env |
- | Environment variable (repeatable) |
--volume |
DOCKER_VOLUMES | volumes |
- | Volume mount (repeatable) |
--add-host |
- | extraHosts |
- | Add host entry (repeatable) |
Resources
| Flag | Env | YAML | Default | Description |
|---|---|---|---|---|
--cpus |
DOCKER_CPUS | cpus |
- | CPU limit (e.g., 0.5, 2) |
--memory |
DOCKER_MEMORY | memory |
- | Memory limit (e.g., 512m, 2g) |
Health Check
| Flag | Env | YAML | Default | Description |
|---|---|---|---|---|
--health-cmd |
HEALTH_CMD | healthCmd |
- | Health check command |
--health-interval |
HEALTH_INTERVAL | healthInterval |
- | Check interval (e.g., 30s) |
--health-timeout |
HEALTH_TIMEOUT | healthTimeout |
- | Check timeout (e.g., 10s) |
--health-retries |
HEALTH_RETRIES | healthRetries |
- | Failure threshold |
--health-start-period |
HEALTH_START_PERIOD | healthStartPeriod |
- | Startup grace period |
Security
| Flag | Env | YAML | Default | Description |
|---|---|---|---|---|
--container-user |
CONTAINER_USER | containerUser |
- | User to run as (e.g., 1000:1000) |
--privileged |
PRIVILEGED | privileged |
false | Privileged mode |
--read-only |
READ_ONLY | readOnly |
false | Read-only root filesystem |
--init |
INIT | init |
false | Use init process |
--cap-add |
- | capAdd |
- | Add capability (repeatable) |
--cap-drop |
- | capDrop |
- | Drop capability (repeatable) |
--tmpfs |
- | tmpfs |
- | tmpfs mount (repeatable) |
Logging
| Flag | Env | YAML | Default | Description |
|---|---|---|---|---|
--log-driver |
LOG_DRIVER | logDriver |
- | Logging driver (json-file, syslog, etc.) |
--log-opt |
- | logOpts |
- | Log option (repeatable) |
Advanced
| Flag | Env | YAML | Default | Description |
|---|---|---|---|---|
--entrypoint |
- | entrypoint |
- | Override entrypoint |
--command |
- | command |
- | Override CMD |
--workdir |
WORKDIR | workdir |
- | Working directory |
--label |
- | labels |
- | Label (repeatable) |
--remote-command |
REMOTE_COMMANDS | remoteCommands |
- | Post-deploy command (repeatable) |
--config |
- | - |
pipe.yaml | Config file path |
--rollback |
- | - |
false | Rollback to previous version |
Output
| Flag | Env | YAML | Default | Description |
|---|---|---|---|---|
--dry-run |
DRY_RUN | - |
false | Preview without making changes |
--verbose, -v |
VERBOSE | - |
false | Detailed output |
--json |
JSON_OUTPUT | - |
false | Output stats as JSON |
Full YAML Example
# pipe.yaml
host: prod.example.com
user: deploy
sshKey: ~/.ssh/deploy_key
image: my-app
tag: ${VERSION:-latest}
platform: linux/amd64
containerName: my-app
containerPort: "3000"
hostPort: "80"
restartPolicy: unless-stopped
healthCmd: "curl -f http://localhost:3000/health || exit 1"
healthInterval: "30s"
healthTimeout: "10s"
healthRetries: 3
cpus: "1"
memory: "512m"
env:
NODE_ENV: production
LOG_LEVEL: warn
volumes:
- /data:/app/data
- /logs:/app/logs
labels:
app: my-app
environment: production
logDriver: json-file
logOpts:
max-size: "10m"
max-file: "3"
init: true
remoteCommands:
- "docker system prune -f --filter 'until=24h'"