apache / apache/openwhisk

Run `standalone` under Docker network

Open
#5,548 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
6.8k
Forks
1.2k
Avg merge
2d 14h
Merged PRs (30d)
2

Description

I’m deploying with `docker-compose.standalone.yml` and it works perfectly in the basic setup:
```yaml
services:
standalone:
image: openwhisk/standalone:nightly
# command: --couchdb --kafka --api-gw
volumes:
- /var/run/docker.sock:/var/run/docker.sock
network_mode: host
```

However, once I enable `--couchdb`, `--kafka`, and `--api-gw`, several ports become occupied on the host: `5984`, `6379`, `9000`, and `3234`. This is problematic if any of these ports are already taken locally. In particular, the ports for CouchDB and Redis (introduced by `api-gw`) appear to be fixed and not configurable.

## Questions
1. Is there a recommended way to deploy the standalone stack without network_mode: host, using a user-defined Docker bridge network so that these services don’t bind to host ports directly?
2. Are there supported flags or environment variables to customize the ports for CouchDB and Redis (and the other components) when running openwhisk/standalone:nightly?
3. If port customization is not currently supported, would you consider exposing these as configuration options (e.g., via env vars) or providing an example compose file that uses a Docker network rather than host networking?

## What I tried / Observations
- Basic standalone (without the extra flags) works fine.
- Enabling `--couchdb --kafka --api-gw` leads to port conflicts on the host for `5984`, `6379`, `9000`, and `3234`.

## Desired outcome
- Ability to run the standalone stack on a Docker network (not host) with ports isolated from the host, or
- Ability to override the default ports (especially for CouchDB and Redis) to avoid collisions.

Thanks in advance for any guidance or examples!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.