Docker services for testing with cloud storage emulators.
# From project root
docker compose -f .dev/docker-compose.yml up -d
# Or change directory
cd .dev
docker compose up -ddocker compose -f .dev/docker-compose.yml downdocker compose -f .dev/docker-compose.yml down -v| Service | Port | Description |
|---|---|---|
| Nginx Proxy | 8081 | |
| GCS Emulator | 4443 | Google Cloud Storage emulator |
| MinIO S3 | 9000 | S3 API emulator |
| MinIO Console | 9001 | minio web console |
- Access Key:
minioadmin - Secret Key:
minioadmin
The @uploadx/gcs library requires real credentials even when using the emulator:
- Open Google Cloud Console
- Select or create a project
- Go to IAM & Admin → Service Accounts
- Create a service account with Storage Object Admin role
- Create a JSON key and save it
Set in .dev/.env:
GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
GCS_BUCKET=my-bucketnginx.conf configures reverse proxy with CORS support (see comments in file):
/gcs/→ GCS Emulator (port 4443)/minio/→ MinIO S3 (port 9000)
On startup, the following buckets are created automatically:
- GCS bucket:
my-bucket - MinIO bucket:
my-bucket
Customize bucket names in .dev/.env:
GCS_BUCKET=my-bucket
S3_BUCKET=my-bucketExamples in examples/ use configuration from .env file.
docker compose -f .dev/docker-compose.yml logs -f