Skip to content

Commit 344c0b1

Browse files
cli docker docs
1 parent 79811b7 commit 344c0b1

File tree

7 files changed

+48
-90
lines changed

7 files changed

+48
-90
lines changed

.changeset/fix-version-display.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
---
22
'@walkeros/cli': minor
3-
'@walkeros/docker': minor
43
---
54

6-
Fix Docker runtime version display - versions now read reliably from
7-
package.json at runtime instead of fragile build-time injection
5+
CLI simplification - removed Docker mode for build commands, merged runtime from
6+
@walkeros/docker into CLI, single walkeros/flow image for production

apps/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
1919
},
2020
"dependencies": {
21-
"@walkeros/cli": "0.5.1-next.1"
21+
"@walkeros/cli": "*"
2222
},
2323
"devDependencies": {
2424
"tsup": "^8.5.1",

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/cli/demos/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ node packages/cli/dist/index.js run serve static-walker.js \
104104
## Documentation
105105

106106
- [CLI Documentation](../README.md)
107-
- [Docker Package](../../docker/README.md)
108107

109108
## Support
110109

website/docs/apps/cli.mdx

Lines changed: 17 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,6 @@ The bundle is now ready to deploy!
301301
| `-s, --stats` | Show bundle statistics |
302302
| `--json` | Output statistics as JSON (for CI/CD) |
303303
| `--no-cache` | Skip package cache, download fresh |
304-
| `--local` | Execute locally without Docker |
305304
| `-v, --verbose` | Detailed logging |
306305

307306
### Multi-Flow Example
@@ -445,7 +444,6 @@ The simulation shows:
445444
| `--event <json>` | Event JSON string to test |
446445
| `--event-file <path>` | Path to JSON file with event(s) |
447446
| `--json` | Output as JSON |
448-
| `--local` | Execute locally without Docker |
449447
| `-v, --verbose` | Detailed logging |
450448

451449
### Multiple Events
@@ -482,7 +480,7 @@ Push is your bridge between local testing and production deployment.
482480
### Basic Usage
483481

484482
<CodeSnippet
485-
code={`walkeros push flow.json --event '{"name":"page view","data":{"title":"Home"}}' --local`}
483+
code={`walkeros push flow.json --event '{"name":"page view","data":{"title":"Home"}}'`}
486484
language="bash"
487485
/>
488486

@@ -542,7 +540,7 @@ Create `event.json`:
542540
**3. Push the event**
543541

544542
<CodeSnippet
545-
code={`walkeros push api-flow.json --event event.json --local --verbose`}
543+
code={`walkeros push api-flow.json --event event.json --verbose`}
546544
language="bash"
547545
/>
548546

@@ -577,7 +575,6 @@ The event was sent to your real API endpoint!
577575
| `--json` | Output results as JSON |
578576
| `-v, --verbose` | Verbose output with debug information |
579577
| `-s, --silent` | Suppress output (for CI/CD) |
580-
| `--local` | Execute in local Node.js instead of Docker |
581578

582579
### Event Input Formats
583580

@@ -619,7 +616,7 @@ The `--event` parameter accepts three formats:
619616
For CI/CD pipelines, use `--json` for machine-readable output:
620617

621618
<CodeSnippet
622-
code={`walkeros push flow.json --event '{"name":"page view"}' --json --silent --local`}
619+
code={`walkeros push flow.json --event '{"name":"page view"}' --json --silent`}
623620
language="bash"
624621
/>
625622

@@ -652,10 +649,10 @@ Push to specific flows:
652649

653650
<CodeSnippet
654651
code={`# Push to staging
655-
walkeros push flow.json --event event.json --flow staging --local
652+
walkeros push flow.json --event event.json --flow staging
656653
657654
# Push to production
658-
walkeros push flow.json --event event.json --flow production --local`}
655+
walkeros push flow.json --event event.json --flow production`}
659656
language="bash"
660657
/>
661658

@@ -806,7 +803,6 @@ The collector terminal shows:
806803
| Option | Description |
807804
|--------|-------------|
808805
| `--port <number>` | Server port (default: 8080) |
809-
| `--local` | Execute locally without Docker |
810806
| `-v, --verbose` | Detailed logging |
811807

812808
### Running Pre-Built Bundles
@@ -945,7 +941,6 @@ Open `test.html` in your browser. Events will be sent to `http://localhost:8080/
945941
| `--port <number>` | Server port (default: 3000) |
946942
| `--path <string>` | URL path to serve script (default: `/`) |
947943
| `--name <string>` | Script filename (default: from config) |
948-
| `--local` | Execute locally without Docker |
949944
| `-v, --verbose` | Detailed logging |
950945

951946
## Complete example: Web → Server flow
@@ -1187,49 +1182,12 @@ These options work with all commands:
11871182

11881183
| Option | Description |
11891184
|--------|-------------|
1190-
| `--local` | Execute without Docker (faster, requires local Node.js) |
11911185
| `--verbose` | Show detailed logs |
11921186
| `--silent` | Suppress output |
11931187
| `--json` | Output as JSON (for CI/CD) |
11941188
| `--help` | Show help for command |
11951189
| `--version` | Show CLI version |
11961190

1197-
## Execution modes
1198-
1199-
### Docker Mode (Default)
1200-
1201-
By default, the CLI uses Docker for isolated execution:
1202-
1203-
<CodeSnippet
1204-
code={`walkeros bundle flow.json`}
1205-
language="bash"
1206-
/>
1207-
1208-
**Advantages**:
1209-
- Consistent environment across machines
1210-
- Isolated from local Node.js setup
1211-
- Reproducible builds
1212-
1213-
**Requirements**:
1214-
- Docker installed and running
1215-
1216-
### Local Mode
1217-
1218-
Use `--local` to execute in your current Node.js environment:
1219-
1220-
<CodeSnippet
1221-
code={`walkeros bundle flow.json --local`}
1222-
language="bash"
1223-
/>
1224-
1225-
**Advantages**:
1226-
- Faster execution (no container startup)
1227-
- No Docker dependency
1228-
- Useful in CI/CD or containers
1229-
1230-
**Requirements**:
1231-
- Node.js 18+ installed locally
1232-
12331191
## CI/CD integration
12341192

12351193
### GitHub Actions
@@ -1264,12 +1222,14 @@ jobs:
12641222
### Docker Build
12651223

12661224
<CodeSnippet
1267-
code={`FROM walkeros/cli:latest AS builder
1225+
code={`FROM node:18-alpine AS builder
1226+
WORKDIR /build
1227+
RUN npm install -g @walkeros/cli
12681228
COPY flow.json .
1269-
RUN walkeros bundle flow.json --local
1229+
RUN walkeros bundle flow.json
12701230
1271-
FROM walkeros/docker:latest
1272-
COPY --from=builder /dist/bundle.mjs /app/flow.mjs
1231+
FROM walkeros/flow:latest
1232+
COPY --from=builder /build/dist/bundle.mjs /app/flow.mjs
12731233
ENV MODE=collect
12741234
ENV FLOW=/app/flow.mjs`}
12751235
language="dockerfile"
@@ -1290,17 +1250,16 @@ npm ping`}
12901250
language="bash"
12911251
/>
12921252

1293-
### Docker Permission Issues
1253+
### Build Issues
12941254

1295-
On Linux, you may need to run Docker commands with sudo or add your user to the `docker` group:
1255+
If you encounter build issues:
12961256

12971257
<CodeSnippet
1298-
code={`# Use local mode instead
1299-
walkeros bundle flow.json --local
1258+
code={`# Clear cache and retry
1259+
walkeros cache clear
13001260
1301-
# Or fix Docker permissions
1302-
sudo usermod -aG docker $USER
1303-
# Then log out and back in`}
1261+
# Retry with verbose output
1262+
walkeros bundle flow.json --verbose`}
13041263
language="bash"
13051264
/>
13061265

website/docs/apps/docker.mdx

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
title: Docker
33
description: Deploy walkerOS flows with Docker containers
44
sidebar_position: 3
5-
package: '@walkeros/docker'
5+
package: '@walkeros/cli'
66
---
77

88
# walkerOS Docker
99

10-
The walkerOS Docker package (`@walkeros/docker`) is a **pure runtime container** for executing pre-built flow bundles in production. It's designed for fast startup (< 1 second), minimal footprint (~150-200MB), and cloud-native deployment.
10+
The walkerOS Docker image (`walkeros/flow`) is a **pure runtime container** for executing pre-built flow bundles in production. It's designed for fast startup (< 1 second), minimal footprint (~150-200MB), and cloud-native deployment.
1111

1212
**Key Philosophy**: Docker handles runtime, [CLI](/docs/apps/cli) handles build-time. You bundle with the CLI, deploy with Docker.
1313

@@ -42,7 +42,7 @@ The Docker image includes demo bundles for instant testing.
4242
code={`docker run -p 8080:8080 \\
4343
-e MODE=collect \\
4444
-e FLOW=/app/demos/demo-collect.mjs \\
45-
walkeros/docker:latest`}
45+
walkeros/flow:latest`}
4646
language="bash"
4747
/>
4848

@@ -65,7 +65,7 @@ The demo is self-contained and generates test events automatically.
6565
-e MODE=serve \\
6666
-e PORT=3000 \\
6767
-e STATIC_DIR=/app/demos \\
68-
walkeros/docker:latest`}
68+
walkeros/flow:latest`}
6969
language="bash"
7070
/>
7171

