This repository provides a Dockerized setup for running the Apache SeaTunnel Web, including MySQL and SeaTunnel Master services, with shared connectors for seamless integration. Follow the steps below to build, configure, and run the setup.
- Prerequisites
- Setup Overview
- Installation Steps
- Configuration
- Running the Services
- Troubleshooting
- Contributing
- License
Make sure you have the following installed:
- Docker
- Docker Compose
The Docker setup includes:
- SeaTunnel Web: The web UI for managing SeaTunnel pipelines.
- SeaTunnel Master: Manages pipeline execution.
- MySQL: Backend database for SeaTunnel Web.
- Shared Connectors: Volume-based integration for connectors.
Service | Port | Description |
---|---|---|
SeaTunnel Web | 8801 | Web UI |
SeaTunnel Master | 5801 | SeaTunnel cluster master node |
MySQL | 3306 | MySQL database for SeaTunnel Web |
-
Clone the Repository:
bash
Copy code
git clone https://github.com/yourusername/seatunnel-web-docker.git cd seatunnel-web-docker
-
Build Docker Images:
Build the required images, ensuring no cache is used to avoid stale builds:
bash
Copy code
docker-compose build --no-cache
-
Start the Services:
Bring up the services with Docker Compose:
bash
Copy code
docker-compose up
Adjust the following environment variables in the docker-compose.yml
file as needed:
Variable | Default Value | Description |
---|---|---|
SEATUNNEL_MASTER_HOST |
172.16.0.2 |
SeaTunnel Master IP address |
MYSQL_HOST |
172.16.0.200 |
MySQL database host |
MYSQL_PORT |
3306 |
MySQL database port |
MYSQL_DB |
seatunnel |
Database name |
MYSQL_USER |
root |
MySQL username |
MYSQL_PASSWORD |
123456 |
MySQL password |
-
Access SeaTunnel Web:
- Open a browser and navigate to: http://localhost:8080.
-
Connectors:
- Shared connectors are automatically copied from the
shared-connectors
volume to the/app/libs
directory on startup.
- Shared connectors are automatically copied from the
Ensure the shared-connectors
volume is correctly mounted and populated:
bash
Copy code
docker exec -it seatunnel_web ls /shared-connectors
Verify the MYSQL_HOST
and MYSQL_PORT
variables in the docker-compose.yml
file match the MySQL container's IP and port.
If updates are not reflected, clear Docker caches:
bash
Copy code
docker-compose down docker-compose build --no-cache
Ensure the entrypoint.sh
script is executable:
bash
Copy code
chmod +x seatunnel-web/entrypoint.sh
Contributions are welcome! Please fork the repository, make your changes, and submit a pull request.
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.