Skip to Content
InstallationSelf HostLocal Docker

GlassFlow on Docker

GlassFlow is designed to run locally using Docker and docker-compose. The GitHub repository is shipped with a pre-configured docker-compose file that sets up all necessary components.

Prerequisites

Before you begin, ensure you have the following installed on your system:

Quick Installation

  1. Clone the repository:
git clone https://github.com/glassflow/clickhouse-etl.git cd clickhouse-etl
  1. Start the services using Docker Compose:
docker compose up
  1. Follow the logs in real-time for all containers:
docker compose logs -f

Verify the Installation

  1. Ensure that your containers are running correctly. To view the status of your containers, run the following command:
docker compose ps

The output should look like this:

NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS clickhouse-etl-app-1 glassflow/clickhouse-etl-be:stable "/sbin/tini -- /usr/…" app 3 minutes ago Up 3 minutes clickhouse-etl-nats-1 nats:alpine "docker-entrypoint.s…" nats 3 weeks ago Up 3 minutes 6222/tcp, 0.0.0.0:4222->4222/tcp, 8222/tcp clickhouse-etl-nginx-1 nginx:1.27-alpine "/docker-entrypoint.…" nginx 3 weeks ago Up 3 minutes 80/tcp, 0.0.0.0:8080->8080/tcp clickhouse-etl-ui-1 glassflow/clickhouse-etl-fe:stable "docker-entrypoint.s…" ui 3 minutes ago Up 3 minutes 8080/tcp

For details about the Docker components that are running, see the System Components page.

  1. Verify that the web interface is accessible at http://localhost:8080. In case you do not see the web interface, please ensure that the containers are in running state and no other services are using the port 8080. If needed, you can modify the ports in docker-compose.yaml file.

Creating a Pipeline

Access the web interface at http://localhost:8080 to configure the pipeline. For detailed instructions on setting up your first pipeline, see the Usage Guide.

Stopping the Services

To stop all services:

docker compose down

To stop services and remove volumes:

docker compose down -v

Troubleshooting

Common Issues

  1. Port Conflicts

    • Ensure ports 8080 and 4222 are not in use by other applications
    • You can modify the ports in docker-compose.yaml if needed
  2. Container Startup Issues

    • Check container logs: docker compose logs [service-name]
      • docker compose logs app for the backend app
      • docker compose logs ui for the UI
    • Ensure all required ports are accessible
    • Verify Docker has enough resources allocated
  3. UI Not Accessible

    • Verify all containers are running: docker compose ps
    • Check Nginx logs: docker compose logs nginx
    • Ensure you’re accessing the correct URL: http://localhost:8080

Getting Help

If you encounter any issues during installation:

Last updated on