Skip to content

feat(docker): add Docker Compose stack for runtime services#35

Merged
eliteprox merged 17 commits into
mainfrom
feat/deploy-stack-go-bootstrap
Jun 24, 2026
Merged

feat(docker): add Docker Compose stack for runtime services#35
eliteprox merged 17 commits into
mainfrom
feat/deploy-stack-go-bootstrap

Conversation

@eliteprox

@eliteprox eliteprox commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds the fundamental docker compose stack including go-livepeer remote signer, Kafka and an OpenMeter/Benthos collector with parsing config for kafka events

Excludes identity webhook

  • Docker Compose — Kafka/Redpanda, go-livepeer remote signer, OpenMeter/Benthos collector

Quick start

cp deploy/.env.example deploy/.env
docker compose -f deploy/docker-compose.yml --env-file deploy/.env up -d --build \
  kafka remote-signer openmeter-collector

Test plan

  • Add REMOTE_SIGNER_WEBHOOK_URL
  • Signer port 8081 published; CLI port 4935 not published

Closes #23
Closes #24

@eliteprox eliteprox changed the title feat(deploy): Docker Compose stack on Go bootstrap feat(deploy): Add Signer, Kafka and Collector docker compose with manual deploy scripts Jun 17, 2026
@eliteprox
eliteprox force-pushed the feat/deploy-stack-go-bootstrap branch from 15162ff to 6cd8f07 Compare June 18, 2026 22:09
@eliteprox eliteprox changed the title feat(deploy): Add Signer, Kafka and Collector docker compose with manual deploy scripts feat(deploy): add Docker Compose stack for runtime services Jun 18, 2026
@eliteprox
eliteprox changed the base branch from feat/go-bootstrap-cli to main June 18, 2026 22:10
@eliteprox
eliteprox changed the base branch from main to feat/go-bootstrap-cli June 18, 2026 22:14
@eliteprox
eliteprox force-pushed the feat/deploy-stack-go-bootstrap branch 2 times, most recently from 5d5ca7d to f45f9be Compare June 18, 2026 22:15
Kafka, remote signer, and OpenMeter collector with local compose targets.
@eliteprox
eliteprox force-pushed the feat/deploy-stack-go-bootstrap branch from f45f9be to f176e2e Compare June 18, 2026 22:16
@eliteprox
eliteprox changed the base branch from feat/go-bootstrap-cli to main June 18, 2026 22:16
Changed the volume binding for the signer service to use a configurable data directory. Updated the entrypoint script to correct the remote signer webhook header format for compatibility.
@eliteprox
eliteprox requested a review from rickstaa June 19, 2026 01:01
Drop AUTH0_PUBLIC_CLIENT_ID from deploy env/README now that the stacked
identity-webhook uses API-key auth. Remove PR delivery notes from README.
…ntation

Refactor the entrypoint script to use a more concise argument passing method and correct the format of the `WEBHOOK_SECRET` in the README to include the required syntax for the Authorization header.
@eliteprox

Copy link
Copy Markdown
Collaborator Author

@rickstaa This PR is ready for review. Let me know if you see any potential optimizations, I think this set of changes are pretty clear now

@linear-code

linear-code Bot commented Jun 23, 2026

Copy link
Copy Markdown

ENG-135

ENG-134

ENG-121

@rickstaa rickstaa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @eliteprox, I reviewed this pull request, and overall it looks strong. I was also able to confirm that the signer + Kafka part of the stack is running and posting messages to the OpenMeter endpoint.

I left a few minor comments. Once you’ve addressed those, and any others you think are important, this can be merged.

Comment thread deploy/openmeter-collector/Dockerfile Outdated
Comment thread deploy/remote-signer/Dockerfile Outdated
Comment thread deploy/README.md Outdated
Comment thread deploy/README.md Outdated
Comment thread deploy/README.md Outdated
Comment thread deploy/remote-signer/Dockerfile Outdated
Comment thread deploy/docker-compose.yml Outdated
Comment thread deploy/docker-compose.yml Outdated
Comment thread README.md
Comment thread deploy/README.md Outdated
…dpanda integration

Replaced references to Apache Kafka with Redpanda in both the README and docker-compose.yml. Clarified the architecture and identity validation process for the remote signer container.
…cript

Included comments in the entrypoint.sh to clarify the usage of Redpanda in development mode, highlighting the lack of security and persistence features, and linking to the relevant issue for tracking.
Updated comments in docker-compose.yml to specify that the keystore and .eth-password should be copied into deploy/data before the first run. Revised README to streamline the description of the bootstrap process for meters and features.
Updated docker-compose.yml and collector.yaml to ensure ETH_USD_PRICE is a required environment variable, removing the default value. Revised README to reflect this change, indicating that the ETH/USD rate must be provided explicitly.
…etup

Added KAFKA_ADVERTISED_ADDR and KAFKA_BROKERS to the .env.example file for better Kafka integration. Updated docker-compose.yml to utilize these environment variables, simplifying the configuration for the Kafka and signer services. Revised README to document the new environment variables and their purposes.
@eliteprox
eliteprox force-pushed the feat/deploy-stack-go-bootstrap branch from f237cc2 to 99d56b0 Compare June 24, 2026 20:33
Introduced SIGNER_ETH_KEYSTORE_PATH in docker-compose.yml to allow specifying an optional keystore directory or keyfile path. Updated entrypoint.sh to pass this new environment variable to the signer service. Revised README to document the new variable and its purpose.
@eliteprox
eliteprox force-pushed the feat/deploy-stack-go-bootstrap branch from 61fd9cd to 6d1858a Compare June 24, 2026 20:39
Introduced SIGNER_DATA_DIR in .env.example to specify the host directory for signer state and keystore. Updated README to document this new variable and added details for SIGNER_REMOTE_DISCOVERY and ORCH_WEBHOOK_URL, enhancing clarity on their usage.
Revised .env.example to clarify OpenMeter URLs for Konnect and self-hosted setups. Updated docker-compose.yml to remove the deprecated OPENMETER_URL. Updated README to provide clearer instructions for setting up the environment.
…cker Compose setup for clearinghouse stack

Added a new docker-compose.yml file to define the services for the clearinghouse stack, including Redpanda, go-livepeer remote signer, and OpenMeter collector. Introduced a .gitignore file to exclude sensitive environment files and created example .env files for each service to facilitate configuration. Updated README to outline the components and setup instructions for the stack.
Enhanced the README to clarify the identity and authorization process for the remote signer, including instructions for local alive checks without a webhook. Updated .env.example to indicate that leaving REMOTE_SIGNER_WEBHOOK_URL empty allows starting the signer without webhook authorization, while emphasizing the necessity of this variable in production.
@eliteprox eliteprox changed the title feat(deploy): add Docker Compose stack for runtime services feat(docker): add Docker Compose stack for runtime services Jun 24, 2026
@eliteprox
eliteprox merged commit 30545dc into main Jun 24, 2026
@rickstaa
rickstaa deleted the feat/deploy-stack-go-bootstrap branch June 25, 2026 08:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants