Update deployment steps

This commit is contained in:
Mark Backman
2025-08-22 23:41:19 -04:00
parent e17fd580c6
commit de4dfc3ed4
7 changed files with 3191 additions and 32 deletions

View File

@@ -23,17 +23,12 @@ jobs:
token: ${{ secrets.QUICKSTART_SYNC_TOKEN }}
path: quickstart-repo
- name: Sync files (excluding READMEs)
- name: Sync files (excluding uv.lock and README.md)
run: |
# Copy code files only, skip READMEs
cp examples/quickstart/bot.py quickstart-repo/
cp examples/quickstart/requirements.txt quickstart-repo/
cp examples/quickstart/env.example quickstart-repo/
# Copy any other files that aren't README.md
# Copy all files except uv.lock and README.md
find examples/quickstart -type f \
-not -name "README.md" \
-not -name "*.md" \
-not -name "uv.lock" \
-exec cp {} quickstart-repo/ \;
- name: Commit and push changes

View File

@@ -1,7 +1,16 @@
FROM dailyco/pipecat-base:latest
COPY ./requirements.txt requirements.txt
# Enable bytecode compilation
ENV UV_COMPILE_BYTECODE=1
RUN pip install --no-cache-dir --upgrade -r requirements.txt
# Copy from the cache instead of linking since it's a mounted volume
ENV UV_LINK_MODE=copy
# Install the project's dependencies using the lockfile and settings
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
uv sync --locked --no-install-project --no-dev
# Copy the application code
COPY ./bot.py bot.py

View File

@@ -10,12 +10,12 @@ Build and deploy your first voice AI bot in under 10 minutes. Develop locally, t
### Prerequisites
### Environment
#### Environment
- Python 3.10 or later
- [uv](https://docs.astral.sh/uv/getting-started/installation/) package manager installed
### AI Service API keys
#### AI Service API keys
You'll need API keys from three services:
@@ -32,13 +32,7 @@ Navigate to the quickstart directory and set up your environment.
1. Install dependencies:
```bash
uv sync --extra webrtc \
--extra daily \
--extra silero \
--extra deepgram \
--extra openai \
--extra cartesia \
--extra runner
uv sync
```
2. Configure your API keys:
@@ -75,11 +69,11 @@ uv run bot.py
Transform your local bot into a production-ready service. Pipecat Cloud handles scaling, monitoring, and global deployment.
[Sign up for Pipecat Cloud](https://pipecat.daily.co/sign-up).
### Prerequisites
1. Install the Pipecat Cloud CLI:
1. [Sign up for Pipecat Cloud](https://pipecat.daily.co/sign-up).
2. Install the Pipecat Cloud CLI:
```bash
uv add pipecatcloud
@@ -87,7 +81,7 @@ Transform your local bot into a production-ready service. Pipecat Cloud handles
> 💡 Tip: You can run the `pipecatcloud` CLI using the `pcc` alias.
2. Set up Docker for building your bot image:
3. Set up Docker for building your bot image:
- **Install [Docker](https://www.docker.com/)** on your system
- **Create a [Docker Hub](https://hub.docker.com/) account**
@@ -99,9 +93,7 @@ Transform your local bot into a production-ready service. Pipecat Cloud handles
### Configure your deployment
#### Understanding pcc-deploy.toml
The `pcc-deploy.toml` file tells Pipecat Cloud how to run your bot. Let's look at what each setting does:
The `pcc-deploy.toml` file tells Pipecat Cloud how to run your bot. **Update the image field** with your Docker Hub username by editing `pcc-deploy.toml`.
```ini
agent_name = "quickstart"
@@ -112,9 +104,7 @@ secret_set = "quickstart-secrets"
min_agents = 1
```
> ✋ **Update the image field** with your Docker Hub username by editing pcc-deploy.toml.
**Key settings:**
**Understanding the TOML file settings:**
- `agent_name`: Your bot's name in Pipecat Cloud
- `image`: The Docker image to deploy (format: `username/image:version`)

View File

@@ -16,7 +16,7 @@ Required AI services:
Run the bot using::
python bot.py
uv run bot.py
"""
import os

View File

@@ -0,0 +1,19 @@
[project]
name = "pipecat-quickstart"
version = "0.1.0"
description = "Quickstart example for building voice AI bots with Pipecat"
requires-python = ">=3.10"
dependencies = [
"pipecat-ai[webrtc,daily,silero,deepgram,openai,cartesia,runner]>=0.0.79",
"pipecatcloud>=0.2.3"
]
[dependency-groups]
dev = [
"ruff~=0.12.1",
]
[tool.ruff]
line-length = 100
[tool.ruff.lint]
select = ["I"]

View File

@@ -1,2 +0,0 @@
pipecat-ai[webrtc,websocket,daily,silero,deepgram,openai,cartesia,runner]>=0.0.77
pipecatcloud>=0.2.1

3148
examples/quickstart/uv.lock generated Normal file

File diff suppressed because it is too large Load Diff