-
-
Notifications
You must be signed in to change notification settings - Fork 1
Configuration Reference
Yusuke Abe edited this page Aug 10, 2026
·
3 revisions
Covers every
wip.ymlkey. Reorganizes README's Configuration section into a Kubernetes/Docker-Compose-style reference: key → meaning → default → caveats.
- What
version:andmode:do - Config file discovery rules (running from a subdirectory,
--config PATH) - The
wslc:block (command: auto's lookup order)
-
container:(naming the primary container; required oncedependencies:has entries) network:- Each
dependencies:entry (image,command,env,ports,volumes,workdir,restart) - Primary vs. sidecar: operational differences (what
up/down/exec/run/build/interaction:target) -
interaction:(thecommands:alias, and theConfigErrorfrom declaring both)-
type: exec/type: run/type: build - Collisions with built-in command names (working around them with
wip dispatch NAME)
-
-
restart:andwip up --watch- Supported values (
no/always/unless-stopped/on-failure[:MAX_RETRIES]) - Polling-based limitations (not event-based; doesn't inspect
on-failureexit codes)
- Supported values (
- The
compose:block (service,command,file,project) - Mutual exclusivity with
dependencies:/network: - Where third-party compose-for-wslc tools fit (wip doesn't pick a winner)
- Supported command surface (
up/down/exec/logs;runfalls back toexec;type: run/buildunsupported)
- The
compose:block (service,file,project) vs.mode: compose— nocommand:, no top-levelcontainer: - Supported compose.yml subset
- Per-service:
image,build,command,environment,ports/volumes(short syntax only),working_dir,user,restart,depends_on(service_startedonly) - Accepted-but-ignored keys:
tty,stdin_open,networks - Top-level sections ignored outright:
networks:,volumes:,configs:,secrets: - What happens when an unsupported key is used (
ConfigErrornaming the offending key)
- Per-service:
-
wip logs's single-service limitation
- Diagramming the primary/sidecar design
- When the network gets created (at
wip up, if missing)
- Loading rules (
KEY=VALUE, comments,export, quoted values) - Precedence (
env:always wins over.env) --env-file PATH
- How
wip buildhonors.dockerignore - Build-context optimization via
shadow_context(WSL2 only; disabled on/mnt/<drive>)
- Full parameter list (
source,target,volume,mount,exclude,delete,command,options,interval,mode,image,build) -
sync.mode: execvs.run, and how image requirements differ - Default differences by mode (
container/compose-nativevs.compose) - Default
excludelist perwip init --template - Mount-rewriting rules driven by the volume
-
sync.buildbehavior (built once perwip up/wip syncinvocation, once before a--watchloop starts) - Caveats (one-way sync; when to reach for
delete: false)
Introduction
Modes
Configuration
- Configuration Reference
- Config File Discovery
- Dependencies
- Networking
- Interactions
- Restart Policies
- Env Files
- Secret Masking
- Dockerignore
- Shadow Build Context
- Source Sync
- Sync Modes
compose.yml support
- Compose File Support
- Compose Build
- Compose Depends On
- Compose Profiles
- Compose Variable Interpolation
Commands
- CLI Command Reference
- wip init
- wip version
- wip doctor
- wip config
- wip build
- wip up
- wip stop
- wip down
- wip exec
- wip run
- wip shell
- wip logs
- wip sync
- wip dispatch
- Global Options
- Debug Output
- TTY Allocation
Guides
- Guides
- Migrating from dip
- Reusing an Existing compose.yml
- Fixing a Slow Boot
- Continuous Sync
- Auto Restarting Containers
- Multi Arch Images
- Using wip in CI
Troubleshooting
- Troubleshooting & FAQ
- FAQ
- Configuration Errors
- WSLC Not Found
- Registry Authentication
- Architecture Mismatch
- Volume Limit Reached
- rsync Not Found
- Reporting Issues
Comparison
Project