@@ -84,7 +84,7 @@ The Docker container is configured via environment variables:
8484
-e FLOW=/app/flow.mjs \\
8585
-e PORT=8080 \\
8686
-e HOST=0.0.0.0 \\
87-
walkeros/docker:latest`}
87+
walkeros/flow:latest`}
8888
language="bash"
8989
/>
9090

@@ -103,7 +103,7 @@ The Docker container is configured via environment variables:
103103
-e MODE=serve \\
104104
-e STATIC_DIR=/app/static \\
105105
-e PORT=3000 \\
106-
walkeros/docker:latest`}
106+
walkeros/flow:latest`}
107107
language="bash"
108108
/>
109109

@@ -138,7 +138,7 @@ This creates `dist/flow.mjs`.
138138
-e MODE=collect \\
139139
-e FLOW=/app/flow.mjs \\
140140
--name walkeros-collector \\
141-
walkeros/docker:latest`}
141+
walkeros/flow:latest`}
142142
language="bash"
143143
/>
144144

@@ -172,7 +172,7 @@ Build a custom Docker image with your bundle baked in.
172172
**2. Create Dockerfile**
173173

174174
<CodeSnippet
175-
code={`FROM walkeros/docker:latest
175+
code={`FROM walkeros/flow:latest
176176
177177
# Copy pre-built bundle
178178
COPY flow.mjs /app/flow.mjs
@@ -219,13 +219,14 @@ Build and bundle in a single Dockerfile.
219219

220220
<CodeSnippet
221221
code={`# Build stage
222-
FROM walkeros/cli:latest AS builder
222+
FROM node:18-alpine AS builder
223223
WORKDIR /build
224+
RUN npm install -g @walkeros/cli
224225
COPY flow.json .
225-
RUN walkeros bundle flow.json --local --output flow.mjs
226+
RUN walkeros bundle flow.json --output flow.mjs
226227
227228
# Runtime stage
228-
FROM walkeros/docker:latest
229+
FROM walkeros/flow:latest
229230
COPY --from=builder /build/flow.mjs /app/flow.mjs
230231
231232
ENV MODE=collect
@@ -251,7 +252,7 @@ docker run -d -p 8080:8080 analytics-collector`}
251252
252253
services:
253254
collector:
254-
image: walkeros/docker:latest
255+
image: walkeros/flow:latest
255256
environment:
256257
MODE: collect
257258
FLOW: /app/flow.mjs
@@ -285,7 +286,7 @@ docker-compose logs -f`}
285286
services:
286287
# Server-side event collection
287288
collector:
288-
image: walkeros/docker:latest
289+
image: walkeros/flow:latest
289290
environment:
290291
MODE: collect
291292
FLOW: /app/server-flow.mjs
@@ -297,7 +298,7 @@ services:
297298
298299
# Web bundle serving
299300
tracker:
300-
image: walkeros/docker:latest
301+
image: walkeros/flow:latest
301302
environment:
302303
MODE: serve
303304
STATIC_DIR: /app/static
@@ -389,7 +390,7 @@ To start console-only: remove the `bigquery` destination block.
389390
**3. Create Dockerfile**
390391

391392
<CodeSnippet
392-
code={`FROM walkeros/docker:latest
393+
code={`FROM walkeros/flow:latest
393394
COPY flow.mjs /app/flow.mjs
394395
ENV MODE=collect
395396
ENV FLOW=/app/flow.mjs
@@ -528,7 +529,7 @@ This creates `tracker.js`.
528529
**3. Create Dockerfile for serving**
529530

530531
<CodeSnippet
531-
code={`FROM walkeros/docker:latest
532+
code={`FROM walkeros/flow:latest
532533
COPY tracker.js /app/static/tracker.js
533534
ENV MODE=serve
534535
ENV STATIC_DIR=/app/static
@@ -750,7 +751,7 @@ For sensitive configuration (API keys, credentials), use environment variables:
750751

751752
<CodeSnippet
752753
code={`# Docker
753-
docker run -e BIGQUERY_KEY="$(cat key.json)" walkeros/docker
754+
docker run -e BIGQUERY_KEY="$(cat key.json)" walkeros/flow
754755
755756
# Cloud Run
756757
gcloud run deploy $SERVICE_NAME \\
@@ -835,7 +836,7 @@ docker logs walkeros-collector`}
835836

836837
<CodeSnippet
837838
code={`# Use a different host port
838-
docker run -p 8081:8080 walkeros/docker
839+
docker run -p 8081:8080 walkeros/flow
839840
840841
# Or find and kill the conflicting process
841842
lsof -ti:8080 | xargs kill`}
@@ -846,13 +847,13 @@ lsof -ti:8080 | xargs kill`}
846847

847848
<CodeSnippet
848849
code={`# Verify volume mount
849-
docker run -v $(pwd)/dist/flow.mjs:/app/flow.mjs walkeros/docker
850+
docker run -v $(pwd)/dist/flow.mjs:/app/flow.mjs walkeros/flow
850851
851852
# Check if file exists in container
852-
docker run --rm -it walkeros/docker ls -la /app/
853+
docker run --rm -it walkeros/flow ls -la /app/
853854
854855
# Verify FLOW environment variable
855-
docker run -e FLOW=/app/flow.mjs walkeros/docker`}
856+
docker run -e FLOW=/app/flow.mjs walkeros/flow`}
856857
language="bash"
857858
/>
858859

@@ -862,4 +863,4 @@ docker run -e FLOW=/app/flow.mjs walkeros/docker`}
862863
- **[Flow Configuration](/docs/getting-started/flow)** - Understand flow structure
863864
- **[Sources](/docs/sources/)** - Configure event sources
864865
- **[Destinations](/docs/destinations/)** - Set up analytics destinations
865-
- **[Docker Hub](https://hub.docker.com/r/walkeros/docker)** - Official Docker images
866+
- **[Docker Hub](https://hub.docker.com/r/walkeros/flow)** - Official Docker images

0 commit comments

Comments
 (0)