A Docker Compose setup with PostgreSQL, Valkey (Redis), and Redpanda (Kafka) including lightweight web UIs for easy management.
./start.shSee GETTING_STARTED.md for detailed usage instructions and code examples.
- PostgreSQL 17 - Relational database (port 5432)
- Valkey 8.0 - Redis-compatible in-memory store (port 6379)
- Redpanda - Kafka-compatible streaming platform (port 19092)
- pgweb - PostgreSQL web interface (http://localhost:15080)
- Redis Commander - Valkey/Redis web interface (http://localhost:15081)
- Redpanda Console - Kafka management UI (http://localhost:15082)
- dbmate - Database migration tool (see GETTING_STARTED.md for usage)
- Migrations stored in
./migrationsdirectory - Example migration included in
./migrations/.gitkeep - Note: We recommend letting your application handle migrations, but dbmate is provided to help you get started
Copy .env.example to .env to customize:
cp .env.example .envEdit .env to change ports, versions, or credentials.
# Start services
docker compose up -d
# Stop services
docker compose down
# View logs
docker compose logs -f
# View specific service logs
docker compose logs -f postgresUncomment and customize the myapp service in docker-compose.yml to add your own application with automatic connection to all services.
All data is stored in Docker named volumes:
postgres_data- PostgreSQL datavalkey_data- Valkey dataredpanda_data- Redpanda data
To remove all data: docker compose down -v
See the output of ./start.sh for Go and C# connection examples including:
- Database queries
- Key-value operations
- Message publishing/subscribing