Update deployment steps
This commit is contained in:
11
.github/workflows/sync-quickstart.yaml
vendored
11
.github/workflows/sync-quickstart.yaml
vendored
@@ -23,17 +23,12 @@ jobs:
|
|||||||
token: ${{ secrets.QUICKSTART_SYNC_TOKEN }}
|
token: ${{ secrets.QUICKSTART_SYNC_TOKEN }}
|
||||||
path: quickstart-repo
|
path: quickstart-repo
|
||||||
|
|
||||||
- name: Sync files (excluding READMEs)
|
- name: Sync files (excluding uv.lock and README.md)
|
||||||
run: |
|
run: |
|
||||||
# Copy code files only, skip READMEs
|
# Copy all files except uv.lock and README.md
|
||||||
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
|
|
||||||
find examples/quickstart -type f \
|
find examples/quickstart -type f \
|
||||||
-not -name "README.md" \
|
-not -name "README.md" \
|
||||||
-not -name "*.md" \
|
-not -name "uv.lock" \
|
||||||
-exec cp {} quickstart-repo/ \;
|
-exec cp {} quickstart-repo/ \;
|
||||||
|
|
||||||
- name: Commit and push changes
|
- name: Commit and push changes
|
||||||
|
|||||||
@@ -1,7 +1,16 @@
|
|||||||
FROM dailyco/pipecat-base:latest
|
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
|
COPY ./bot.py bot.py
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ Build and deploy your first voice AI bot in under 10 minutes. Develop locally, t
|
|||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
### Environment
|
#### Environment
|
||||||
|
|
||||||
- Python 3.10 or later
|
- Python 3.10 or later
|
||||||
- [uv](https://docs.astral.sh/uv/getting-started/installation/) package manager installed
|
- [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:
|
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:
|
1. Install dependencies:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
uv sync --extra webrtc \
|
uv sync
|
||||||
--extra daily \
|
|
||||||
--extra silero \
|
|
||||||
--extra deepgram \
|
|
||||||
--extra openai \
|
|
||||||
--extra cartesia \
|
|
||||||
--extra runner
|
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Configure your API keys:
|
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.
|
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
|
### 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
|
```bash
|
||||||
uv add pipecatcloud
|
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.
|
> 💡 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
|
- **Install [Docker](https://www.docker.com/)** on your system
|
||||||
- **Create a [Docker Hub](https://hub.docker.com/) account**
|
- **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
|
### Configure your deployment
|
||||||
|
|
||||||
#### Understanding pcc-deploy.toml
|
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`.
|
||||||
|
|
||||||
The `pcc-deploy.toml` file tells Pipecat Cloud how to run your bot. Let's look at what each setting does:
|
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
agent_name = "quickstart"
|
agent_name = "quickstart"
|
||||||
@@ -112,9 +104,7 @@ secret_set = "quickstart-secrets"
|
|||||||
min_agents = 1
|
min_agents = 1
|
||||||
```
|
```
|
||||||
|
|
||||||
> ✋ **Update the image field** with your Docker Hub username by editing pcc-deploy.toml.
|
**Understanding the TOML file settings:**
|
||||||
|
|
||||||
**Key settings:**
|
|
||||||
|
|
||||||
- `agent_name`: Your bot's name in Pipecat Cloud
|
- `agent_name`: Your bot's name in Pipecat Cloud
|
||||||
- `image`: The Docker image to deploy (format: `username/image:version`)
|
- `image`: The Docker image to deploy (format: `username/image:version`)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ Required AI services:
|
|||||||
|
|
||||||
Run the bot using::
|
Run the bot using::
|
||||||
|
|
||||||
python bot.py
|
uv run bot.py
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|||||||
19
examples/quickstart/pyproject.toml
Normal file
19
examples/quickstart/pyproject.toml
Normal 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"]
|
||||||
@@ -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
3148
examples/quickstart/uv.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user