From aecea67fb15fa18952879d25b219dde64133e7dd Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Sat, 10 Jun 2023 03:47:27 -0700 Subject: [PATCH] docs: book conversion --- gitbook/README.md | 68 +++--- gitbook/SUMMARY.md | 45 ++-- gitbook/development/frontend.md | 12 + gitbook/development/full-stack.md | 23 ++ gitbook/development/production.md | 42 ++++ roadmap.md => gitbook/development/roadmap.md | 0 gitbook/fundamentals/getting-set-up/README.md | 33 --- .../getting-set-up/inviting-members.md | 29 --- .../getting-set-up/setting-permissions.md | 11 - gitbook/overview/our-features.md | 17 -- gitbook/overview/what-we-do.md | 11 - gitbook/product-guides/making-a-post.md | 13 -- .../product-guides/understanding-projects.md | 21 -- gitbook/releases/0.0.1.md | 3 + gitbook/releases/0.2.0.md | 4 + gitbook/releases/0.3.0.md | 8 + gitbook/releases/0.3.1.md | 4 + gitbook/releases/0.3.2.md | 4 + gitbook/releases/0.4.0.md | 4 + gitbook/releases/0.4.1.md | 5 + gitbook/releases/0.4.2.md | 3 + gitbook/releases/0.5.0.md | 8 + gitbook/releases/0.5.1.md | 4 + gitbook/releases/0.5.2.md | 6 + gitbook/releases/0.5.3.md | 9 + gitbook/releases/0.5.4.md | 5 + gitbook/releases/0.5.5.md | 4 + gitbook/releases/0.5.6.md | 4 + gitbook/releases/0.5.7.md | 6 + gitbook/releases/0.6.0.md | 6 + gitbook/releases/0.6.1.md | 3 + gitbook/releases/0.7.0.md | 112 +++++++++ gitbook/releases/next.md | 14 ++ gitbook/use-cases/for-designers.md | 21 -- gitbook/use-cases/for-developers.md | 23 -- readme.md | 212 ------------------ 36 files changed, 346 insertions(+), 451 deletions(-) create mode 100644 gitbook/development/frontend.md create mode 100644 gitbook/development/full-stack.md create mode 100644 gitbook/development/production.md rename roadmap.md => gitbook/development/roadmap.md (100%) delete mode 100644 gitbook/fundamentals/getting-set-up/README.md delete mode 100644 gitbook/fundamentals/getting-set-up/inviting-members.md delete mode 100644 gitbook/fundamentals/getting-set-up/setting-permissions.md delete mode 100644 gitbook/overview/our-features.md delete mode 100644 gitbook/overview/what-we-do.md delete mode 100644 gitbook/product-guides/making-a-post.md delete mode 100644 gitbook/product-guides/understanding-projects.md create mode 100644 gitbook/releases/0.0.1.md create mode 100644 gitbook/releases/0.2.0.md create mode 100644 gitbook/releases/0.3.0.md create mode 100644 gitbook/releases/0.3.1.md create mode 100644 gitbook/releases/0.3.2.md create mode 100644 gitbook/releases/0.4.0.md create mode 100644 gitbook/releases/0.4.1.md create mode 100644 gitbook/releases/0.4.2.md create mode 100644 gitbook/releases/0.5.0.md create mode 100644 gitbook/releases/0.5.1.md create mode 100644 gitbook/releases/0.5.2.md create mode 100644 gitbook/releases/0.5.3.md create mode 100644 gitbook/releases/0.5.4.md create mode 100644 gitbook/releases/0.5.5.md create mode 100644 gitbook/releases/0.5.6.md create mode 100644 gitbook/releases/0.5.7.md create mode 100644 gitbook/releases/0.6.0.md create mode 100644 gitbook/releases/0.6.1.md create mode 100644 gitbook/releases/0.7.0.md create mode 100644 gitbook/releases/next.md delete mode 100644 gitbook/use-cases/for-designers.md delete mode 100644 gitbook/use-cases/for-developers.md diff --git a/gitbook/README.md b/gitbook/README.md index 2f115a9e..9bd642df 100644 --- a/gitbook/README.md +++ b/gitbook/README.md @@ -6,55 +6,39 @@ description: The zero-config, up-in-seconds, hosting platform for PocketBase ## Overview -PocketHost ([https://pockethost.io](https://pockethost.io)) is a cloud hosting platform for [PocketBase](https://pocketbase.io). You can use it to instantly provision a PocketBase backend for your latest project. +PocketHost ([https://pockethost.io](https://pockethost.io) hosts your [PocketBase](https://pocketbase.io) projects so you don't have to. Create a project like you would in Firebase and Supabase and let PocketHost do the rest. -Features include: +PocketHost is a cloud hosting platform for PocketBase. You can use it to instantly provision a PocketBase backend for your latest project. Features include: -* Create unlimited PocketBase projects, each with a custom subdomain -* Access your PocketBase instance using the PocketBase JavaScript SDK as easily as new `PocketBase('https://my-project.pockethost.io')` +- Create unlimited PocketBase projects, each with a custom subdomain +- Each instance runs on a subdomain of `pockethost.io` +- Access your PocketBase instance using the PocketBase JavaScript SDK as easily as new `PocketBase('https://my-project.pockethost.io')` +- Run your instance in an ultra-beefy shared environment +## Focus on your app +Get a live PocketBase instance in 10 seconds with no backend setup: +1. Create an account at pockethost.io +2. Provision your first PocketBase instance +3. Connect from anywhere +```ts +const client = new PocketBase(`https://harvest.pockethost.io`) +``` +## Batteries Included +Here's all the Linux/devops stuff that PocketHost does for you: -This book contains all the documentation for using, contributing to, and deploying PocketHost. +- Email and DKIM+SPF and more +- DNS jargon: MX, TXT, CNAME +- SSL cert provisioning and management +- Storage +- Volume mounts +- Could computing or VPS deployment +- CDN and static asset hosting +- Amazon AWS +- Lots more - scaling, firewalls, DDoS defense, user security, log rotation, patches, updates, build tools, CPU architectures, multitenancy, on and on -> tester - -> Loom is a video messaging tool that helps you get your message across through instantly shareable videos. -> -> With Loom, you can record your camera, microphone, and desktop simultaneously. Your video is then instantly available to share through Loom's patented technology. -> -> — From the [Loom Docs](https://support.loom.com/hc/en-us/articles/360002158057-What-is-Loom-) - -> The Mailchimp Marketing API provides programmatic access to Mailchimp data and functionality, allowing developers to build custom features to do things like sync email activity and campaign analytics with their database, manage audiences and campaigns, and more. -> -> — From the [Mailchimp Marketing API docs](https://mailchimp.com/developer/marketing/docs/fundamentals/) - -## Quick links - -{% content-ref url="overview/what-we-do.md" %} -[what-we-do.md](overview/what-we-do.md) -{% endcontent-ref %} - -{% content-ref url="overview/our-features.md" %} -[our-features.md](overview/our-features.md) -{% endcontent-ref %} - -## Get Started - -We've put together some helpful guides for you to get setup with our product quickly and easily. - -{% content-ref url="fundamentals/getting-set-up/" %} -[getting-set-up](fundamentals/getting-set-up/) -{% endcontent-ref %} - -{% content-ref url="fundamentals/getting-set-up/setting-permissions.md" %} -[setting-permissions.md](fundamentals/getting-set-up/setting-permissions.md) -{% endcontent-ref %} - -{% content-ref url="fundamentals/getting-set-up/inviting-members.md" %} -[inviting-members.md](fundamentals/getting-set-up/inviting-members.md) -{% endcontent-ref %} +This monorepo contains the entire open source stack that powers pockethost.io. You can use it to run your own private or public multitenant platform. diff --git a/gitbook/SUMMARY.md b/gitbook/SUMMARY.md index adc72f4b..3af449a1 100644 --- a/gitbook/SUMMARY.md +++ b/gitbook/SUMMARY.md @@ -1,24 +1,33 @@ # Table of contents -* [👋 Welcome to PocketHost](README.md) +- [👋 Welcome to PocketHost](README.md) -## Overview +## Development -* [💡 What we do](overview/what-we-do.md) -* [✨ Our Features](overview/our-features.md) +- [Running Just the Frontend](development/frontend.md) +- [Running Everything](development/full-stack.md) +- [Production Deployment](development/production.md) -## Product Guides +## Release History -* [📪 Making a post](product-guides/making-a-post.md) -* [📎 Understanding Projects](product-guides/understanding-projects.md) - -## Fundamentals - -* [🛠 Getting set up](fundamentals/getting-set-up/README.md) - * [📝 Setting permissions](fundamentals/getting-set-up/setting-permissions.md) - * [🧑 Inviting Members](fundamentals/getting-set-up/inviting-members.md) - -## Use Cases - -* [🎨 For Designers](use-cases/for-designers.md) -* [🖥 For Developers](use-cases/for-developers.md) +- [Roadmap](development/roadmap.md) +- [next](releases/next.md) +- [0.7.0](releases/0.7.0.md) +- [0.6.1](releases/0.6.1.md) +- [0.6.0](releases/0.6.0.md) +- [0.5.7](releases/0.5.7.md) +- [0.5.6](releases/0.5.6.md) +- [0.5.5](releases/0.5.5.md) +- [0.5.4](releases/0.5.4.md) +- [0.5.3](releases/0.5.3.md) +- [0.5.2](releases/0.5.2.md) +- [0.5.1](releases/0.5.1.md) +- [0.5.0](releases/0.5.0.md) +- [0.4.2](releases/0.4.2.md) +- [0.4.1](releases/0.4.1.md) +- [0.4.0](releases/0.4.0.md) +- [0.3.2](releases/0.3.2.md) +- [0.3.1](releases/0.3.1.md) +- [0.3.0](releases/0.3.0.md) +- [0.2.0](releases/0.2.0.md) +- [0.0.1](releases/0.0.1md) diff --git a/gitbook/development/frontend.md b/gitbook/development/frontend.md new file mode 100644 index 00000000..bb126ab8 --- /dev/null +++ b/gitbook/development/frontend.md @@ -0,0 +1,12 @@ +## Just the frontend (Svelte) + +Just want to work with the UI and frontend? + +```bash +git clone git@github.com:benallfree/pockethost.git +cd pockethost +yarn +yarn dev:www +``` + +That's it. You're in business. Your local Svelte build will talk to the `pockethost.io` mothership and connect to that for all database-related tasks. diff --git a/gitbook/development/full-stack.md b/gitbook/development/full-stack.md new file mode 100644 index 00000000..3e0cde06 --- /dev/null +++ b/gitbook/development/full-stack.md @@ -0,0 +1,23 @@ +## All our base + +The entire pockethost.io stack can be run locally. + +**Prerequisites** + +- Local SSL wildcard domain - [local domain setup instructions](./docs/local-domain-setup.md) + +**Running in dev mode** + +Note for OS X users: if `pocketbase` does not run, it's probably your [security settings](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac). + +```bash +git clone git@github.com:benallfree/pockethost.git +cd pockethost +yarn +cp .env-template .env # modify as needed, if you used `pockethost.test` for your local domain, everything should work +scripts/dev.sh +open https://pockethost.test +open https://pockethost-central.pockethost.test + # login: admin@pockethost.test (change in .env) + # password: admin@pockethost.test (change in .env) +``` diff --git a/gitbook/development/production.md b/gitbook/development/production.md new file mode 100644 index 00000000..e3f172df --- /dev/null +++ b/gitbook/development/production.md @@ -0,0 +1,42 @@ +# Production Deployment + +**1. Build** + +```bash +git clone git@github.com:benallfree/pockethost.git +cd pockethost +yarn +cp .env-template .env # modify as needed +scripts/build.sh +``` + +**2. Refresh Certbot** + +```bash +./scripts/certbot-refresh.sh +``` + +Then, ensure keys named `fullchain.pem` and `privkey.key` are in `docker/mount/nginx/ssl`. + +**3. Run** + +```bash +sudo scripts/pm2.sh +sudo pm2 dash +sudo open https://pockethost.io +``` + +**4. Test** + +If all goes well: + +- Update `readme.md` with latest relevant fixes. +- Create a new discussion on PocketHost forum +- If major release, create announcement on PocketBase forum +- Use `yarn version --patch` for patch release and tag with git +- Use `scripts/build.sh` to rebuild everything +- Use `scripts/pm2.sh` to run in prod mode + +## Updating the max PocketBase semver + +By default, PocketHost will download and run the latest version of PocketBase. If you need to limit or lock the PocketBase versions(s) available, edit the `DAEMON_PB_SEMVER` variable in `.env`. diff --git a/roadmap.md b/gitbook/development/roadmap.md similarity index 100% rename from roadmap.md rename to gitbook/development/roadmap.md diff --git a/gitbook/fundamentals/getting-set-up/README.md b/gitbook/fundamentals/getting-set-up/README.md deleted file mode 100644 index 59c2a071..00000000 --- a/gitbook/fundamentals/getting-set-up/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# 🛠 Getting set up - -
- -Step1: Creating your organization - - - -
- -
- -Step 2: Inviting your team - - - -
- -
- -Step 3: Making your first post - - - -
- -
- -Step 4: Publishing a post - - - -
diff --git a/gitbook/fundamentals/getting-set-up/inviting-members.md b/gitbook/fundamentals/getting-set-up/inviting-members.md deleted file mode 100644 index 49e82cf4..00000000 --- a/gitbook/fundamentals/getting-set-up/inviting-members.md +++ /dev/null @@ -1,29 +0,0 @@ -# 🧑 Inviting Members - -{% hint style="info" %} -**GitBook tip:** Try out a range of different content types to keep folks engaged and interested in each feature, some content types work for different chunks of information -{% endhint %} - -
- -As a Guest User - - - -
- -
- -As an Editor - - - -
- -
- -As an Admin - - - -
diff --git a/gitbook/fundamentals/getting-set-up/setting-permissions.md b/gitbook/fundamentals/getting-set-up/setting-permissions.md deleted file mode 100644 index 6dff410e..00000000 --- a/gitbook/fundamentals/getting-set-up/setting-permissions.md +++ /dev/null @@ -1,11 +0,0 @@ -# 📝 Setting permissions - -{% hint style="info" %} -**GitBook tip:** your product docs aren't just a reference of all your features, use them to encourage folks to perform certain actions and discover the value in your product. -{% endhint %} - -## Permission levels - -There are 4 types of permission levels in the product. - -
RoleCapabilities
AdministratorHas all admin privileges
EditorCan edit posts
ViewerCan only view posts
GuestCan only view posts they are inivted to
diff --git a/gitbook/overview/our-features.md b/gitbook/overview/our-features.md deleted file mode 100644 index 4bd7e5d1..00000000 --- a/gitbook/overview/our-features.md +++ /dev/null @@ -1,17 +0,0 @@ -# ✨ Our Features - -{% hint style="info" %} -**GitBook tip:** A succinct video overview is a great way to introduce folks to your product. Embed a Loom, Vimeo or YouTube video and you're good to go! We love this video from the fine folks at Loom as a perfect example of a succinct feature overview. -{% endhint %} - -## Awesome Feature One - -Get amazing things done with awesome feature one. But remember that awesome feature two and three exist too. In fact, Awesome Product is full of awesome features. - -![](https://images.unsplash.com/photo-1555774698-0b77e0d5fac6?crop=entropy\&cs=tinysrgb\&fm=jpg\&ixid=MnwxOTcwMjR8MHwxfHNlYXJjaHwyfHxhcHB8ZW58MHx8fHwxNjYwNTgzMzQz\&ixlib=rb-1.2.1\&q=80) - -## Awesome Feature Two - -Get amazing things done with awesome feature two. But remember that awesome feature one and three exist too. In fact, Awesome Product is full of awesome features. - -![](https://images.unsplash.com/photo-1569144157591-c60f3f82f137?crop=entropy\&cs=tinysrgb\&fm=jpg\&ixid=MnwxOTcwMjR8MHwxfHNlYXJjaHwxfHxmZWF0dXJlfGVufDB8fHx8MTY2MDU4MzM1OQ\&ixlib=rb-1.2.1\&q=80) diff --git a/gitbook/overview/what-we-do.md b/gitbook/overview/what-we-do.md deleted file mode 100644 index a34949f2..00000000 --- a/gitbook/overview/what-we-do.md +++ /dev/null @@ -1,11 +0,0 @@ -# 💡 What we do - -{% hint style="info" %} -**GitBook tip:** A succinct video overview is a great way to introduce folks to your product. Embed a Loom, Vimeo or YouTube video and you're good to go! We love this video from the fine folks at Loom as a perfect example of a succinct feature overview. -{% endhint %} - -## Video overview - -Got 2 minutes? Check out a video overview of our product: - -{% embed url="https://www.loom.com/embed/3bfa83acc9fd41b7b98b803ba9197d90" %} diff --git a/gitbook/product-guides/making-a-post.md b/gitbook/product-guides/making-a-post.md deleted file mode 100644 index 3a9f3559..00000000 --- a/gitbook/product-guides/making-a-post.md +++ /dev/null @@ -1,13 +0,0 @@ -# 📪 Making a post - -## Step 1 - Start journalling - -Donec sed odio dui. Curabitur blandit tempus porttitor. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Donec ullamcorper nulla non metus auctor fringilla. Maecenas sed diam eget risus varius blandit sit amet non magna. Aenean lacinia bibendum nulla sed consectetur. - -![](https://images.unsplash.com/photo-1522881451255-f59ad836fdfb?crop=entropy\&cs=tinysrgb\&fm=jpg\&ixid=MnwxOTcwMjR8MHwxfHNlYXJjaHw0fHx3cml0ZXxlbnwwfHx8fDE2NjA1ODc5Nzk\&ixlib=rb-1.2.1\&q=80) - -## Step 2 - Create Post - -Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Maecenas faucibus mollis interdum. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Donec ullamcorper nulla non metus auctor fringilla. Nullam quis risus eget urna mollis ornare vel eu leo. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. - -![](https://images.unsplash.com/photo-1515378791036-0648a3ef77b2?crop=entropy\&cs=tinysrgb\&fm=jpg\&ixid=MnwxOTcwMjR8MHwxfHNlYXJjaHw2fHxwb3N0fGVufDB8fHx8MTY2MDU4ODAzMg\&ixlib=rb-1.2.1\&q=80) diff --git a/gitbook/product-guides/understanding-projects.md b/gitbook/product-guides/understanding-projects.md deleted file mode 100644 index fb729727..00000000 --- a/gitbook/product-guides/understanding-projects.md +++ /dev/null @@ -1,21 +0,0 @@ -# 📎 Understanding Projects - -## How Projects work - -Nullam quis risus eget urna mollis ornare vel eu leo. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Maecenas sed diam eget risus varius blandit sit amet non magna. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec id elit non mi porta gravida at eget metus. Donec id elit non mi porta gravida at eget metus. - -### The Basics - -Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. - -Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. - -### Creating a Project - -Nullam quis risus eget urna mollis ornare vel eu leo. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. - -### Organizing your Projects - -Sed posuere consectetur est at lobortis. Curabitur blandit tempus porttitor. Donec ullamcorper nulla non metus auctor fringilla. Donec sed odio dui. - -Curabitur blandit tempus porttitor. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. diff --git a/gitbook/releases/0.0.1.md b/gitbook/releases/0.0.1.md new file mode 100644 index 00000000..fc7d5aa8 --- /dev/null +++ b/gitbook/releases/0.0.1.md @@ -0,0 +1,3 @@ +**0.0.1** + +- Initial release diff --git a/gitbook/releases/0.2.0.md b/gitbook/releases/0.2.0.md new file mode 100644 index 00000000..fd0a59f1 --- /dev/null +++ b/gitbook/releases/0.2.0.md @@ -0,0 +1,4 @@ +**0.2.0** + +- 100% dockerized +- Completely rewritten daemon proxy that launches PocketBase instances on demand diff --git a/gitbook/releases/0.3.0.md b/gitbook/releases/0.3.0.md new file mode 100644 index 00000000..3c19e64f --- /dev/null +++ b/gitbook/releases/0.3.0.md @@ -0,0 +1,8 @@ +**0.3.0** + +- Improved realtime support in proxy +- Updated developer docs +- Improved Docker support for dev and prod +- Complete UX redesign +- Idle/running status for PB instance now shows in green +- Ability to run separate versions of PocketBase per instance for custom cases including beta/dev diff --git a/gitbook/releases/0.3.1.md b/gitbook/releases/0.3.1.md new file mode 100644 index 00000000..75e5b6e8 --- /dev/null +++ b/gitbook/releases/0.3.1.md @@ -0,0 +1,4 @@ +**0.3.1** + +- OpenGraph support +- Darkmode enhancements diff --git a/gitbook/releases/0.3.2.md b/gitbook/releases/0.3.2.md new file mode 100644 index 00000000..f28ca5a2 --- /dev/null +++ b/gitbook/releases/0.3.2.md @@ -0,0 +1,4 @@ +**0.3.2** + +- Migrated PBScript repository to here +- Accounts must now be verified before running an instance diff --git a/gitbook/releases/0.4.0.md b/gitbook/releases/0.4.0.md new file mode 100644 index 00000000..290af7a8 --- /dev/null +++ b/gitbook/releases/0.4.0.md @@ -0,0 +1,4 @@ +**0.4.0** + +- PocketBase 0.8 support +- Introduced "platforms" concept for version control diff --git a/gitbook/releases/0.4.1.md b/gitbook/releases/0.4.1.md new file mode 100644 index 00000000..f9edc966 --- /dev/null +++ b/gitbook/releases/0.4.1.md @@ -0,0 +1,5 @@ +**0.4.1** + +- Support for 0.7.10 and 0.8.0-rc2 +- Update to go 1.19.3 +- Docker build system updates diff --git a/gitbook/releases/0.4.2.md b/gitbook/releases/0.4.2.md new file mode 100644 index 00000000..c0e597b1 --- /dev/null +++ b/gitbook/releases/0.4.2.md @@ -0,0 +1,3 @@ +**0.4.2** + +- Runtime metrics now show how many minutes per month an instance has used diff --git a/gitbook/releases/0.5.0.md b/gitbook/releases/0.5.0.md new file mode 100644 index 00000000..9334b236 --- /dev/null +++ b/gitbook/releases/0.5.0.md @@ -0,0 +1,8 @@ +**0.5.0** + +- Create data backups +- Display version near PocketHost logo +- Account activation ux enhancements +- Password reset feature +- Menu ux refresh +- PocketBase instance version number now shows on dashboard diff --git a/gitbook/releases/0.5.1.md b/gitbook/releases/0.5.1.md new file mode 100644 index 00000000..273fbf4c --- /dev/null +++ b/gitbook/releases/0.5.1.md @@ -0,0 +1,4 @@ +**0.5.1** + +- fix: 404 after creating instance +- fix: SQLite3 build diff --git a/gitbook/releases/0.5.2.md b/gitbook/releases/0.5.2.md new file mode 100644 index 00000000..f085f145 --- /dev/null +++ b/gitbook/releases/0.5.2.md @@ -0,0 +1,6 @@ +**0.5.2** + +- chore: rc3, rc4, 0.8.0-final support +- chore: dedupe yarn +- Fix: Account verification needs to hard-redirect +- chore: improved bootstrap TS support diff --git a/gitbook/releases/0.5.3.md b/gitbook/releases/0.5.3.md new file mode 100644 index 00000000..59781b6f --- /dev/null +++ b/gitbook/releases/0.5.3.md @@ -0,0 +1,9 @@ +**0.5.3** + +- fix: incorrect instance information displaying on dashboard details in some cases +- fix: more helpful error message when backup fails for nonexistent instance +- chore: move version number to base package.json +- refactor: logging and async helpers +- chore: restore auto-cancellation +- chore: rebuild with go 1.19.3 and include in bin name +- fix: Disallow backups if data dir doesn't exist diff --git a/gitbook/releases/0.5.4.md b/gitbook/releases/0.5.4.md new file mode 100644 index 00000000..10716713 --- /dev/null +++ b/gitbook/releases/0.5.4.md @@ -0,0 +1,5 @@ +**0.5.4** + +- fix: Create Instance cancel button does not work +- fix: instances do not stay active for realtime events +- chore: support for PocketBase 0.9.0 and 0.9.1 diff --git a/gitbook/releases/0.5.5.md b/gitbook/releases/0.5.5.md new file mode 100644 index 00000000..a0a1bc09 --- /dev/null +++ b/gitbook/releases/0.5.5.md @@ -0,0 +1,4 @@ +**0.5.5** + +- chore: PocketBase 0.9.2 update +- chore: PocketBase 0.10.0, 0.10.1 updates diff --git a/gitbook/releases/0.5.6.md b/gitbook/releases/0.5.6.md new file mode 100644 index 00000000..9960656d --- /dev/null +++ b/gitbook/releases/0.5.6.md @@ -0,0 +1,4 @@ +**0.5.6** + +- Remove Docker +- PocketBase 0.10.4 update diff --git a/gitbook/releases/0.5.7.md b/gitbook/releases/0.5.7.md new file mode 100644 index 00000000..dc8fc7db --- /dev/null +++ b/gitbook/releases/0.5.7.md @@ -0,0 +1,6 @@ +**0.5.7** + +- Fix various production errors +- Support PATCH and DELETE CORS operations +- Add pm2 production support +- Implement auto-upgrade feature and semver tagging diff --git a/gitbook/releases/0.6.0.md b/gitbook/releases/0.6.0.md new file mode 100644 index 00000000..792774cc --- /dev/null +++ b/gitbook/releases/0.6.0.md @@ -0,0 +1,6 @@ +**0.6.0** + +- FTP support +- Cache pocketbase releases +- Enhance instance uptime +- CORS PUT fix diff --git a/gitbook/releases/0.6.1.md b/gitbook/releases/0.6.1.md new file mode 100644 index 00000000..5fe069ae --- /dev/null +++ b/gitbook/releases/0.6.1.md @@ -0,0 +1,3 @@ +**0.6.1** + +- Fixed semver locking error diff --git a/gitbook/releases/0.7.0.md b/gitbook/releases/0.7.0.md new file mode 100644 index 00000000..810c9c03 --- /dev/null +++ b/gitbook/releases/0.7.0.md @@ -0,0 +1,112 @@ +**0.7.0** + +- PocketHost will now always select and run the latest version of PocketBase for new instances and for the PocketHost central database. This was previously restricted until PocketBase matured more, but we think it is safe now. +- Now using native PocketBase migrations to manage PocketHost central database migrations. Roadmap has been updated with task to allow end users to put their PocketBase instance in maintenance mode and run migrations. + +**0.6.1** + +- Fixed semver locking error + +**0.6.0** + +- FTP support +- Cache pocketbase releases +- Enhance instance uptime +- CORS PUT fix + +**0.5.7** + +- Fix various production errors +- Support PATCH and DELETE CORS operations +- Add pm2 production support +- Implement auto-upgrade feature and semver tagging + +**0.5.6** + +- Remove Docker +- PocketBase 0.10.4 update + +**0.5.5** + +- chore: PocketBase 0.9.2 update +- chore: PocketBase 0.10.0, 0.10.1 updates + +**0.5.4** + +- fix: Create Instance cancel button does not work +- fix: instances do not stay active for realtime events +- chore: support for PocketBase 0.9.0 and 0.9.1 + +**0.5.3** + +- fix: incorrect instance information displaying on dashboard details in some cases +- fix: more helpful error message when backup fails for nonexistent instance +- chore: move version number to base package.json +- refactor: logging and async helpers +- chore: restore auto-cancellation +- chore: rebuild with go 1.19.3 and include in bin name +- fix: Disallow backups if data dir doesn't exist + +**0.5.2** + +- chore: rc3, rc4, 0.8.0-final support +- chore: dedupe yarn +- Fix: Account verification needs to hard-redirect +- chore: improved bootstrap TS support + +**0.5.1** + +- fix: 404 after creating instance +- fix: SQLite3 build + +**0.5.0** + +- Create data backups +- Display version near PocketHost logo +- Account activation ux enhancements +- Password reset feature +- Menu ux refresh +- PocketBase instance version number now shows on dashboard + +**0.4.2** + +- Runtime metrics now show how many minutes per month an instance has used + +**0.4.1** + +- Support for 0.7.10 and 0.8.0-rc2 +- Update to go 1.19.3 +- Docker build system updates + +**0.4.0** + +- PocketBase 0.8 support +- Introduced "platforms" concept for version control + +**0.3.2** + +- Migrated PBScript repository to here +- Accounts must now be verified before running an instance + +**0.3.1** + +- OpenGraph support +- Darkmode enhancements + +**0.3.0** + +- Improved realtime support in proxy +- Updated developer docs +- Improved Docker support for dev and prod +- Complete UX redesign +- Idle/running status for PB instance now shows in green +- Ability to run separate versions of PocketBase per instance for custom cases including beta/dev + +**0.2.0** + +- 100% dockerized +- Completely rewritten daemon proxy that launches PocketBase instances on demand + +**0.0.1** + +- Initial release diff --git a/gitbook/releases/next.md b/gitbook/releases/next.md new file mode 100644 index 00000000..82df5c12 --- /dev/null +++ b/gitbook/releases/next.md @@ -0,0 +1,14 @@ +**next** + +- Feature: Added FAQ section and documentation link +- Fix: FTP username link is now properly URLencoded +- Fix: static asset requests are routed to PocketBase instance +- Fix: requests for instances not ending in `pockethost.io` now rejected +- Fix: realtime logging API requests no longer intercepted by PocketBase +- Fix: potential timer memory leak +- Fix: proper handling of http-proxy error conditions +- Chore: various internal error trapping and logging +- Fix: FTP now correctly downloads static assets +- Fix: FTP now accesses `pb_migrations` +- Fix: Secrets CSS light/dark mode fixes +- Chore: remove `platform` field from instances and backups diff --git a/gitbook/use-cases/for-designers.md b/gitbook/use-cases/for-designers.md deleted file mode 100644 index 70f536f3..00000000 --- a/gitbook/use-cases/for-designers.md +++ /dev/null @@ -1,21 +0,0 @@ -# 🎨 For Designers - -{% hint style="info" %} -**Good to know:** depending on the product you're building, it can be useful to explicitly document use cases. Got a product that can be used by a bunch of people in different ways? Maybe consider splitting it out! -{% endhint %} - -## Figma Integrations - -{% tabs %} -{% tab title="Installing" %} -{% embed url="https://www.figma.com/community/plugin/950514102619019349/Automater" %} -{% endtab %} - -{% tab title="Configuring" %} -Maecenas faucibus mollis interdum. Donec id elit non mi porta gravida at eget metus. Donec ullamcorper nulla non metus auctor fringilla. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla. -{% endtab %} - -{% tab title="Customizing" %} - -{% endtab %} -{% endtabs %} diff --git a/gitbook/use-cases/for-developers.md b/gitbook/use-cases/for-developers.md deleted file mode 100644 index b45044ad..00000000 --- a/gitbook/use-cases/for-developers.md +++ /dev/null @@ -1,23 +0,0 @@ -# 🖥 For Developers - -{% hint style="info" %} -**Good to know:** depending on the product you're building, it can be useful to explicitly document use cases. Got a product that can be used by a bunch of people in different ways? Maybe consider splitting it out! -{% endhint %} - -## GitHub Integrations - -Cras mattis consectetur purus sit amet fermentum. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. - -{% tabs %} -{% tab title="Installing" %} -Sed posuere consectetur est at lobortis. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean lacinia bibendum nulla sed consectetur. Maecenas sed diam eget risus varius blandit sit amet non magna. - -``` -string | ComponentClass | FunctionComponent -``` -{% endtab %} - -{% tab title="Second tab" %} -Maecenas faucibus mollis interdum. Donec id elit non mi porta gravida at eget metus. Donec ullamcorper nulla non metus auctor fringilla. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla. -{% endtab %} -{% endtabs %} diff --git a/readme.md b/readme.md index 4cc67abb..4d79a147 100644 --- a/readme.md +++ b/readme.md @@ -43,215 +43,3 @@ This monorepo contains the entire open source stack that powers pockethost.io. Y **Questions?** Join us in the discussion area. - -# Development - -## Just the frontend (Svelte) - -Just want to work with the UI and frontend? - -```bash -git clone git@github.com:benallfree/pockethost.git -cd pockethost -yarn -yarn dev:www -``` - -That's it. You're in business. Your local Svelte build will talk to the `pockethost.io` mothership and connect to that for all database-related tasks. - -## All our base - -The entire pockethost.io stack can be run locally. - -**Prerequisites** - -- Local SSL wildcard domain - [local domain setup instructions](./docs/local-domain-setup.md) - -**Running in dev mode** - -Note for OS X users: if `pocketbase` does not run, it's probably your [security settings](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac). - -```bash -git clone git@github.com:benallfree/pockethost.git -cd pockethost -yarn -cp .env-template .env # modify as needed, if you used `pockethost.test` for your local domain, everything should work -scripts/dev.sh -open https://pockethost.test -open https://pockethost-central.pockethost.test - # login: admin@pockethost.test (change in .env) - # password: admin@pockethost.test (change in .env) -``` - -# Production Deployment - -**1. Build** - -```bash -git clone git@github.com:benallfree/pockethost.git -cd pockethost -yarn -cp .env-template .env # modify as needed -scripts/build.sh -``` - -**2. Refresh Certbot** - -```bash -./scripts/certbot-refresh.sh -``` - -Then, ensure keys named `fullchain.pem` and `privkey.key` are in `docker/mount/nginx/ssl`. - -**3. Run** - -```bash -sudo scripts/pm2.sh -sudo pm2 dash -sudo open https://pockethost.io -``` - -**4. Test** - -If all goes well: - -- Update `readme.md` with latest relevant fixes. -- Create a new discussion on PocketHost forum -- If major release, create announcement on PocketBase forum -- Use `yarn version --patch` for patch release and tag with git -- Use `scripts/build.sh` to rebuild everything -- Use `scripts/pm2.sh` to run in prod mode - -## Updating the max PocketBase semver - -By default, PocketHost will download and run the latest version of PocketBase. If you need to limit or lock the PocketBase versions(s) available, edit the `DAEMON_PB_SEMVER` variable in `.env`. - -# Release History - -**next** - -- Feature: Added FAQ section and documentation link -- Fix: FTP username link is now properly URLencoded -- Fix: static asset requests are routed to PocketBase instance -- Fix: requests for instances not ending in `pockethost.io` now rejected -- Fix: realtime logging API requests no longer intercepted by PocketBase -- Fix: potential timer memory leak -- Fix: proper handling of http-proxy error conditions -- Chore: various internal error trapping and logging -- Fix: FTP now correctly downloads static assets -- Fix: FTP now accesses `pb_migrations` -- Fix: Secrets CSS light/dark mode fixes -- Chore: remove `platform` field from instances and backups - -**0.7.0** - -- PocketHost will now always select and run the latest version of PocketBase for new instances and for the PocketHost central database. This was previously restricted until PocketBase matured more, but we think it is safe now. -- Now using native PocketBase migrations to manage PocketHost central database migrations. Roadmap has been updated with task to allow end users to put their PocketBase instance in maintenance mode and run migrations. - -**0.6.1** - -- Fixed semver locking error - -**0.6.0** - -- FTP support -- Cache pocketbase releases -- Enhance instance uptime -- CORS PUT fix - -**0.5.7** - -- Fix various production errors -- Support PATCH and DELETE CORS operations -- Add pm2 production support -- Implement auto-upgrade feature and semver tagging - -**0.5.6** - -- Remove Docker -- PocketBase 0.10.4 update - -**0.5.5** - -- chore: PocketBase 0.9.2 update -- chore: PocketBase 0.10.0, 0.10.1 updates - -**0.5.4** - -- fix: Create Instance cancel button does not work -- fix: instances do not stay active for realtime events -- chore: support for PocketBase 0.9.0 and 0.9.1 - -**0.5.3** - -- fix: incorrect instance information displaying on dashboard details in some cases -- fix: more helpful error message when backup fails for nonexistent instance -- chore: move version number to base package.json -- refactor: logging and async helpers -- chore: restore auto-cancellation -- chore: rebuild with go 1.19.3 and include in bin name -- fix: Disallow backups if data dir doesn't exist - -**0.5.2** - -- chore: rc3, rc4, 0.8.0-final support -- chore: dedupe yarn -- Fix: Account verification needs to hard-redirect -- chore: improved bootstrap TS support - -**0.5.1** - -- fix: 404 after creating instance -- fix: SQLite3 build - -**0.5.0** - -- Create data backups -- Display version near PocketHost logo -- Account activation ux enhancements -- Password reset feature -- Menu ux refresh -- PocketBase instance version number now shows on dashboard - -**0.4.2** - -- Runtime metrics now show how many minutes per month an instance has used - -**0.4.1** - -- Support for 0.7.10 and 0.8.0-rc2 -- Update to go 1.19.3 -- Docker build system updates - -**0.4.0** - -- PocketBase 0.8 support -- Introduced "platforms" concept for version control - -**0.3.2** - -- Migrated PBScript repository to here -- Accounts must now be verified before running an instance - -**0.3.1** - -- OpenGraph support -- Darkmode enhancements - -**0.3.0** - -- Improved realtime support in proxy -- Updated developer docs -- Improved Docker support for dev and prod -- Complete UX redesign -- Idle/running status for PB instance now shows in green -- Ability to run separate versions of PocketBase per instance for custom cases including beta/dev - -**0.2.0** - -- 100% dockerized -- Completely rewritten daemon proxy that launches PocketBase instances on demand - -**0.0.1** - -- Initial release