A simplified Docker Compose setup for running Temporal locally for development purposes.
This Docker Compose setup includes the following services:
- PostgreSQL Database (
temporal-postgresql
) - Database backend for Temporal - Temporal Server (
temporal
) - Core Temporal service with auto-setup - Temporal Admin Tools (
temporal-admin-tools
) - Command-line tools for Temporal administration - Temporal Web UI (
temporal-ui
) - Web interface for monitoring workflows and activities
-
Clone this repository
git clone https://github.com/w95/temporal-docker-compose.git cd temporal-docker-compose
-
Start the services
docker-compose up -d
-
Access the Temporal Web UI Open your browser and navigate to http://localhost:8080
-
Verify the setup Check that all services are running:
docker-compose ps
- Port: 5432
- Database: temporal
- Username: temporal
- Password: temporal
- Port: 7233 (gRPC endpoint)
- Version: 1.28.0
- Auto-setup: Enabled (automatically initializes the database schema)
- Port: 8080
- URL: http://localhost:8080
- Version: 2.34.0
- Interactive container with Temporal CLI tools
- Access via:
docker exec -it temporal-admin-tools bash
The setup uses a custom dynamic configuration file located at temporal/development-sql.yaml
. This file contains development-specific settings:
- Increased max ID length limit (255 characters)
- Forced search attributes cache refresh (development only)
docker-compose up -d
docker-compose down
# All services
docker-compose logs -f
# Specific service
docker-compose logs -f temporal
docker exec -it temporal-admin-tools bash
docker exec -it temporal-postgresql psql -U temporal -d temporal
Once the services are running, you can connect your Temporal client applications to:
- Temporal Server:
localhost:7233
- Web UI:
http://localhost:8080
- Fork the repository
- Create a feature branch
- Make your changes
- Test the changes locally
- Submit a pull request