@@ -36,54 +36,56 @@ name: Docker Image CI
3636
3737on :
3838 push :
39- branches : [ "main" ]
39+ branches : ["main"]
4040
4141jobs :
4242 deploy :
4343 runs-on : ubuntu-latest
4444
4545 steps :
46- - name : Checkout
47- uses : actions/checkout@v4
48-
49- - name : Get date
50- id : date
51- run : echo "date=$(date +'%F')" >> $GITHUB_OUTPUT
52-
53- - name : Set up QEMU
54- uses : docker/setup-qemu-action@v3
55-
56- - name : Login to Docker Hub
57- uses : docker/login-action@v3
58- with :
59- username : ${{ secrets.DOCKERHUB_USERNAME }}
60- password : ${{ secrets.DOCKERHUB_TOKEN }}
61-
62- - name : Build and Push
63- uses : docker/build-push-action@v5
64- with :
65- platforms : linux/arm64
66- context : .
67- push : true
68- tags : |
69- ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:latest
70- ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ steps.date.outputs.date }}
71-
72- - name : Deploy to Pipecat Cloud
73- run : |
74- curl -X POST https://api.pipecat.daily.co/v1/agents/${{ github.event.repository.name }} \
75- -H "Authorization: Bearer ${{ secrets.PCC_API_KEY }}" \
76- -H "Content-Type: application/json" \
77- -d '{
78- "image": "${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ steps.date.outputs.date }}",
79- "imagePullSecretSet": "my-image-pull-secret",
80- "secretSet": "my-secret-set",
81- "enableKrisp": true,
82- "autoScaling": {
83- "minAgents": 0,
84- "maxAgents": 10
85- }
86- }'
46+ - name : Checkout
47+ uses : actions/checkout@v4
48+
49+ - name : Get date
50+ id : date
51+ run : echo "date=$(date +'%F')" >> $GITHUB_OUTPUT
52+
53+ - name : Set up QEMU
54+ uses : docker/setup-qemu-action@v3
55+
56+ - name : Login to Docker Hub
57+ uses : docker/login-action@v3
58+ with :
59+ username : ${{ secrets.DOCKERHUB_USERNAME }}
60+ password : ${{ secrets.DOCKERHUB_TOKEN }}
61+
62+ - name : Build and Push
63+ uses : docker/build-push-action@v5
64+ with :
65+ platforms : linux/arm64
66+ context : .
67+ push : true
68+ tags : |
69+ ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:latest
70+ ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ steps.date.outputs.date }}
71+
72+ - name : Deploy to Pipecat Cloud
73+ run : |
74+ curl -X POST https://api.pipecat.daily.co/v1/agents/${{ github.event.repository.name }} \
75+ -H "Authorization: Bearer ${{ secrets.PCC_API_KEY }}" \
76+ -H "Content-Type: application/json" \
77+ -d '{
78+ "image": "${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ steps.date.outputs.date }}",
79+ "imagePullSecretSet": "my-image-pull-secret",
80+ "secretSet": "my-secret-set",
81+ "krispViva": {
82+ "audioFilter": "tel"
83+ },
84+ "autoScaling": {
85+ "minAgents": 0,
86+ "maxAgents": 10
87+ }
88+ }'
8789` ` `
8890
8991This workflow will:
@@ -132,9 +134,9 @@ name: Docker Image CI
132134
133135on:
134136 push:
135- branches: [ "main" ]
137+ branches: ["main"]
136138 paths:
137- - ' server/**'
139+ - " server/**"
138140
139141jobs:
140142 deploy:
@@ -144,47 +146,49 @@ jobs:
144146 working-directory: ./server
145147
146148 steps:
147- - name: Checkout
148- uses: actions/checkout@v4
149-
150- - name: Get date
151- id: date
152- run: echo "date=$(date +'%F')" >> $GITHUB_OUTPUT
153-
154- - name: Set up QEMU
155- uses: docker/setup-qemu-action@v3
156-
157- - name: Login to Docker Hub
158- uses: docker/login-action@v3
159- with:
160- username: ${{ secrets.DOCKERHUB_USERNAME }}
161- password: ${{ secrets.DOCKERHUB_TOKEN }}
162-
163- - name: Build and Push
164- uses: docker/build-push-action@v5
165- with:
166- platforms: linux/arm64
167- context: ./server
168- push: true
169- tags: |
170- ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:latest
171- ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ steps.date.outputs.date }}
172-
173- - name: Deploy to Pipecat Cloud
174- run: |
175- curl -X POST https://api.pipecat.daily.co/v1/agents/${{ github.event.repository.name }} \
176- -H "Authorization: Bearer ${{ secrets.PCC_API_KEY }}" \
177- -H "Content-Type: application/json" \
178- -d '{
179- "image": "${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ steps.date.outputs.date }}",
180- "imagePullSecretSet": "my-image-pull-secret",
181- "secretSet": "my-secret-set",
182- "enableKrisp": true,
183- "autoScaling": {
184- "minAgents": 0,
185- "maxAgents": 10
186- }
187- }'
149+ - name: Checkout
150+ uses: actions/checkout@v4
151+
152+ - name: Get date
153+ id: date
154+ run: echo "date=$(date +'%F')" >> $GITHUB_OUTPUT
155+
156+ - name: Set up QEMU
157+ uses: docker/setup-qemu-action@v3
158+
159+ - name: Login to Docker Hub
160+ uses: docker/login-action@v3
161+ with:
162+ username: ${{ secrets.DOCKERHUB_USERNAME }}
163+ password: ${{ secrets.DOCKERHUB_TOKEN }}
164+
165+ - name: Build and Push
166+ uses: docker/build-push-action@v5
167+ with:
168+ platforms: linux/arm64
169+ context: ./server
170+ push: true
171+ tags: |
172+ ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:latest
173+ ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ steps.date.outputs.date }}
174+
175+ - name: Deploy to Pipecat Cloud
176+ run: |
177+ curl -X POST https://api.pipecat.daily.co/v1/agents/${{ github.event.repository.name }} \
178+ -H "Authorization: Bearer ${{ secrets.PCC_API_KEY }}" \
179+ -H "Content-Type: application/json" \
180+ -d '{
181+ "image": "${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ steps.date.outputs.date }}",
182+ "imagePullSecretSet": "my-image-pull-secret",
183+ "secretSet": "my-secret-set",
184+ "krispViva": {
185+ "audioFilter": "tel"
186+ },
187+ "autoScaling": {
188+ "minAgents": 0,
189+ "maxAgents": 10
190+ }
191+ }'
188192` ` `
189193
190194The `paths` filter ensures the workflow only runs when files in the `server/` directory change, preventing unnecessary builds.
@@ -206,17 +210,16 @@ To use native ARM runners when available:
206210` ` ` yml
207211jobs:
208212 deploy:
209- runs-on: ubuntu-24.04-arm # Use ARM runner
213+ runs-on: ubuntu-24.04-arm # Use ARM runner
210214
211215 steps:
212- - name: Checkout
213- uses: actions/checkout@v4
216+ - name: Checkout
217+ uses: actions/checkout@v4
214218
215- # Remove the "Set up QEMU" step entirely
216-
217- - name: Login to Docker Hub
218- uses: docker/login-action@v3
219- # ... rest of workflow
219+ # Remove the "Set up QEMU" step entirely
220+ - name: Login to Docker Hub
221+ uses: docker/login-action@v3
222+ # ... rest of workflow
220223` ` `
221224
222225# # Customizing Deployment Configuration
@@ -226,7 +229,7 @@ The deployment step in the workflow configures your agent using the Pipecat Clou
226229- `image` : The Docker image tag to deploy
227230- `imagePullSecretSet` : Reference to your image pull credentials (replace `my-image-pull-secret` with your actual secret name)
228231- `secretSet` : Reference to your environment secrets (replace `my-secret-set` with your actual secret set name)
229- - `enableKrisp ` : Enable or disable Krisp noise suppression
232+ - `krispViva.audioFilter ` : The Krisp VIVA audio filter model to use (replace `tel` with your actual filter model)
230233- `autoScaling.minAgents` : Minimum number of agent instances to maintain
231234- `autoScaling.maxAgents` : Maximum number of agent instances allowed
232235
0 commit comments