+
+
diff --git a/packages/dashboard/src/routes/(static)/blog/custom-domains-automation/+page.md b/packages/dashboard/src/routes/(static)/blog/custom-domains-automation/+page.md
new file mode 100644
index 00000000..6b6587c0
--- /dev/null
+++ b/packages/dashboard/src/routes/(static)/blog/custom-domains-automation/+page.md
@@ -0,0 +1,5 @@
+## Automated Custom Domains with Cloudflare
+
+_[@cap'n](https://discord.gg/nVTxCMEcGT) Jul 19, 2025_
+
+Custom domains are out of beta and now fully automated. No more having to check with me to get custom domains approved. We're using Cloudflare's `HTTP validation` which typically takes seconds to provision and verify a custom domain. All you have to do is add a CNAME entry on your side.
diff --git a/packages/dashboard/src/routes/(static)/blog/mothership-mirror-service/+page.md b/packages/dashboard/src/routes/(static)/blog/mothership-mirror-service/+page.md
new file mode 100644
index 00000000..0d9408e1
--- /dev/null
+++ b/packages/dashboard/src/routes/(static)/blog/mothership-mirror-service/+page.md
@@ -0,0 +1,9 @@
+## Enhanced Data Synchronization with MothershipMirrorService
+
+_[@cap'n](https://discord.gg/nVTxCMEcGT) Jul 21, 2025_
+
+PocketHost now has a `Mothership Mirror Service` that runs on the edge. It grabs all the instance and user records and caches them in memory. Then, it uses PocketBase's realtime SSE feature (live link to Mothership) to receive updates.
+
+The result is that PocketHost edges now stay completely up to date with the Mothership without having to make any queries to it. This improves performance significantly because lookups happen locally in memory.
+
+This improvement also positions us to begin adding more edge nodes, allowing PocketHost to expand beyond a single VPS.
diff --git a/packages/dashboard/src/routes/(static)/blog/pockethost-2-3-0-release/+page.md b/packages/dashboard/src/routes/(static)/blog/pockethost-2-3-0-release/+page.md
new file mode 100644
index 00000000..799513fc
--- /dev/null
+++ b/packages/dashboard/src/routes/(static)/blog/pockethost-2-3-0-release/+page.md
@@ -0,0 +1,24 @@
+## PocketHost 2.3.0
+
+_[@cap'n](https://discord.gg/nVTxCMEcGT) Jul 22, 2025_
+
+### Minor Changes
+
+- b03fa83: Add blog functionality with dynamic promo banner integration and content management features
+- b03fa83: Implement automated custom domains with Cloudflare integration and multiple domain support per instance
+- b03fa83: Enhance dashboard UI with improved layout constraints, instance title cosmetics, user subscription logging, and subdomain text truncation
+- b03fa83: Add MothershipMirrorService with event handlers for improved data synchronization
+- b03fa83: Add subscription quantity management, billing integration improvements, and enhanced user account controls with suspension support
+- b03fa83: Add webhooks support to PocketHost for scheduled and event-driven operations
+
+### Patch Changes
+
+- 60307e6: Add db migration support for multiple custom domains per instance
+- b03fa83: Fix various issues including empty instance name validation, blog link typos, avatar digest errors, promo banner links, and delete button functionality
+- b03fa83: Improve console logger browser compatibility and optimize breadcrumb handling for better debugging
+- 1e02cb4: update MOTHERSHIP_URL formatting to include subdomain and trim path segments
+- b03fa83: Fix firewall health check endpoints and improve HTTP status code responses for better monitoring
+- b03fa83: Improve instance shutdown handling, add HandleInstanceResolve API, and enhance Docker container startup timing
+- b03fa83: Improve logging consistency across services, enhance error messaging, and add container launch timing for better debugging
+- b03fa83: Migrate to tsx for CLI execution, remove winston logging, and improve build tooling
+- b03fa83: Update supported PocketBase versions, improve package hashes, and enhance deployment workflow with Wrangler integration
diff --git a/packages/dashboard/src/routes/(static)/blog/toc.ts b/packages/dashboard/src/routes/(static)/blog/toc.ts
index a84e8e17..a366b613 100644
--- a/packages/dashboard/src/routes/(static)/blog/toc.ts
+++ b/packages/dashboard/src/routes/(static)/blog/toc.ts
@@ -1,4 +1,20 @@
export const toc = [
+ {
+ title: 'PocketHost 2.3.0',
+ path: '/blog/pockethost-2-3-0-release',
+ },
+ {
+ title: 'Webhooks Support is Here',
+ path: '/blog/webhooks-launch',
+ },
+ {
+ title: 'Enhanced Data Synchronization with MothershipMirrorService',
+ path: '/blog/mothership-mirror-service',
+ },
+ {
+ title: 'Automated Custom Domains with Cloudflare',
+ path: '/blog/custom-domains-automation',
+ },
{
title: 'Building a Realtime Game: Kingdom',
path: '/blog/kingdom',
diff --git a/packages/dashboard/src/routes/(static)/blog/webhooks-launch/+page.md b/packages/dashboard/src/routes/(static)/blog/webhooks-launch/+page.md
new file mode 100644
index 00000000..ba498025
--- /dev/null
+++ b/packages/dashboard/src/routes/(static)/blog/webhooks-launch/+page.md
@@ -0,0 +1,11 @@
+## Webhooks Support is Here
+
+_[@cap'n](https://discord.gg/nVTxCMEcGT) Jul 22, 2025_
+
+We've just launched webhooks support for PocketHost! This is a game-changer for anyone who needs scheduled operations or event-driven workflows with their PocketBase instances.
+
+Previously, PocketBase's [job scheduling](https://pocketbase.io/docs/js-jobs-scheduling/) wouldn't work reliably on PocketHost because we hibernate inactive instances.
+
+While the inbuilt job scheduling is still affected by hibernation, now you can add custom API endpoints and call them via our cron-based webhooks. Whatever you could do with the inbuilt PocketBase job scheduling can now be handled with webhooks instead.
+
+Check it out in the dashboard today!
diff --git a/packages/pockethost/CHANGELOG.md b/packages/pockethost/CHANGELOG.md
index 0b22ba46..7e7f14c1 100644
--- a/packages/pockethost/CHANGELOG.md
+++ b/packages/pockethost/CHANGELOG.md
@@ -1,5 +1,32 @@
# pockethost
+## 3.0.0
+
+### Major Changes
+
+- b03fa83: Implement hard paywall system with subscription management, billing integration, and user access controls
+
+### Minor Changes
+
+- b03fa83: Add blog functionality with dynamic promo banner integration and content management features
+- b03fa83: Implement automated custom domains with Cloudflare integration and multiple domain support per instance
+- b03fa83: Enhance dashboard UI with improved layout constraints, instance title cosmetics, user subscription logging, and subdomain text truncation
+- b03fa83: Add MothershipMirrorService with event handlers for improved data synchronization
+- b03fa83: Add subscription quantity management, billing integration improvements, and enhanced user account controls with suspension support
+- b03fa83: Add webhooks support to PocketHost for scheduled and event-driven operations
+
+### Patch Changes
+
+- 60307e6: Add db migration support for multiple custom domains per instance
+- b03fa83: Fix various issues including empty instance name validation, blog link typos, avatar digest errors, promo banner links, and delete button functionality
+- b03fa83: Improve console logger browser compatibility and optimize breadcrumb handling for better debugging
+- 1e02cb4: update MOTHERSHIP_URL formatting to include subdomain and trim path segments
+- b03fa83: Fix firewall health check endpoints and improve HTTP status code responses for better monitoring
+- b03fa83: Improve instance shutdown handling, add HandleInstanceResolve API, and enhance Docker container startup timing
+- b03fa83: Improve logging consistency across services, enhance error messaging, and add container launch timing for better debugging
+- b03fa83: Migrate to tsx for CLI execution, remove winston logging, and improve build tooling
+- b03fa83: Update supported PocketBase versions, improve package hashes, and enhance deployment workflow with Wrangler integration
+
## 2.2.0
### Minor Changes
diff --git a/packages/pockethost/package.json b/packages/pockethost/package.json
index 563593ce..2f0200a9 100644
--- a/packages/pockethost/package.json
+++ b/packages/pockethost/package.json
@@ -1,6 +1,6 @@
{
"name": "pockethost",
- "version": "2.2.0",
+ "version": "2.3.0",
"author": {
"name": "Ben Allfree",
"url": "https://github.com/benallfree"