-
Notifications
You must be signed in to change notification settings - Fork 120
Installing Apache Texera using Docker
This document describes how to set up and run Texera on a single machine using "Docker Compose".
Before starting, make sure your computer meets the following requirements:
| Resource Type | Minimum | Recommended |
|---|---|---|
| CPU Cores | 2 | 8 |
| Memory | 4GB | 16GB |
| Disk Space | 20GB | 50GB |
You also need to install and launch Docker Desktop on your computer. Choose the right installation link for your computer:
| Operating System | Installation Link |
|---|---|
| macOS | Docker Desktop for Mac |
| Windows | Docker Desktop for Windows |
| Linux | Docker Desktop for Linux |
After installing and launching Docker Desktop, verify that Docker and Docker Compose are available by running the following commands from the command line:
docker --version
docker compose versionYou should see output messages like the following (your versions may be different):
$ docker --version
Docker version 27.5.1, build 9f9e405
$ docker compose version
Docker Compose version v2.23.0-desktop.1
By default, Texera services require ports 8080 and 9000 to be free. If either port is already in use, the services will fail to start.
On macOS or Linux, run the following commands to check:
lsof -i :8080
lsof -i :9000
If either command produces output, that port is occupied by another process. You will need to either stop that process or change Texera's port configuration. See Advanced Settings > Run Texera on other ports for instructions.
Download by clicking here and extract it.
Enter the extracted directory and run the following command to start Texera:
docker compose --profile examples upThis command will start docker containers that host the Texera services, and pre-create two example workflows and datasets.
If you don't want to have these examples pre-created, run the following command instead:
docker compose upIf you see the error message like
unable to get image 'nginx:alpine': Cannot connect to the Docker daemon at unix:///Users/kunwoopark/.docker/run/docker.sock. Is the docker daemon running?, please make sure Docker Desktop is installed and running
When you start Texera for the first time, it will take around 5 minutes to download needed images.
The system should be ready around 1.5 minutes. After seeing the following startup message:
...
=========================================
Texera has started successfully!
Access at: http://localhost:8080
=========================================
...
you can open the browser and navigate to the URL shown in the message.
Input the default account texera with password texera, and then click on the Sign In button to login:

Press Ctrl+C in the terminal to stop Texera.
If you already closed the terminal, you can go to the installation folder and run:
docker compose stopto stop Texera.
Same as the way you launch Texera.
To remove Texera and all its data, go to the installation folder and run:
docker compose down -v
⚠️ Warning: This will permanently delete all the data used by Texera.
Before making any of the changes below, please stop Texera first. Once you finish the changes, restart Texera to apply them.
All changes below are to the .env file in the installation folder, unless otherwise noted.
By default, Texera uses:
- Port 8080 for its web service
- Port 9000 for its MinIO storage service
To change these ports, open the .env file and update the corresponding variables:
- For the web service port (8080): change
TEXERA_PORT=8080to your desired port, e.g.,TEXERA_PORT=8081. - For the MinIO port (9000): change
MINIO_PORT=9000to your desired port, e.g.,MINIO_PORT=9001.
By default, Docker manages Texera's data locations. To change them to your own locations:
- Find the
persistent volumessection. For each data volume you want to specify, add the following configuration:
volume_name:
driver: local
driver_opts:
type: none
o: bind
device: /path/to/your/local/folderFor example, to change the folder of storing workflow_result_data to /Users/johndoe/texera/data, add the following:
workflow_result_data:
driver: local
driver_opts:
type: none
o: bind
device: /Users/johndoe/texera/dataIf you already launched texera and want to change the data locations, existing data volumes need to be recreated and override in the next boot-up, i.e. select y when running docker compose up again:
$ docker compose up
? Volume "texera-single-node-release-1-1-0_workflow_result_data" exists but doesn't match configuration in compose file. Recreate (data will be lost)? (y/N)
y // answer y to this prompt
If Texera fails to start, a common cause is that ports 8080 or 9000 are already in use by another application. Check which ports are occupied:
lsof -i :8080
lsof -i :9000
Stop the conflicting process, or change Texera's ports following the instructions in Advanced Settings > Run Texera on other ports.
PostgreSQL only runs the database initialization scripts on first startup (when its data volume is empty). If you previously started Texera and then ran docker compose down (without -v), the data volume still exists. On the next docker compose up, the initialization is skipped, which can cause services like lakeFS to fail because their required databases were never created.
To resolve this, remove all existing volumes and start fresh:
docker compose down -v
docker compose up
⚠️ Warning:docker compose down -vpermanently deletes all Texera data.
Copyright © 2025 The Apache Software Foundation.
Getting Started
Implementing an Operator
- Step 2 - Guide to Implement a Java Native Operator
- Step 3 - Guide to Use a Python UDF
- Step 4 - Guide to Implement a Python Native Operator
Contributing to the Project