Skip to content

Commit 831cfc4

Browse files
committed
Migrate to Sequin
1 parent f8e52a8 commit 831cfc4

13 files changed

Lines changed: 877 additions & 714 deletions

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
lib/
2+
sequin-start-local

README.md

Lines changed: 49 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
1-
# 🚀 Try Elasticsearch and Kibana locally
1+
# 🚀 Try Sequin locally
22

3-
Run Elasticsearch and Kibana on your local machine using a simple shell script. This setup uses [Docker](https://www.docker.com/) behind the scenes to install and run the services.
3+
Run Sequin and its supporting services on your local machine using a simple shell script. This setup uses [Docker](https://www.docker.com/) behind the scenes to install and run the services.
44

55
> [!IMPORTANT]
66
> This script is for local testing only. Do not use it in production!
7-
> For production installations refer to the official documentation for [Elasticsearch](https://www.elastic.co/downloads/elasticsearch) and [Kibana](https://www.elastic.co/downloads/kibana).
7+
> For production installations refer to the [official Sequin documentation](https://sequinstream.com/docs).
88
99
## 🌟 Features
1010

11-
This script comes with a one-month trial license.
12-
After the trial period, the license reverts to [Free and open - Basic](https://www.elastic.co/subscriptions).
11+
This script sets up a complete Sequin environment for local development and testing:
1312

14-
- **Trial**: Includes **All** features like the [Playground](https://www.elastic.co/docs/current/serverless/elasticsearch/playground), [ELSER](https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-elser.html), [semantic retrieval model](https://www.elastic.co/guide/en/machine-learning/8.15/ml-nlp-text-emb-vector-search-example.html), the [Elastic Inference API](https://www.elastic.co/guide/en/elasticsearch/reference/current/inference-apis.html) and much more.
15-
- **Free and open - Basic**: Includes features like [vector search](https://www.elastic.co/what-is/vector-search), [ES|QL](https://www.elastic.co/guide/en/elasticsearch/reference/current/esql.html) and much more.
16-
17-
For a complete list of subscriptions and features, see our [subscriptions page](https://www.elastic.co/subscriptions).
13+
- **Sequin**: The main Sequin application
14+
- **PostgreSQL**: Database for Sequin's internal use and sample data
15+
- **Redis**: For caching and message processing
16+
- **Prometheus**: For metrics collection (optional)
17+
- **Grafana**: For metrics visualization with pre-configured dashboards (optional)
1818

1919
## 💻 System requirements
2020

21-
- 5 GB of available disk space
2221
- [Docker](https://www.docker.com/)
23-
- Works on Linux and macOS
24-
- On Microsoft Windows it works using [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install)
22+
- Works on Linux, macOS, and Windows with [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install)
2523

2624
## 🏃‍♀️‍➡️ Getting started
2725

@@ -30,97 +28,82 @@ For a complete list of subscriptions and features, see our [subscriptions page](
3028
Run the `start-local` script using [curl](https://curl.se/):
3129

3230
```bash
33-
curl -fsSL https://elastic.co/start-local | sh
31+
curl -fsSL https://sequinstream.com/start-local | sh
3432
```
3533

36-
This script creates an `elastic-start-local` folder containing:
34+
This script creates a `sequin-start-local` folder containing:
3735

38-
- `docker-compose.yml`: Docker Compose configuration for Elasticsearch and Kibana
39-
- `.env`: Environment settings, including the Elasticsearch password
40-
- `start.sh` and `stop.sh`: Scripts to start and stop Elasticsearch and Kibana
41-
- `uninstall.sh`: The script to uninstall Elasticsearch and Kibana
36+
- `docker-compose.yml`: Docker Compose configuration for Sequin and its supporting services
37+
- `.env`: Environment settings, including database passwords
38+
- `start.sh` and `stop.sh`: Scripts to start and stop the Sequin services
39+
- `uninstall.sh`: The script to uninstall Sequin and its services
4240

4341
### Select the version to install
4442

45-
By default, `start-local` uses the latest stable version of Elastic Stack. If you want, you can specify
46-
a different version using the `-v` parameter, as follows:
43+
By default, `start-local` uses the latest version of Sequin. If you want, you can specify a different version using the `-v` parameter, as follows:
4744

4845
```bash
49-
curl -fsSL https://elastic.co/start-local | sh -s -- -v 8.16.0
46+
curl -fsSL https://sequinstream.com/start-local | sh -s -- -v 0.6.107
5047
```
5148

52-
The previous command installs Elasticsearch and Kibana `8.16.0`.
49+
### Install without Prometheus and Grafana
5350

54-
Using the `-v` parameter, you can also install beta releases, this can be useful for testing an
55-
upcoming release. For instance, you can install the `9.0.0-beta1` using the following
56-
command:
51+
If you want to install only the core services (Sequin, PostgreSQL, and Redis) without Prometheus and Grafana, you can use the `-minimal` option as follows:
5752

5853
```bash
59-
curl -fsSL https://elastic.co/start-local | sh -s -- -v 9.0.0-beta1
54+
curl -fsSL https://sequin.io/start-local | sh -s -- -minimal
6055
```
6156

62-
The `9.0.0-beta1` version was released on February 18, 2025.
63-
64-
### Install only Elasticsearch
57+
### Install without the playground database
6558

66-
If you want to install only Elasticsearch, without Kibana, you can use the `-esonly` option
67-
as follows:
59+
If you want to install without the sample playground database, you can use the `-noplayground` option:
6860

6961
```bash
70-
curl -fsSL https://elastic.co/start-local | sh -s -- -esonly
62+
curl -fsSL https://sequin.io/start-local | sh -s -- -noplayground
7163
```
7264

73-
This command can be useful if you don't have enough resources and want to test only Elasticsearch.
74-
7565
### 🌐 Endpoints
7666

7767
After running the script:
7868

79-
- Elasticsearch will be running at <http://localhost:9200>
80-
- Kibana will be running at <http://localhost:5601>
81-
82-
The script generates a random password for the `elastic` user, displayed at the end of the installation and stored in the `.env` file.
83-
84-
> [!CAUTION]
85-
> HTTPS is disabled, and Basic authentication is used for Elasticsearch. This configuration is for local testing only. For security, Elasticsearch and Kibana are accessible only via `localhost`.
69+
- Sequin will be running at <http://localhost:7376>
70+
- PostgreSQL will be accessible at `localhost:7377`
71+
- Redis will be accessible at `localhost:7378`
72+
- Prometheus will be running at <http://localhost:9090> (if installed)
73+
- Grafana will be running at <http://localhost:3000> (if installed)
8674

87-
### 🔑 API key
75+
The default admin user credentials are:
8876

89-
An API key for Elasticsearch is generated and stored in the `.env` file as `ES_LOCAL_API_KEY`. Use this key to connect to Elasticsearch with the [Elastic SDK](https://www.elastic.co/guide/en/elasticsearch/client) or [REST API](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html).
77+
- Email: `admin@sequinstream.com`
78+
- Password: `sequinpassword!`
9079

91-
Check the connection to Elasticsearch using `curl` in the `elastic-start-local` folder:
92-
93-
```bash
94-
source .env
95-
curl $ES_LOCAL_URL -H "Authorization: ApiKey ${ES_LOCAL_API_KEY}"
96-
```
80+
> [!CAUTION]
81+
> This configuration is for local testing only. For security, services are accessible only via `localhost`.
9782
9883
## 🐳 Start and stop the services
9984

100-
You can use the `start` and `stop` commands available in the `elastic-start-local` folder.
85+
You can use the `start` and `stop` commands available in the `sequin-start-local` folder.
10186

102-
To **stop** the Elasticsearch and Kibana Docker services, use the `stop` command:
87+
To **stop** the Sequin Docker services, use the `stop` command:
10388

10489
```bash
105-
cd elastic-start-local
90+
cd sequin-start-local
10691
./stop.sh
10792
```
10893

109-
To **start** the Elasticsearch and Kibana Docker services, use the `start` command:
94+
To **start** the Sequin Docker services, use the `start` command:
11095

11196
```bash
112-
cd elastic-start-local
97+
cd sequin-start-local
11398
./start.sh
11499
```
115100

116-
[Docker Compose](https://docs.docker.com/reference/cli/docker/compose/).
117-
118101
## 🗑️ Uninstallation
119102

120103
To remove the `start-local` installation:
121104

122105
```bash
123-
cd elastic-start-local
106+
cd sequin-start-local
124107
./uninstall.sh
125108
```
126109

@@ -129,30 +112,25 @@ cd elastic-start-local
129112
130113
## 📝 Logging
131114

132-
If the installation fails, an error log is created in `error-start-local.log`. This file contains logs from Elasticsearch and Kibana, captured using the [docker logs](https://docs.docker.com/reference/cli/docker/container/logs/) command.
115+
If the installation fails, an error log is created in `error-start-local.log`. This file contains logs from the services, captured using the [docker logs](https://docs.docker.com/reference/cli/docker/container/logs/) command.
133116

134117
## ⚙️ Customizing settings
135118

136-
To change settings (e.g., Elasticsearch password), edit the `.env` file. Example contents:
119+
To change settings, edit the `.env` file. Example contents:
137120

138121
```bash
139-
ES_LOCAL_VERSION=8.15.2
140-
ES_LOCAL_URL=http://localhost:9200
141-
ES_LOCAL_CONTAINER_NAME=es-local-dev
142-
ES_LOCAL_DOCKER_NETWORK=elastic-net
143-
ES_LOCAL_PASSWORD=hOalVFrN
144-
ES_LOCAL_PORT=9200
145-
KIBANA_LOCAL_CONTAINER_NAME=kibana-local-dev
146-
KIBANA_LOCAL_PORT=5601
147-
KIBANA_LOCAL_PASSWORD=YJFbhLJL
148-
ES_LOCAL_API_KEY=df34grtk...==
122+
SEQUIN_VERSION=latest
123+
SEQUIN_CONTAINER_NAME=sequin-local-dev
124+
PG_CONTAINER_NAME=postgres-local-dev
125+
PG_PASSWORD=postgres
126+
REDIS_CONTAINER_NAME=redis-local-dev
149127
```
150128

151129
> [!IMPORTANT]
152130
> After changing the `.env` file, restart the services using `stop` and `start`:
153131
>
154132
> ```bash
155-
> cd elastic-start-local
133+
> cd sequin-start-local
156134
> ./stop.sh
157135
> ./start.sh
158136
> ```
@@ -175,7 +153,7 @@ We use [bashunit](https://bashunit.typeddevs.com/) to test the script. Tests are
175153
lib/bashunit
176154
```
177155

178-
The tests run `start-local.sh` and check if Elasticsearch and Kibana are working.
156+
The tests run `start-local.sh` and check if Sequin and its services are working.
179157

180158
> [!NOTE]
181159
> For URL pipeline testing, a local web server is used. This requires [PHP](https://www.php.net/).

0 commit comments

Comments
 (0)