pipecat cloud deploy and the CLI handles everything.
Prerequisites
- A Pipecat Cloud account with an active organization
- The Pipecat CLI installed and authenticated (
pipecat cloud auth login) - A Python project using uv, pip, or poetry
Quick start
- Create a
pcc-deploy.tomlin your project root:
- Deploy your agent:
- Create a build context from your project files
- Upload and build your agent image in the cloud
- Deploy the resulting image
Dockerfile requirement
Your project must include aDockerfile. If you don’t have one, see the pipecat-quickstart project for a reference, or use pipecat cloud init to scaffold a new project.
How it works
When you deploy without specifying an image, the CLI runs the following flow:- Dockerfile check — Verifies a
Dockerfileexists in your build context directory. - Build context — Creates a deterministic tarball of your project files, excluding common non-essential files (
.git,.env,__pycache__,.venv, etc.). If a.dockerignorefile exists, it is used for exclusions instead. - Cache check — Computes a content hash of your build context and checks if an identical build already exists. If so, the existing build is reused instantly.
- Upload & build — Uploads the context to cloud storage and triggers a build.
- Deploy — Once the build succeeds, deploys using the resulting image.
Build caching
Cloud builds use deterministic content hashing to enable caching. When you deploy, the CLI:- Collects all files in your build context (respecting exclusions)
- Creates a tarball with deterministic ordering and metadata
- Computes a hash of the tarball contents
Exclusion patterns
The following patterns are excluded from the build context by default:- Version control:
.git,.gitignore,.gitattributes - Python:
__pycache__,.venv,venv,*.pyc,*.pyo,*.pyd,*.so,*.egg-info - Environment and secrets:
.env,.env.*,*.pem,*.key - Testing:
.pytest_cache,.coverage,htmlcov,.tox,.nox - Type checking / linting:
.mypy_cache,.ruff_cache - IDE:
.vscode,.idea,*.swp,*.swo - OS:
.DS_Store,Thumbs.db - Build artifacts:
node_modules,dist,build - Misc:
*.log
pcc-deploy.toml:
CI/CD usage
Use the--yes flag to skip all confirmation prompts, making cloud builds suitable for automated pipelines:
- Automatically trigger a cloud build if no image is specified
- Fail with an error if no Dockerfile is found in the build context
GitHub Actions example
For more comprehensive CI/CD setup including image tagging and monorepo support, see the CI with GitHub Actions guide.
Build management
Monitor and manage your builds using thepipecat cloud build commands:
Redeploying a previous build
If you need to redeploy a previously built image, use--build-id to skip the build step:
pcc-deploy.toml:
Configuration reference
All cloud build settings inpcc-deploy.toml: