Skip to content

Commit

Permalink
Update README and Docker Pull
Browse files Browse the repository at this point in the history
  • Loading branch information
jovezhong committed Aug 17, 2024
1 parent 6b0b5f1 commit 8488d6e
Show file tree
Hide file tree
Showing 12 changed files with 42 additions and 48 deletions.
19 changes: 7 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,31 +65,26 @@ brew install timeplus-io/timeplus/proton
### Docker:

```bash
docker run -d --pull always --name proton ghcr.io/timeplus-io/proton:latest
docker run -d --pull always -p 8123:8123 -p 8463:8463 --name proton d.timeplus.com/timeplus-io/proton:latest
```
In case you cannot access ghcr, you can pull the image from `public.ecr.aws/timeplus/proton`

You may need to expose ports from the Proton container so that other tools can connect to it, such as DBeaver. Please check [Server Ports](https://docs.timeplus.com/proton-ports) for each port to expose. For example:

```shell
docker run -d --pull always -p 8123:8123 -p 8463:8463 --name proton ghcr.io/timeplus-io/proton:latest
```
Please check [Server Ports](https://docs.timeplus.com/proton-ports) to determine which ports to expose, so that other tools can connect to Timeplus, such as DBeaver.

### Docker Compose:

The [Docker Compose stack](https://github.com/timeplus-io/proton/tree/develop/examples/ecommerce) demonstrates how to read/write data in Kafka/Redpanda with external streams.

### Timeplus Cloud:

One step to try Timeplus Proton in [Timeplus Cloud](https://us.timeplus.cloud/)
Don't want to setup by yourself? Try Timeplus Proton in [Cloud](https://us.timeplus.cloud/)


### 🔎 Usage
SQL is the main interface. You can start a new terminal window with `proton client` to start the SQL shell.
> [!NOTE]
> You can also integrate Timeplus Proton with Python/Java/Go SDK, REST API, or BI plugins. Please check <a href="#-integrations"><strong>Integrations</strong></a>
From `proton client`, run the following SQL to create a stream of random data:
In the `proton client`, you can write SQL to create [External Stream for Kafka](https://docs.timeplus.com/proton-kafka) or [External Table for ClickHouse](https://docs.timeplus.com/proton-clickhouse-external-table). You can also run the following SQL to create a stream of random data:

```sql
-- Create a stream with random data
Expand Down Expand Up @@ -123,9 +118,9 @@ What features are available with Timeplus Proton versus Timeplus Enterprise?

| | **Timeplus Proton** | **Timeplus Enterprise** |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Deployment** | <ul><li>Single-node Docker image</li><li>Single binary on Mac/Linux</li></ul> | <ul><li>Single node</li><li>Cluster</li><li>Kubernetes-based “bring your own cloud” (BYOC)</li><li>Fully-managed cloud service</li></ul> |
| **Data sources** | <ul><li>Random streams</li><li>External streams to Apache Kafka, Confluent Cloud, Redpanda</li><li>Streaming ingestion via REST API (compact mode only)</li></ul> | <ul><li>Everything in Timeplus Proton</li><li>WebSocket and HTTP Stream</li><li>NATS</li><li>Apache Pulsar</li><li>CSV upload</li><li>Streaming ingestion via REST API (with API key and flexible modes)</li></ul> |
| **Data destinations (sinks)** | <ul><li>External streams to Apache Kafka, Confluent Cloud, Redpanda</li></ul> | <ul><li>Everything in Timeplus Proton</li><li>Apache Pulsar</li><li>Slack</li><li>Webhook</li><li>Timeplus stream</li></ul> |
| **Deployment** | <ul><li>Single-node Docker image</li><li>Single binary on Mac/Linux</li></ul> | <ul><li>Single node, or</li><li>Cluster</li><li>Kubernetes-based self-hosting, or</li><li>Fully-managed cloud service</li></ul> |
| **Data sources** | <ul><li>Random streams</li><li>External streams to Apache Kafka, Confluent Cloud, Redpanda</li><li>Streaming ingestion via REST API (compact mode only)</li></ul> | <ul><li>Everything in Timeplus Proton</li><li>WebSocket and HTTP Stream</li><li>NATS</li><li>Apache Pulsar</li><li>CSV upload</li><li>Streaming ingestion via REST API (with API key and flexible modes)</li><li>Hundreds of connectors from Redpanda Connect</li></ul> |
| **Data destinations (sinks)** | <ul><li>External streams to Apache Kafka, Confluent Cloud, Redpanda</li></ul> | <ul><li>Everything in Timeplus Proton</li><li>Apache Pulsar</li><li>Slack</li><li>Webhook</li><li>Exchange data with other Timeplus Enterprise or Proton deployments</li></ul> |
| **Support** | <ul><li>Community support from GitHub and Slack</li></ul> | <ul><li>Enterprise support via email, Slack, and Zoom, with a SLA</li></ul> |

## 🧩 Integrations
Expand Down
32 changes: 16 additions & 16 deletions examples/awesome-sensor-logger/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
pull_policy: always
ports:
- 3218:3218 #http port for JDBC driver, default streaming mode
- 8123:8123 #http port for JDBC driver, default batch mode
- 8463:8463 #tcp port for go driver or grafana plugin
volumes:
- ./init_sql:/docker-entrypoint-initdb.d
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8123/?query=show+create+phone || exit 1
interval: 2s
timeout: 10s
retries: 3
start_period: 10s
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always
ports:
- 3218:3218 #http port for JDBC driver, default streaming mode
- 8123:8123 #http port for JDBC driver, default batch mode
- 8463:8463 #tcp port for go driver or grafana plugin
volumes:
- ./init_sql:/docker-entrypoint-initdb.d
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8123/?query=show+create+phone || exit 1
interval: 2s
timeout: 10s
retries: 3
start_period: 10s

proxy:
image: timeplus/sensor-logger-proxy
image: docker.timeplus.com/timeplus/sensor-logger-proxy
ports:
- 8000:3000 #expose internal port 3000 as 8000, avoiding conflicts with Grafana. This will forward HTTP POST to proton:3218
- 8000:3000 #expose internal port 3000 as 8000, avoiding conflicts with Grafana. This will forward HTTP POST to proton:3218
environment:
HOST: proton
STREAM: phone
Expand Down
4 changes: 2 additions & 2 deletions examples/carsharing/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: proton-demo-carsharing
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always

carsharing_datagen:
image: timeplus/cardemo:latest
image: docker.timeplus.com/timeplus/cardemo:latest
entrypoint: /bin/sh
command: -c "sleep 15 && echo \"$$CONSOLE_CONFIG_FILE\" > /timeplus/sink.yaml; /timeplus/cardemo --config /timeplus/.cardemo.yaml -f /timeplus/sink.yaml"
environment:
Expand Down
2 changes: 1 addition & 1 deletion examples/cdc/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always
ports:
# - 3218:3218 #http port for JDBC driver, default streaming mode
Expand Down
2 changes: 1 addition & 1 deletion examples/clickhouse/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ volumes:
redpanda: null
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always

clickhouse:
Expand Down
4 changes: 2 additions & 2 deletions examples/coinbase/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: coinbase
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always
ports:
- "3218:3218" # HTTP Streaming
Expand All @@ -22,7 +22,7 @@ services:
- "4195:4195"

init-pipeline:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
command:
- sh
- -c
Expand Down
2 changes: 1 addition & 1 deletion examples/ecommerce/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ volumes:
redpanda: null
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always
ports:
# - 3218:3218 #http port for JDBC driver, default streaming mode
Expand Down
4 changes: 2 additions & 2 deletions examples/fraud_detection/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: proton-fraud-detection
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always
healthcheck:
test: ["CMD", "curl", "http://localhost:3218/proton/ping"]
Expand All @@ -11,7 +11,7 @@ services:
start_period: 10s

online-payment-data:
image: timeplus/fraud:2cfdfbc
image: docker.timeplus.com/timeplus/fraud:2cfdfbc
pull_policy: always
environment:
PROTON_HOST: proton
Expand Down
4 changes: 2 additions & 2 deletions examples/grafana/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always
ports:
- 8463:8463
- 3218:3218

carsharing_datagen:
image: timeplus/cardemo:latest
image: docker.timeplus.com/timeplus/cardemo:latest
entrypoint: /bin/sh
command: -c "sleep 15 && echo \"$$CONSOLE_CONFIG_FILE\" > /timeplus/sink.yaml; /timeplus/cardemo --config /timeplus/.cardemo.yaml -f /timeplus/sink.yaml"
environment:
Expand Down
11 changes: 5 additions & 6 deletions examples/hackernews/compose.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
services:

proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always
ports:
- 8463:8463
Expand All @@ -13,12 +12,12 @@ services:
interval: 5s
timeout: 10s
retries: 3
start_period: 10s
start_period: 10s

hn_stream:
build:
context: .
image: timeplus/hackernews_bytewax:latest
context: .
image: docker.timeplus.com/timeplus/hackernews_bytewax:latest
environment:
- PROTON_HOST=proton
depends_on:
Expand Down
4 changes: 2 additions & 2 deletions examples/jdbc/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always
ports:
- 3218:3218 #http port for JDBC driver, default streaming mode
- 8123:8123 #http port for JDBC driver, default batch mode
# - 8463:8463 #tcp port for go driver or grafana plugin

carsharing_datagen:
image: timeplus/cardemo:latest
image: docker.timeplus.com/timeplus/cardemo:latest
entrypoint: /bin/sh
command: -c "sleep 15 && echo \"$$CONSOLE_CONFIG_FILE\" > /timeplus/sink.yaml; /timeplus/cardemo --config /timeplus/.cardemo.yaml -f /timeplus/sink.yaml"
environment:
Expand Down
2 changes: 1 addition & 1 deletion examples/nginx-grafana/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
proton:
image: ghcr.io/timeplus-io/proton:latest
image: d.timeplus.com/timeplus-io/proton:latest
pull_policy: always
ports:
- 3218:3218 # HTTP Streaming
Expand Down

0 comments on commit 8488d6e

Please sign in to comment.