Docker Containers
By default, turbo-kit includes the following docker containers for local development:
- PostgreSQL - Relational database
- PgAdmin - PostgreSQL web client
- Redis - In-memory cache
- Serverless Redis HTTP - Upstash-compatible Redis HTTP interface
- Mailpit - Email testing server
- Minio - S3-compatible object storage
All services are configured with health checks and run on the dev-net network.
PostgreSQL
PostgreSQL is the primary database for turbo-kit. It runs on postgres:16-alpine.
Connection Details:
- Host:
localhost - Port:
5432 - Database:
appdb - Username:
dev - Password:
devpass
Connection String:
postgresql://dev:devpass@localhost:5432/appdb
Data Persistence:
Database files are stored in ./docker/postgres/data for persistence across container restarts.
PgAdmin
PgAdmin is a web-based PostgreSQL administration tool that allows you to manage your database through a GUI.
Access Details:
- URL: http://localhost:5050
- Email:
admin@localhost.com - Password:
admin
The PostgreSQL server is pre-configured in PgAdmin via the servers.json file, so you can start querying immediately after logging in.
Redis
Redis is the caching solution for turbo-kit. It provides fast in-memory data storage for sessions, caching, and real-time features.
Connection Details:
- Host:
localhost - Port:
6379
Connection String:
redis://localhost:6379
Serverless Redis HTTP
A lightweight HTTP server that provides REST API compatibility with Upstash Redis. This allows you to use the Upstash Redis client locally for development.
Access Details:
- URL: http://localhost:8079
- Token:
dev_token
Usage Example:
import { Redis } from '@upstash/redis'
const redis = new Redis({
url: 'http://localhost:8079',
token: 'dev_token',
})Learn more at serverless-redis-http.
Mailpit
Mailpit is a local email testing server that captures all outgoing emails during development. It provides a web interface to view and debug emails without sending them to real recipients.
Access Details:
- Web UI: http://localhost:8025
- SMTP Host:
localhost - SMTP Port:
1025
SMTP Configuration:
SMTP_HOST=localhost
SMTP_PORT=1025
SMTP_USER= # (not required)
SMTP_PASSWORD= # (not required)
All emails sent to the SMTP server will appear in the web interface for easy testing and debugging.
Minio
Minio is an S3-compatible object storage server that allows you to develop and test file uploads locally without using AWS S3.
Access Details:
- S3 API Endpoint: http://localhost:9000
- Web Console: http://localhost:9001
- Access Key:
minioadmin - Secret Key:
minioadmin123
Pre-configured Bucket:
A bucket named dev-bucket is automatically created with public read access on startup.
Usage Example:
import { S3Client } from '@aws-sdk/client-s3'
const s3Client = new S3Client({
endpoint: 'http://localhost:9000',
region: 'us-east-1',
credentials: {
accessKeyId: 'minioadmin',
secretAccessKey: 'minioadmin123',
},
forcePathStyle: true, // Required for Minio
})You can access the web console to browse files, create buckets, and manage storage policies.