fix(service): allow the redirect_to header in appflowy gotrue cors

AppFlowy Web runs on its own domain and sends a Redirect_to header to
/gotrue/magiclink on the admin domain. GoTrue does not allow that
header by default, so the CORS preflight failed and email sign-in
showed "Network error". Set GOTRUE_CORS_ALLOWED_HEADERS=redirect_to.

Closes #10545

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andras BacsaiandClaude Opus 5.5 committed 2026-11-03 18:29:35 +01:00
1 parent ccaa04ce33
commit e9028e1338
4 files changed
+5 -2

No files matched your search

+1
View File
@@ -19,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
### Fixed
- Fix the "Network error" when you sign in with email in AppFlowy Web. AppFlowy Web runs on its own domain and sends a `Redirect_to` header to GoTrue on the admin domain, and GoTrue blocked the CORS preflight because it did not allow that header. The AppFlowy service template now sets `GOTRUE_CORS_ALLOWED_HEADERS=redirect_to`. For an existing AppFlowy service, add this variable to the `gotrue` service in the Docker Compose file and restart the service ([#10545](https://github.com/coollabsio/coolify/issues/10545))
- Use PostgreSQL 17 instead of MySQL in the Bugsink service template, as the Bugsink Docker Compose sample does, and pin Bugsink to version 2. Before, the template used `mysql:latest` with binary logging on, so the binary logs filled the disk after some weeks and Bugsink stopped. Only new Bugsink services get PostgreSQL. To stop the growth in an existing service, run `PURGE BINARY LOGS BEFORE NOW();` in MySQL, then add `command: ['--disable-log-bin']` to the `mysql` service and restart it ([#10626](https://github.com/coollabsio/coolify/issues/10626))
- List the commit images of Docker Compose applications on the **Rollback** page and in `GET /api/v1/applications/{uuid}/rollback-images`. Since v4.5.0 the list was always empty, because a Compose build names each service image `<uuid>_<service>`. The page also shows the running commit when the Compose file has services from other images, for example a database ([#12446](https://github.com/coollabsio/coolify/issues/12446))
- Finish the startup and the nightly cleanup of stuck resources on instances with many large deployment logs. Before, the cleanup loaded the logs of all deployments and stopped with "Allowed memory size exhausted", so stuck deployments, tasks, and backups were not marked as failed and the proxy configuration was not set up ([#12435](https://github.com/coollabsio/coolify/issues/12435))
+2
View File
@@ -225,6 +225,8 @@ services:
- GOTRUE_DISABLE_SIGNUP=false
- GOTRUE_SITE_URL=appflowy-flutter://
- GOTRUE_URI_ALLOW_LIST=**
# AppFlowy Web sends Redirect_to cross-origin, which GoTrue's CORS preflight rejects by default
- GOTRUE_CORS_ALLOWED_HEADERS=redirect_to
- GOTRUE_JWT_SECRET=${SERVICE_PASSWORD_JWT}
- GOTRUE_JWT_EXP=${GOTRUE_JWT_EXP:-7200}
- GOTRUE_DB_DRIVER=postgres
+1 -1
View File
@@ -112,7 +112,7 @@
"appflowy": {
"documentation": "https://docs.appflowy.io/docs/documentation/appflowy-cloud?utm_source=coolify.io",
"slogan": "AppFlowy is the AI collaborative workspace where you achieve more without losing control of your data.",
"compose": "c2VydmljZXM6CiAgbmdpbng6CiAgICBpbWFnZTogJ25naW54OjEuMjkuMicKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfVVJMX0FETUlOCiAgICB2b2x1bWVzOgogICAgICAtCiAgICAgICAgdHlwZTogYmluZAogICAgICAgIHNvdXJjZTogLi9uZ2lueC9uZ2lueC5jb25mCiAgICAgICAgdGFyZ2V0OiAvZXRjL25naW54L25naW54LmNvbmYKICAgICAgICByZWFkX29ubHk6IHRydWUKICAgICAgICBjb250ZW50OiAiIyBQbGVhc2UgZG8gbm90IGRpcmVjdGx5IGVkaXQgdGhpcyBmaWxlLlxuXG5lcnJvcl9sb2cgIC92YXIvbG9nL25naW54L2Vycm9yLmxvZyBub3RpY2U7XG5waWQgICAgICAgIC92YXIvcnVuL25naW54LnBpZDtcblxuXG5ldmVudHMge1xuICAgIHdvcmtlcl9jb25uZWN0aW9ucyAgMTAyNDtcbn1cblxuXG5odHRwIHtcbiAgICByZXNvbHZlciAxMjcuMC4wLjExIHZhbGlkPTEwcztcbiAgICBtYXAgJGh0dHBfdXBncmFkZSAkY29ubmVjdGlvbl91cGdyYWRlIHtcbiAgICAgICAgZGVmYXVsdCB1cGdyYWRlO1xuICAgICAgICAnJyBjbG9zZTtcbiAgICB9XG5cbiAgICBzZXJ2ZXIge1xuICAgICAgICBsaXN0ZW4gODA7XG4gICAgICAgIGNsaWVudF9tYXhfYm9keV9zaXplIDEwTTtcbiAgICAgICAgdW5kZXJzY29yZXNfaW5faGVhZGVycyBvbjtcblxuICAgICAgICAjIEJhY2tlbmQgc2VydmljZXNcbiAgICAgICAgc2V0ICRhcHBmbG93eV9jbG91ZF9iYWNrZW5kIFwiaHR0cDovL2FwcGZsb3d5X2Nsb3VkOjgwMDBcIjtcbiAgICAgICAgc2V0ICRnb3RydWVfYmFja2VuZCBcImh0dHA6Ly9nb3RydWU6OTk5OVwiO1xuICAgICAgICBzZXQgJGFkbWluX2Zyb250ZW5kX2JhY2tlbmQgXCJodHRwOi8vYWRtaW5fZnJvbnRlbmQ6MzAwMFwiO1xuICAgICAgICAjIEdvVHJ1ZSBBdXRoZW50aWNhdGlvbiBTZXJ2aWNlXG4gICAgICAgIGxvY2F0aW9uIC9nb3RydWUvIHtcbiAgICAgICAgICAgIHByb3h5X3Bhc3MgJGdvdHJ1ZV9iYWNrZW5kO1xuXG4gICAgICAgICAgICByZXdyaXRlIF4vZ290cnVlKC8uKikkICQxIGJyZWFrO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAjIEFsbG93IGhlYWRlcnMgbGlrZSByZWRpcmVjdF90byB0byBiZSBoYW5kZWQgb3ZlciB0byB0aGUgZ290cnVlXG4gICAgICAgICAgICAjIGZvciBjb3JyZWN0IHJlZGlyZWN0aW5nXG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGh0dHBfaG9zdDtcbiAgICAgICAgICAgIHByb3h5X3Bhc3NfcmVxdWVzdF9oZWFkZXJzIG9uO1xuICAgICAgICB9XG5cbiAgICAgICAgIyBXZWJTb2NrZXQgZW5kcG9pbnQgLSBoYW5kbGUgYm90aCAvd3MgYW5kIC93cy92MlxuICAgICAgICBsb2NhdGlvbiAvd3Mge1xuICAgICAgICAgICAgcHJveHlfcGFzcyAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZDtcblxuICAgICAgICAgICAgcHJveHlfaHR0cF92ZXJzaW9uIDEuMTtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgVXBncmFkZSAkaHR0cF91cGdyYWRlO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBDb25uZWN0aW9uIFwiVXBncmFkZVwiO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBIb3N0ICRob3N0O1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLVJlYWwtSVAgJHJlbW90ZV9hZGRyO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Gb3IgJHByb3h5X2FkZF94X2ZvcndhcmRlZF9mb3I7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtRm9yd2FyZGVkLVByb3RvICRzY2hlbWU7XG4gICAgICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgODY0MDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgIyBBUEkgZW5kcG9pbnRzXG4gICAgICAgIGxvY2F0aW9uIC9hcGkge1xuICAgICAgICAgICAgcHJveHlfcGFzcyAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZDtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZXF1ZXN0LUlkICRyZXF1ZXN0X2lkO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBIb3N0ICRodHRwX2hvc3Q7XG5cbiAgICAgICAgICAgICMgU3BlY2lhbCBoYW5kbGluZyBmb3IgcHVibGlzaCBlbmRwb2ludFxuICAgICAgICAgICAgbG9jYXRpb24gfiogXi9hcGkvd29ya3NwYWNlLyhbYS16QS1aMC05Xy1dKykvcHVibGlzaCQge1xuICAgICAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFwcGZsb3d5X2Nsb3VkX2JhY2tlbmQ7XG4gICAgICAgICAgICAgICAgcHJveHlfcmVxdWVzdF9idWZmZXJpbmcgb2ZmO1xuICAgICAgICAgICAgICAgIGNsaWVudF9tYXhfYm9keV9zaXplIDI1Nk07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICMgQ2hhdCBlbmRwb2ludCAoc3RyZWFtaW5nKVxuICAgICAgICAgICAgbG9jYXRpb24gL2FwaS9jaGF0IHtcbiAgICAgICAgICAgICAgICBwcm94eV9wYXNzICRhcHBmbG93eV9jbG91ZF9iYWNrZW5kO1xuXG4gICAgICAgICAgICAgICAgcHJveHlfaHR0cF92ZXJzaW9uIDEuMTtcbiAgICAgICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIENvbm5lY3Rpb24gXCJcIjtcbiAgICAgICAgICAgICAgICBjaHVua2VkX3RyYW5zZmVyX2VuY29kaW5nIG9uO1xuICAgICAgICAgICAgICAgIHByb3h5X2J1ZmZlcmluZyBvZmY7XG4gICAgICAgICAgICAgICAgcHJveHlfY2FjaGUgb2ZmO1xuXG4gICAgICAgICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICAgICAgcHJveHlfY29ubmVjdF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICAgICAgcHJveHlfc2VuZF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICMgSW1wb3J0IGVuZHBvaW50XG4gICAgICAgICAgICBsb2NhdGlvbiAvYXBpL2ltcG9ydCB7XG4gICAgICAgICAgICAgICAgcHJveHlfcGFzcyAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZDtcblxuICAgICAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZXF1ZXN0LUlkICRyZXF1ZXN0X2lkO1xuICAgICAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0O1xuXG4gICAgICAgICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICAgICAgcHJveHlfY29ubmVjdF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICAgICAgcHJveHlfc2VuZF90aW1lb3V0IDYwMHM7XG5cbiAgICAgICAgICAgICAgICBwcm94eV9yZXF1ZXN0X2J1ZmZlcmluZyBvZmY7XG4gICAgICAgICAgICAgICAgcHJveHlfYnVmZmVyaW5nIG9mZjtcbiAgICAgICAgICAgICAgICBwcm94eV9jYWNoZSBvZmY7XG4gICAgICAgICAgICAgICAgY2xpZW50X21heF9ib2R5X3NpemUgMkc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjIEFkbWluIEZyb250ZW5kXG4gICAgICAgICMgT3B0aW9uYWwgTW9kdWxlLCBjb21tZW50IHRoaXMgc2VjdGlvbiBpZiB5b3UgZGlkIG5vdCBkZXBsb3kgYWRtaW5fZnJvbnRlbmQgaW4gZG9ja2VyLWNvbXBvc2UueW1sXG4gICAgICAgIGxvY2F0aW9uIC9jb25zb2xlIHtcbiAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFkbWluX2Zyb250ZW5kX2JhY2tlbmQ7XG5cbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1TY2hlbWUgJHNjaGVtZTtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaG9zdDtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICRyZW1vdGVfYWRkcjtcbiAgICAgICAgICALine truncated
"compose": "c2VydmljZXM6CiAgbmdpbng6CiAgICBpbWFnZTogJ25naW54OjEuMjkuMicKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfVVJMX0FETUlOCiAgICB2b2x1bWVzOgogICAgICAtCiAgICAgICAgdHlwZTogYmluZAogICAgICAgIHNvdXJjZTogLi9uZ2lueC9uZ2lueC5jb25mCiAgICAgICAgdGFyZ2V0OiAvZXRjL25naW54L25naW54LmNvbmYKICAgICAgICByZWFkX29ubHk6IHRydWUKICAgICAgICBjb250ZW50OiAiIyBQbGVhc2UgZG8gbm90IGRpcmVjdGx5IGVkaXQgdGhpcyBmaWxlLlxuXG5lcnJvcl9sb2cgIC92YXIvbG9nL25naW54L2Vycm9yLmxvZyBub3RpY2U7XG5waWQgICAgICAgIC92YXIvcnVuL25naW54LnBpZDtcblxuXG5ldmVudHMge1xuICAgIHdvcmtlcl9jb25uZWN0aW9ucyAgMTAyNDtcbn1cblxuXG5odHRwIHtcbiAgICByZXNvbHZlciAxMjcuMC4wLjExIHZhbGlkPTEwcztcbiAgICBtYXAgJGh0dHBfdXBncmFkZSAkY29ubmVjdGlvbl91cGdyYWRlIHtcbiAgICAgICAgZGVmYXVsdCB1cGdyYWRlO1xuICAgICAgICAnJyBjbG9zZTtcbiAgICB9XG5cbiAgICBzZXJ2ZXIge1xuICAgICAgICBsaXN0ZW4gODA7XG4gICAgICAgIGNsaWVudF9tYXhfYm9keV9zaXplIDEwTTtcbiAgICAgICAgdW5kZXJzY29yZXNfaW5faGVhZGVycyBvbjtcblxuICAgICAgICAjIEJhY2tlbmQgc2VydmljZXNcbiAgICAgICAgc2V0ICRhcHBmbG93eV9jbG91ZF9iYWNrZW5kIFwiaHR0cDovL2FwcGZsb3d5X2Nsb3VkOjgwMDBcIjtcbiAgICAgICAgc2V0ICRnb3RydWVfYmFja2VuZCBcImh0dHA6Ly9nb3RydWU6OTk5OVwiO1xuICAgICAgICBzZXQgJGFkbWluX2Zyb250ZW5kX2JhY2tlbmQgXCJodHRwOi8vYWRtaW5fZnJvbnRlbmQ6MzAwMFwiO1xuICAgICAgICAjIEdvVHJ1ZSBBdXRoZW50aWNhdGlvbiBTZXJ2aWNlXG4gICAgICAgIGxvY2F0aW9uIC9nb3RydWUvIHtcbiAgICAgICAgICAgIHByb3h5X3Bhc3MgJGdvdHJ1ZV9iYWNrZW5kO1xuXG4gICAgICAgICAgICByZXdyaXRlIF4vZ290cnVlKC8uKikkICQxIGJyZWFrO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAjIEFsbG93IGhlYWRlcnMgbGlrZSByZWRpcmVjdF90byB0byBiZSBoYW5kZWQgb3ZlciB0byB0aGUgZ290cnVlXG4gICAgICAgICAgICAjIGZvciBjb3JyZWN0IHJlZGlyZWN0aW5nXG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGh0dHBfaG9zdDtcbiAgICAgICAgICAgIHByb3h5X3Bhc3NfcmVxdWVzdF9oZWFkZXJzIG9uO1xuICAgICAgICB9XG5cbiAgICAgICAgIyBXZWJTb2NrZXQgZW5kcG9pbnQgLSBoYW5kbGUgYm90aCAvd3MgYW5kIC93cy92MlxuICAgICAgICBsb2NhdGlvbiAvd3Mge1xuICAgICAgICAgICAgcHJveHlfcGFzcyAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZDtcblxuICAgICAgICAgICAgcHJveHlfaHR0cF92ZXJzaW9uIDEuMTtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgVXBncmFkZSAkaHR0cF91cGdyYWRlO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBDb25uZWN0aW9uIFwiVXBncmFkZVwiO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBIb3N0ICRob3N0O1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLVJlYWwtSVAgJHJlbW90ZV9hZGRyO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Gb3IgJHByb3h5X2FkZF94X2ZvcndhcmRlZF9mb3I7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtRm9yd2FyZGVkLVByb3RvICRzY2hlbWU7XG4gICAgICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgODY0MDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgIyBBUEkgZW5kcG9pbnRzXG4gICAgICAgIGxvY2F0aW9uIC9hcGkge1xuICAgICAgICAgICAgcHJveHlfcGFzcyAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZDtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZXF1ZXN0LUlkICRyZXF1ZXN0X2lkO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBIb3N0ICRodHRwX2hvc3Q7XG5cbiAgICAgICAgICAgICMgU3BlY2lhbCBoYW5kbGluZyBmb3IgcHVibGlzaCBlbmRwb2ludFxuICAgICAgICAgICAgbG9jYXRpb24gfiogXi9hcGkvd29ya3NwYWNlLyhbYS16QS1aMC05Xy1dKykvcHVibGlzaCQge1xuICAgICAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFwcGZsb3d5X2Nsb3VkX2JhY2tlbmQ7XG4gICAgICAgICAgICAgICAgcHJveHlfcmVxdWVzdF9idWZmZXJpbmcgb2ZmO1xuICAgICAgICAgICAgICAgIGNsaWVudF9tYXhfYm9keV9zaXplIDI1Nk07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICMgQ2hhdCBlbmRwb2ludCAoc3RyZWFtaW5nKVxuICAgICAgICAgICAgbG9jYXRpb24gL2FwaS9jaGF0IHtcbiAgICAgICAgICAgICAgICBwcm94eV9wYXNzICRhcHBmbG93eV9jbG91ZF9iYWNrZW5kO1xuXG4gICAgICAgICAgICAgICAgcHJveHlfaHR0cF92ZXJzaW9uIDEuMTtcbiAgICAgICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIENvbm5lY3Rpb24gXCJcIjtcbiAgICAgICAgICAgICAgICBjaHVua2VkX3RyYW5zZmVyX2VuY29kaW5nIG9uO1xuICAgICAgICAgICAgICAgIHByb3h5X2J1ZmZlcmluZyBvZmY7XG4gICAgICAgICAgICAgICAgcHJveHlfY2FjaGUgb2ZmO1xuXG4gICAgICAgICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICAgICAgcHJveHlfY29ubmVjdF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICAgICAgcHJveHlfc2VuZF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICMgSW1wb3J0IGVuZHBvaW50XG4gICAgICAgICAgICBsb2NhdGlvbiAvYXBpL2ltcG9ydCB7XG4gICAgICAgICAgICAgICAgcHJveHlfcGFzcyAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZDtcblxuICAgICAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZXF1ZXN0LUlkICRyZXF1ZXN0X2lkO1xuICAgICAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0O1xuXG4gICAgICAgICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICAgICAgcHJveHlfY29ubmVjdF90aW1lb3V0IDYwMHM7XG4gICAgICAgICAgICAgICAgcHJveHlfc2VuZF90aW1lb3V0IDYwMHM7XG5cbiAgICAgICAgICAgICAgICBwcm94eV9yZXF1ZXN0X2J1ZmZlcmluZyBvZmY7XG4gICAgICAgICAgICAgICAgcHJveHlfYnVmZmVyaW5nIG9mZjtcbiAgICAgICAgICAgICAgICBwcm94eV9jYWNoZSBvZmY7XG4gICAgICAgICAgICAgICAgY2xpZW50X21heF9ib2R5X3NpemUgMkc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjIEFkbWluIEZyb250ZW5kXG4gICAgICAgICMgT3B0aW9uYWwgTW9kdWxlLCBjb21tZW50IHRoaXMgc2VjdGlvbiBpZiB5b3UgZGlkIG5vdCBkZXBsb3kgYWRtaW5fZnJvbnRlbmQgaW4gZG9ja2VyLWNvbXBvc2UueW1sXG4gICAgICAgIGxvY2F0aW9uIC9jb25zb2xlIHtcbiAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFkbWluX2Zyb250ZW5kX2JhY2tlbmQ7XG5cbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1TY2hlbWUgJHNjaGVtZTtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaG9zdDtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICRyZW1vdGVfYWRkcjtcbiAgICAgICAgICALine truncated
"tags": [
"appflowy",
"notion",
+1 -1
View File
@@ -112,7 +112,7 @@
"appflowy": {
"documentation": "https://docs.appflowy.io/docs/documentation/appflowy-cloud?utm_source=coolify.io",
"slogan": "AppFlowy is the AI collaborative workspace where you achieve more without losing control of your data.",
"compose": "c2VydmljZXM6CiAgbmdpbng6CiAgICBpbWFnZTogJ25naW54OjEuMjkuMicKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9BRE1JTgogICAgdm9sdW1lczoKICAgICAgLQogICAgICAgIHR5cGU6IGJpbmQKICAgICAgICBzb3VyY2U6IC4vbmdpbngvbmdpbnguY29uZgogICAgICAgIHRhcmdldDogL2V0Yy9uZ2lueC9uZ2lueC5jb25mCiAgICAgICAgcmVhZF9vbmx5OiB0cnVlCiAgICAgICAgY29udGVudDogIiMgUGxlYXNlIGRvIG5vdCBkaXJlY3RseSBlZGl0IHRoaXMgZmlsZS5cblxuZXJyb3JfbG9nICAvdmFyL2xvZy9uZ2lueC9lcnJvci5sb2cgbm90aWNlO1xucGlkICAgICAgICAvdmFyL3J1bi9uZ2lueC5waWQ7XG5cblxuZXZlbnRzIHtcbiAgICB3b3JrZXJfY29ubmVjdGlvbnMgIDEwMjQ7XG59XG5cblxuaHR0cCB7XG4gICAgcmVzb2x2ZXIgMTI3LjAuMC4xMSB2YWxpZD0xMHM7XG4gICAgbWFwICRodHRwX3VwZ3JhZGUgJGNvbm5lY3Rpb25fdXBncmFkZSB7XG4gICAgICAgIGRlZmF1bHQgdXBncmFkZTtcbiAgICAgICAgJycgY2xvc2U7XG4gICAgfVxuXG4gICAgc2VydmVyIHtcbiAgICAgICAgbGlzdGVuIDgwO1xuICAgICAgICBjbGllbnRfbWF4X2JvZHlfc2l6ZSAxME07XG4gICAgICAgIHVuZGVyc2NvcmVzX2luX2hlYWRlcnMgb247XG5cbiAgICAgICAgIyBCYWNrZW5kIHNlcnZpY2VzXG4gICAgICAgIHNldCAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZCBcImh0dHA6Ly9hcHBmbG93eV9jbG91ZDo4MDAwXCI7XG4gICAgICAgIHNldCAkZ290cnVlX2JhY2tlbmQgXCJodHRwOi8vZ290cnVlOjk5OTlcIjtcbiAgICAgICAgc2V0ICRhZG1pbl9mcm9udGVuZF9iYWNrZW5kIFwiaHR0cDovL2FkbWluX2Zyb250ZW5kOjMwMDBcIjtcbiAgICAgICAgIyBHb1RydWUgQXV0aGVudGljYXRpb24gU2VydmljZVxuICAgICAgICBsb2NhdGlvbiAvZ290cnVlLyB7XG4gICAgICAgICAgICBwcm94eV9wYXNzICRnb3RydWVfYmFja2VuZDtcblxuICAgICAgICAgICAgcmV3cml0ZSBeL2dvdHJ1ZSgvLiopJCAkMSBicmVhaztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgIyBBbGxvdyBoZWFkZXJzIGxpa2UgcmVkaXJlY3RfdG8gdG8gYmUgaGFuZGVkIG92ZXIgdG8gdGhlIGdvdHJ1ZVxuICAgICAgICAgICAgIyBmb3IgY29ycmVjdCByZWRpcmVjdGluZ1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBIb3N0ICRodHRwX2hvc3Q7XG4gICAgICAgICAgICBwcm94eV9wYXNzX3JlcXVlc3RfaGVhZGVycyBvbjtcbiAgICAgICAgfVxuXG4gICAgICAgICMgV2ViU29ja2V0IGVuZHBvaW50IC0gaGFuZGxlIGJvdGggL3dzIGFuZCAvd3MvdjJcbiAgICAgICAgbG9jYXRpb24gL3dzIHtcbiAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFwcGZsb3d5X2Nsb3VkX2JhY2tlbmQ7XG5cbiAgICAgICAgICAgIHByb3h5X2h0dHBfdmVyc2lvbiAxLjE7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFVwZ3JhZGUgJGh0dHBfdXBncmFkZTtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgQ29ubmVjdGlvbiBcIlVwZ3JhZGVcIjtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaG9zdDtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICRyZW1vdGVfYWRkcjtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1Gb3J3YXJkZWQtRm9yICRwcm94eV9hZGRfeF9mb3J3YXJkZWRfZm9yO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Qcm90byAkc2NoZW1lO1xuICAgICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDg2NDAwcztcbiAgICAgICAgfVxuXG4gICAgICAgICMgQVBJIGVuZHBvaW50c1xuICAgICAgICBsb2NhdGlvbiAvYXBpIHtcbiAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFwcGZsb3d5X2Nsb3VkX2JhY2tlbmQ7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtUmVxdWVzdC1JZCAkcmVxdWVzdF9pZDtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0O1xuXG4gICAgICAgICAgICAjIFNwZWNpYWwgaGFuZGxpbmcgZm9yIHB1Ymxpc2ggZW5kcG9pbnRcbiAgICAgICAgICAgIGxvY2F0aW9uIH4qIF4vYXBpL3dvcmtzcGFjZS8oW2EtekEtWjAtOV8tXSspL3B1Ymxpc2gkIHtcbiAgICAgICAgICAgICAgICBwcm94eV9wYXNzICRhcHBmbG93eV9jbG91ZF9iYWNrZW5kO1xuICAgICAgICAgICAgICAgIHByb3h5X3JlcXVlc3RfYnVmZmVyaW5nIG9mZjtcbiAgICAgICAgICAgICAgICBjbGllbnRfbWF4X2JvZHlfc2l6ZSAyNTZNO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjIENoYXQgZW5kcG9pbnQgKHN0cmVhbWluZylcbiAgICAgICAgICAgIGxvY2F0aW9uIC9hcGkvY2hhdCB7XG4gICAgICAgICAgICAgICAgcHJveHlfcGFzcyAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZDtcblxuICAgICAgICAgICAgICAgIHByb3h5X2h0dHBfdmVyc2lvbiAxLjE7XG4gICAgICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBDb25uZWN0aW9uIFwiXCI7XG4gICAgICAgICAgICAgICAgY2h1bmtlZF90cmFuc2Zlcl9lbmNvZGluZyBvbjtcbiAgICAgICAgICAgICAgICBwcm94eV9idWZmZXJpbmcgb2ZmO1xuICAgICAgICAgICAgICAgIHByb3h5X2NhY2hlIG9mZjtcblxuICAgICAgICAgICAgICAgIHByb3h5X3JlYWRfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgICAgIHByb3h5X3NlbmRfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjIEltcG9ydCBlbmRwb2ludFxuICAgICAgICAgICAgbG9jYXRpb24gL2FwaS9pbXBvcnQge1xuICAgICAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFwcGZsb3d5X2Nsb3VkX2JhY2tlbmQ7XG5cbiAgICAgICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtUmVxdWVzdC1JZCAkcmVxdWVzdF9pZDtcbiAgICAgICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGh0dHBfaG9zdDtcblxuICAgICAgICAgICAgICAgIHByb3h5X3JlYWRfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgICAgIHByb3h5X3NlbmRfdGltZW91dCA2MDBzO1xuXG4gICAgICAgICAgICAgICAgcHJveHlfcmVxdWVzdF9idWZmZXJpbmcgb2ZmO1xuICAgICAgICAgICAgICAgIHByb3h5X2J1ZmZlcmluZyBvZmY7XG4gICAgICAgICAgICAgICAgcHJveHlfY2FjaGUgb2ZmO1xuICAgICAgICAgICAgICAgIGNsaWVudF9tYXhfYm9keV9zaXplIDJHO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgIyBBZG1pbiBGcm9udGVuZFxuICAgICAgICAjIE9wdGlvbmFsIE1vZHVsZSwgY29tbWVudCB0aGlzIHNlY3Rpb24gaWYgeW91IGRpZCBub3QgZGVwbG95IGFkbWluX2Zyb250ZW5kIGluIGRvY2tlci1jb21wb3NlLnltbFxuICAgICAgICBsb2NhdGlvbiAvY29uc29sZSB7XG4gICAgICAgICAgICBwcm94eV9wYXNzICRhZG1pbl9mcm9udGVuZF9iYWNrZW5kO1xuXG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtU2NoZW1lICRzY2hlbWU7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGhvc3Q7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtUmVhbC1JUCAkcmVtb3RlX2FkZHI7XG4gICAgICAgICALine truncated
"compose": "c2VydmljZXM6CiAgbmdpbng6CiAgICBpbWFnZTogJ25naW54OjEuMjkuMicKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9BRE1JTgogICAgdm9sdW1lczoKICAgICAgLQogICAgICAgIHR5cGU6IGJpbmQKICAgICAgICBzb3VyY2U6IC4vbmdpbngvbmdpbnguY29uZgogICAgICAgIHRhcmdldDogL2V0Yy9uZ2lueC9uZ2lueC5jb25mCiAgICAgICAgcmVhZF9vbmx5OiB0cnVlCiAgICAgICAgY29udGVudDogIiMgUGxlYXNlIGRvIG5vdCBkaXJlY3RseSBlZGl0IHRoaXMgZmlsZS5cblxuZXJyb3JfbG9nICAvdmFyL2xvZy9uZ2lueC9lcnJvci5sb2cgbm90aWNlO1xucGlkICAgICAgICAvdmFyL3J1bi9uZ2lueC5waWQ7XG5cblxuZXZlbnRzIHtcbiAgICB3b3JrZXJfY29ubmVjdGlvbnMgIDEwMjQ7XG59XG5cblxuaHR0cCB7XG4gICAgcmVzb2x2ZXIgMTI3LjAuMC4xMSB2YWxpZD0xMHM7XG4gICAgbWFwICRodHRwX3VwZ3JhZGUgJGNvbm5lY3Rpb25fdXBncmFkZSB7XG4gICAgICAgIGRlZmF1bHQgdXBncmFkZTtcbiAgICAgICAgJycgY2xvc2U7XG4gICAgfVxuXG4gICAgc2VydmVyIHtcbiAgICAgICAgbGlzdGVuIDgwO1xuICAgICAgICBjbGllbnRfbWF4X2JvZHlfc2l6ZSAxME07XG4gICAgICAgIHVuZGVyc2NvcmVzX2luX2hlYWRlcnMgb247XG5cbiAgICAgICAgIyBCYWNrZW5kIHNlcnZpY2VzXG4gICAgICAgIHNldCAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZCBcImh0dHA6Ly9hcHBmbG93eV9jbG91ZDo4MDAwXCI7XG4gICAgICAgIHNldCAkZ290cnVlX2JhY2tlbmQgXCJodHRwOi8vZ290cnVlOjk5OTlcIjtcbiAgICAgICAgc2V0ICRhZG1pbl9mcm9udGVuZF9iYWNrZW5kIFwiaHR0cDovL2FkbWluX2Zyb250ZW5kOjMwMDBcIjtcbiAgICAgICAgIyBHb1RydWUgQXV0aGVudGljYXRpb24gU2VydmljZVxuICAgICAgICBsb2NhdGlvbiAvZ290cnVlLyB7XG4gICAgICAgICAgICBwcm94eV9wYXNzICRnb3RydWVfYmFja2VuZDtcblxuICAgICAgICAgICAgcmV3cml0ZSBeL2dvdHJ1ZSgvLiopJCAkMSBicmVhaztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgIyBBbGxvdyBoZWFkZXJzIGxpa2UgcmVkaXJlY3RfdG8gdG8gYmUgaGFuZGVkIG92ZXIgdG8gdGhlIGdvdHJ1ZVxuICAgICAgICAgICAgIyBmb3IgY29ycmVjdCByZWRpcmVjdGluZ1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBIb3N0ICRodHRwX2hvc3Q7XG4gICAgICAgICAgICBwcm94eV9wYXNzX3JlcXVlc3RfaGVhZGVycyBvbjtcbiAgICAgICAgfVxuXG4gICAgICAgICMgV2ViU29ja2V0IGVuZHBvaW50IC0gaGFuZGxlIGJvdGggL3dzIGFuZCAvd3MvdjJcbiAgICAgICAgbG9jYXRpb24gL3dzIHtcbiAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFwcGZsb3d5X2Nsb3VkX2JhY2tlbmQ7XG5cbiAgICAgICAgICAgIHByb3h5X2h0dHBfdmVyc2lvbiAxLjE7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFVwZ3JhZGUgJGh0dHBfdXBncmFkZTtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgQ29ubmVjdGlvbiBcIlVwZ3JhZGVcIjtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaG9zdDtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICRyZW1vdGVfYWRkcjtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1Gb3J3YXJkZWQtRm9yICRwcm94eV9hZGRfeF9mb3J3YXJkZWRfZm9yO1xuICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Qcm90byAkc2NoZW1lO1xuICAgICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDg2NDAwcztcbiAgICAgICAgfVxuXG4gICAgICAgICMgQVBJIGVuZHBvaW50c1xuICAgICAgICBsb2NhdGlvbiAvYXBpIHtcbiAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFwcGZsb3d5X2Nsb3VkX2JhY2tlbmQ7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtUmVxdWVzdC1JZCAkcmVxdWVzdF9pZDtcbiAgICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0O1xuXG4gICAgICAgICAgICAjIFNwZWNpYWwgaGFuZGxpbmcgZm9yIHB1Ymxpc2ggZW5kcG9pbnRcbiAgICAgICAgICAgIGxvY2F0aW9uIH4qIF4vYXBpL3dvcmtzcGFjZS8oW2EtekEtWjAtOV8tXSspL3B1Ymxpc2gkIHtcbiAgICAgICAgICAgICAgICBwcm94eV9wYXNzICRhcHBmbG93eV9jbG91ZF9iYWNrZW5kO1xuICAgICAgICAgICAgICAgIHByb3h5X3JlcXVlc3RfYnVmZmVyaW5nIG9mZjtcbiAgICAgICAgICAgICAgICBjbGllbnRfbWF4X2JvZHlfc2l6ZSAyNTZNO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjIENoYXQgZW5kcG9pbnQgKHN0cmVhbWluZylcbiAgICAgICAgICAgIGxvY2F0aW9uIC9hcGkvY2hhdCB7XG4gICAgICAgICAgICAgICAgcHJveHlfcGFzcyAkYXBwZmxvd3lfY2xvdWRfYmFja2VuZDtcblxuICAgICAgICAgICAgICAgIHByb3h5X2h0dHBfdmVyc2lvbiAxLjE7XG4gICAgICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBDb25uZWN0aW9uIFwiXCI7XG4gICAgICAgICAgICAgICAgY2h1bmtlZF90cmFuc2Zlcl9lbmNvZGluZyBvbjtcbiAgICAgICAgICAgICAgICBwcm94eV9idWZmZXJpbmcgb2ZmO1xuICAgICAgICAgICAgICAgIHByb3h5X2NhY2hlIG9mZjtcblxuICAgICAgICAgICAgICAgIHByb3h5X3JlYWRfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgICAgIHByb3h5X3NlbmRfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjIEltcG9ydCBlbmRwb2ludFxuICAgICAgICAgICAgbG9jYXRpb24gL2FwaS9pbXBvcnQge1xuICAgICAgICAgICAgICAgIHByb3h5X3Bhc3MgJGFwcGZsb3d5X2Nsb3VkX2JhY2tlbmQ7XG5cbiAgICAgICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtUmVxdWVzdC1JZCAkcmVxdWVzdF9pZDtcbiAgICAgICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGh0dHBfaG9zdDtcblxuICAgICAgICAgICAgICAgIHByb3h5X3JlYWRfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCA2MDBzO1xuICAgICAgICAgICAgICAgIHByb3h5X3NlbmRfdGltZW91dCA2MDBzO1xuXG4gICAgICAgICAgICAgICAgcHJveHlfcmVxdWVzdF9idWZmZXJpbmcgb2ZmO1xuICAgICAgICAgICAgICAgIHByb3h5X2J1ZmZlcmluZyBvZmY7XG4gICAgICAgICAgICAgICAgcHJveHlfY2FjaGUgb2ZmO1xuICAgICAgICAgICAgICAgIGNsaWVudF9tYXhfYm9keV9zaXplIDJHO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgIyBBZG1pbiBGcm9udGVuZFxuICAgICAgICAjIE9wdGlvbmFsIE1vZHVsZSwgY29tbWVudCB0aGlzIHNlY3Rpb24gaWYgeW91IGRpZCBub3QgZGVwbG95IGFkbWluX2Zyb250ZW5kIGluIGRvY2tlci1jb21wb3NlLnltbFxuICAgICAgICBsb2NhdGlvbiAvY29uc29sZSB7XG4gICAgICAgICAgICBwcm94eV9wYXNzICRhZG1pbl9mcm9udGVuZF9iYWNrZW5kO1xuXG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtU2NoZW1lICRzY2hlbWU7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGhvc3Q7XG4gICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtUmVhbC1JUCAkcmVtb3RlX2FkZHI7XG4gICAgICAgICALine truncated
"tags": [
"appflowy",
"notion",