Agent skill
how-to-deploy-pocketbase-to-cloud-run
Learn how to deploy PocketBase on Google Cloud Run using the new volume mounting feature, enabling scale-to-zero, infinite storage, and easy backups.
Install this agent skill to your Project
npx add-skill https://github.com/rodydavis/skills/tree/main/skills/pocketbase-cloudrun
Metadata
Additional technical details for this skill
- last modified
- Tue, 03 Feb 2026 20:04:35 GMT
SKILL.md
How to Deploy PocketBase to Cloud Run
It is now possible to run PocketBase on Google CloudRun because of the recent support for mounting volumes. This is a guide on how to deploy PocketBase on Google Cloud Run.
Features
- Scale to zero
- Infinite storage (and file deletion protection, file versions, and multi region)
pb_data/pb_public/pb_hooksall in the same file system- Backups can be done either by PocketBase or by protecting the bucket
Prerequisites
- Google Cloud project
- Google Cloud Storage bucket
Getting Started
Fork this repository or click "Use this template" to create your own repository.
Steps
Create a new service
Google Cloud Build
- Setup with Cloud Build
- Repository Provider:
GitHub - Select Repository:
THIS_REPOSITORY_FORK
- Repository Provider:
- Branch:
main - Build Configuration:
Dockerfile
General Settings
- Allow unauthenticated invocations
- CPU is only allocated when the service is handling requests
- Maximum number of requests per container is set to
1000 - Maximum number of containers is set to
1 - Timeout is set to
3600 - Ingress is set to internal and
alltraffic
Container(s), Volumes, Networking, Security
Volumes
- Add volume
- Volume type:
Google Storage bucket - Volume name:
remote-storage (or any name you want) - Bucket:
YOUR_BUCKET_NAME - Read-only:
false
- Volume type:
Container(s)
- Startup CPU boost is
enabled - Volume mount (s)
- Volume name:
remote-storage - Mount path:
/cloud/storage
- Volume name:
Add Health Checks
You can add a health check to your service that uses Pocketbase's health check endpoint /api/health.
Deploy and Wait
Now create the service and wait for the cloud build to finish.
If everything goes well, you should see the service deployed.
FAQ
What if I have local files that I want to use?
pb_data, pb_public, and pb_hooks are all directories you might use during development.
You can upload these directories to your Google Cloud Storage bucket you created earlier to the root directory.
Can I use a custom domain?
Yes, you can use a custom domain. You can follow the guide on the official documentation.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
how-to-do-offline-recommendations-with-sqlite-and-gemini
Learn how to enhance your CMS like PocketBase with AI-powered content recommendations using text embeddings, SQLite, and k-nearest neighbor search for efficient and scalable related content suggestions.
how-to-build-a-webrtc-signal-server-with-pocketbase
Learn how to build a simple WebRTC video call application using PocketBase as a signaling server, enabling peer-to-peer communication with SQLite on the server and realtime updates via Server Sent Events.
flutter-terminal-cheat-sheet
This post provides a handy collection of Flutter commands and scripts for web development, package creation, troubleshooting, testing, and more, streamlining your Flutter workflow.
how-to-print-multiple-objects-to-the-console-with-print-in-dart
Learn how to print multiple objects to the console in Dart using Records, offering a similar experience to JavaScript's `console.log()` functionality.
flutter-input-output-preview
Build responsive Flutter apps with a reusable `TwoPane` widget and an `InputOutputPreview` component for side-by-side code and preview display on both mobile and desktop.
displaying-html-in-flutter
Easily display and interact with HTML content in your Flutter app using the `easy_web_view` package, which supports both web and mobile platforms.
Didn't find tool you were looking for?