goniszewski / grimoire Goto Github PK
View Code? Open in Web Editor NEWBookmark manager for the wizards π§
Home Page: https://grimoire.pro
License: MIT License
Bookmark manager for the wizards π§
Home Page: https://grimoire.pro
License: MIT License
Describe the bug
After deleting a bookmark or changing settings, the webapp does not update the view until the page is refreshed.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The webapp should have the latest data. You should not have to refresh to see the up to data settings or bookmarks.
Screenshots
Before refresh:
After refresh:
Desktop (please complete the following information):
Let me know if you need any more information
Describe the bug
Docker compose starts up just fine, however as soon as you hit the web URL, I get a 500 Internal Error
To Reproduce
Expected behavior
The containers should start, and I should be able to hit the URL and view the application
Screenshots
Error:
docker-compose logs | more
/usr/lib/python3.12/site-packages/requests/__init__.py:109: RequestsDependencyWarning: urllib3 (2.0.7) or chardet (5.2.0)/charset_normalizer (3.2.0) doesn't match a supported version!
warnings.warn(
Attaching to grimoire, grimoire-pocketbase
grimoire | Listening on 0.0.0.0:5173
grimoire | ClientResponseError 0: The request was autocancelled. You can find more info in https://github.com/pocketbase/js-sdk#auto-cancellation.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at async load (file:///app/build/server/chunks/0-546e495e.js:32:24)
grimoire | at async load_server_data (file:///app/build/server/index.js:1186:18)
grimoire | at async file:///app/build/server/index.js:2557:18 {
grimoire | url: '',
grimoire | status: 0,
grimoire | response: {},
grimoire | isAbort: true,
grimoire | originalError: DOMException [AbortError]: This operation was aborted
grimoire | at fetch (file:///app/build/shims.js:20346:13)
grimoire | at async load (file:///app/build/server/chunks/0-546e495e.js:32:24)
grimoire | at async load_server_data (file:///app/build/server/index.js:1186:18)
grimoire | at async file:///app/build/server/index.js:2557:18
grimoire | }
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
There's no single self-hosted sync server that takes care of browsinghistory. Except for Firefox Sync server.
Describe the solution you'd like
For Grimoire to sync browsing history.
Describe alternatives you've considered
Firefox Sync server, which has lots of issues and it's hard to properly set up.
First, I recently found this project and I'm excited to try this out as a self-hosted bookmark alternative to Raindrop! It's super minor, but I thought I would point out that the grimoire website favicon is the default Docusaurus icon, and I'm sure the intention is to have the grimoire icon there. But I really I just wanted to take advantage of this to let you know that I appreciate the hard work you're putting into the project that you're graciously allowing others to use!
In order to simplify installation, it would be great to be able to use the docker image without needing to clone the repository. Ideally, the image would also include and apply all the pocketbase migrations at startup, so that those files aren't required either.
Describe the bug
After setting up the container I am unable to login through the admin portal with my defined credentials and I can't set up a new user.
grimoire-pocketbase | 2024/03/14 21:27:14 Server started at http://0.0.0.0:80
grimoire-pocketbase | ββ REST API: http://0.0.0.0:80/api/
grimoire-pocketbase | ββ Admin UI: http://0.0.0.0:80/_/
grimoire | Configuration used {
grimoire | BACKEND_URL: 'https://grimoire.local.mydomain.co.uk/pb',
grimoire | POCKETBASE_URL: 'https://grimoire.local.mydomain.co.uk/pb',
grimoire | HTTPS_ONLY: false,
grimoire | SIGNUP_DISABLED: false
grimoire | }
grimoire | Listening on 0.0.0.0:5173
grimoire | ClientResponseError 405: Method Not Allowed.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31966
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async AdminService.authWithPassword (file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:10785)
grimoire | at async default (file:///app/build/server/chunks/5-QHe1JzzZ.js:9:7)
grimoire | at async handle_action_request (file:///app/build/server/index.js:966:18)
grimoire | at async render_page (file:///app/build/server/index.js:2525:23)
grimoire | at async resolve2 (file:///app/build/server/index.js:3637:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-MgKWq-jv.js:33:20)
grimoire | at async respond (file:///app/build/server/index.js:3528:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1243:3) {
grimoire | url: 'https://grimoire.local.mydomain.co.uk/pb/api/admins/auth-with-password',
grimoire | status: 405,
grimoire | response: { code: 405, message: 'Method Not Allowed.', data: {} },
grimoire | isAbort: false,
grimoire | originalError: {
grimoire | url: 'https://grimoire.local.mydomain.co.uk/pb/api/admins/auth-with-password',
grimoire | status: 405,
grimoire | data: { code: 405, message: 'Method Not Allowed.', data: {} }
grimoire | }
grimoire | }
I am unsure whether my Traefik setup may be to blame:
I have tried using the labels defined in the docs
network_mode: bridge
labels:
- traefik.http.routers.grimoire-pocketbase.rule=Host(`grimoire.local.mydomain.co.uk`) && PathPrefix(`/pb/`)
- traefik.http.middlewares.grimoire-pocketbase.stripprefix.prefixes=/pb
- traefik.http.routers.grimoire-pocketbase.middlewares=grimoire-pocketbase
AND
network_mode: bridge
labels:
- traefik.http.routers.grimoire.rule=Host(`grimoire.local.mydomain.co.uk`)
But this will not allow anything to load.
When I use the following, the service will load and I can navigate the login pages, but I can't submit any data.
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.grimoire-pocketbase.entrypoints=http"
- "traefik.http.routers.grimoire-pocketbase.rule=Host(`grimoire.local.mydomain.co.uk`) && PathPrefix(`/pb/`)"
- "traefik.http.middlewares.grimoire-pocketbase.stripprefix.prefixes=/pb"
- "traefik.http.middlewares.grimoire-pocketbase-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.grimoire-pocketbase.middlewares=grimoire-pocketbase"
- "traefik.http.routers.grimoire-pocketbase.middlewares=grimoire-pocketbase-https-redirect"
- "traefik.http.routers.grimoire-pocketbase-secure.entrypoints=https"
- "traefik.http.routers.grimoire-pocketbase-secure.rule=Host(`grimoire.local.mydomain.co.uk`) && PathPrefix(`/pb/`)"
- "traefik.http.routers.grimoire-pocketbase-secure.tls=true"
- "traefik.http.routers.grimoire-pocketbase-secure.service=grimoire-pocketbase"
- "traefik.http.services.grimoire-pocketbase.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
AND
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.grimoire.entrypoints=http"
- "traefik.http.routers.grimoire.rule=Host(`grimoire.local.mydomain.co.uk`)"
- "traefik.http.middlewares.grimoire-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.grimoire.middlewares=grimoire-https-redirect"
- "traefik.http.routers.grimoire-secure.entrypoints=https"
- "traefik.http.routers.grimoire-secure.rule=Host(`grimoire.local.mydomain.co.uk`)"
- "traefik.http.routers.grimoire-secure.tls=true"
- "traefik.http.routers.grimoire-secure.service=grimoire"
- "traefik.http.services.grimoire.loadbalancer.server.port=5173"
- "traefik.docker.network=proxy"
AND
networks:
proxy:
external: true
To Reproduce
Steps to reproduce the behavior:
Traefik setup following this guide - https://technotim.live/posts/traefik-portainer-ssl/
docker-compose.yml as described.
.env:
# Set it if you're using external PocketBase installation (default: http://localhost:8090)
# Example: PUBLIC_POCKETBASE_URL=https://grimoire.mydomain.com:8090
PUBLIC_POCKETBASE_URL=https://grimoire.local.mydomain.co.uk/pb
# RECOMMENDED: Change this to your email
[email protected]
# RECOMMENDED: Use a secure password. Can be later changed in PocketBase's admin panel
ROOT_ADMIN_PASSWORD=changeme
# Set this to your domain name (default: http://localhost:5173)
# Example: ORIGIN=grimoire.mydomain.com
ORIGIN=https://grimoire.local.mydomain.co.uk
# Set this to true if you're using HTTPS (default: false)
# Example: PUBLIC_HTTPS_ONLY=true
PUBLIC_HTTPS_ONLY=false
# Change to the port you want the app to listen on (default: 5173)
# Example: PORT=80
PORT=5173
# Set this to true if you want to disable public signups (default: false)
PUBLIC_SIGNUP_DISABLED=false
Additional context
I'm no expert on Traefik and I have used the labels I tend to use for my other services. I have tried removing some and modifying some but have not had any luck yet.
A way to create offline copy of the webpages. Something to prevent link rot. Will be useful if website goes down and we will have access to local offline version of the webpage.
Import bookmarks from Shaarli could ease migration.
Just a small idea for user setting:
"Always open link in new tab"
The "open in new tab"-icon could then switch to "bookmark details"
I usually open multiple links by ctrl+click, but doing that with the small "open in new tab"-symbol is challenging
Describe the bug
I have a bookmark that is at this level of categories: Self-Hosted > Photos > Immich. The Immich subcategory does not show in the left column.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Immich should be listed under Photos.
Desktop (please complete the following information):
Additional context
Running latest version (v0.2.6) on Docker Desktop for Mac 4.28.0.
in: src/lib/config.ts
shouldn't those two get their values from two different environment-variables to define the front & backend ?
best regards
Hi,
i'm trying to build the docker-compose but i t fail in the JS stacktrace, if i understand correctly.
This is the list of messages:
Building grimoire
[+] Building 285.0s (13/15) docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.04kB 0.0s
=> [internal] load metadata for docker.io/library/node:20-slim 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 273B 0.0s
=> [base 1/5] FROM docker.io/library/node:20-slim 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 10.52kB 0.1s
=> CACHED [base 2/5] RUN corepack enable 0.0s
=> CACHED [base 3/5] RUN apt-get update && apt-get install -y python3 python3-pip 0.0s
=> CACHED [base 4/5] COPY . /app 0.0s
=> CACHED [base 5/5] WORKDIR /app 0.0s
=> CACHED [build 1/2] RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile 0.0s
=> CACHED [prod-deps 1/1] RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-loc 0.0s
=> CACHED [stage-3 1/3] COPY --from=prod-deps /app/node_modules /app/node_modules 0.0s
=> ERROR [build 2/2] RUN pnpm run build 284.7s
[build 2/2] RUN pnpm run build:
2.117
2.117 > [email protected] build /app
2.117 > vite build
2.117
5.613
5.615 vite v4.5.1 building SSR bundle for production...
5.694 transforming...
9.906
9.906 warn - As of Tailwind CSS v3.3, the@tailwindcss/line-clamp
plugin is now included by default.
9.906 warn - Remove it from theplugins
array in your configuration to eliminate this warning.
10.85
10.85 βββ πΌ daisyUI 3.9.4 https://daisyui.com
11.18 β
11.18 βββ 2 themes are enabled. How to add more themes:
11.18 β https://daisyui.com/docs/themes
11.18 β
11.18 β°ββ π Support daisyUI project: https://opencollective.com/daisyui
11.18
11.77
11.77 βββ πΌ daisyUI 3.9.4 https://daisyui.com
12.04 β
12.04 βββ 2 themes are enabled. How to add more themes:
12.04 β https://daisyui.com/docs/themes
12.04 β
12.04 β°ββ β Star daisyUI project on GitHub: https://github.com/saadeghi/daisyui
12.04
64.97 src/routes/+page.svelte (189:13) "PUBLIC_SIGNUP_DISABLED" is not exported by "virtual:$env/static/public", imported by "src/routes/+page.svelte".
66.19 "BaseAuthStore" is imported from external module "pocketbase" but never used in "src/lib/pb.ts".
66.20 β 5036 modules transformed.
66.63 rendering chunks...
72.59 vite v4.5.1 building for production...
72.59
72.61 transforming...
283.8
283.8 <--- Last few GCs --->
283.8
283.8 [19:0x560ebd0] 276977 ms: Mark-Compact 1836.5 (1906.5) -> 1821.3 (1908.3) MB, 1863.04 / 0.21 ms (average mu = 0.207, current mu = 0.212) allocation failure; scavenge might not succeed
283.8 [19:0x560ebd0] 279277 ms: Mark-Compact 1838.0 (1908.3) -> 1822.5 (1909.8) MB, 1995.94 / 0.06 ms (average mu = 0.171, current mu = 0.132) allocation failure; scavenge might not succeed
283.8
283.8
283.8 <--- JS stacktrace --->
283.8
283.8 FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
283.8 ----- Native stack trace -----
283.8
283.8 1: 0xca5430 node::Abort() [node]
283.8 2: 0xb7807d [node]
283.8 3: 0xeca0b0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
283.8 4: 0xeca397 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
283.8 5: 0x10dc0e5 [node]
283.8 6: 0x10dc674 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [node]
283.8 7: 0x10f3564 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [node]
283.8 8: 0x10f3d7c v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
283.8 9: 0x114cb3c v8::internal::MinorGCJob::Task::RunInternal() [node]
283.9 10: 0xd201a6 [node]
283.9 11: 0xd22d5f node::PerIsolatePlatformData::FlushForegroundTasksInternal() [node]
283.9 12: 0x188aa33 [node]
283.9 13: 0x189f41b [node]
283.9 14: 0x188b757 uv_run [node]
283.9 15: 0xbbbb83 node::SpinEventLoopInternal(node::Environment*) [node]
283.9 16: 0xcf4d25 [node]
283.9 17: 0xcf56ed node::NodeMainInstance::Run() [node]
283.9 18: 0xc5f367 node::Start(int, char**) [node]
283.9 19: 0x7f751e2171ca [/lib/x86_64-linux-gnu/libc.so.6]
283.9 20: 0x7f751e217285 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
283.9 21: 0xbb8d7e _start [node]
284.5 Aborted (core dumped)
284.5 βELIFECYCLEβ Command failed with exit code 134.
Dockerfile:14
12 | FROM base AS build
13 | RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
14 | >>> RUN pnpm run build
15 |
16 | FROM base
ERROR: failed to solve: process "/bin/sh -c pnpm run build" did not complete successfully: exit code: 1
ERROR: Service 'grimoire' failed to build : Build failed
Are a minimal requirements to install?
I have 4GB of memory in the system but i use less than 1GB.
I hope that someone can help me.
Is your feature request related to a problem? Please describe.
At this very moment, bookmark search is based on items from $page.data.bookmarks
(code) which can be pretty sparse thanks to page
and limit
parameters (code).
This is unacceptable and should be handled properly for the whole bookmark collection. Keep in mind that PocketBase doesn't support fuzzy search yet, and Fuse.js we're using is local only, so all the bookmarks should be loaded on the client/server. It can cause a significant load when dealing with large collections.
Describe the solution you'd like
I want to make the search work with all users' bookmarks. Moreover, to be efficient enough to not cause any issues with bigger bookmark counts.
Describe alternatives you've considered
We can always try to connect to the DB itself. But if there's any way to deal with this problem without bypassing PB, it would be the preferred one.
Additional context
Not atm.
Describe the bug
Can't log in.
To Reproduce
Steps to reproduce the behavior:
docker-compose --env-file .env.docker up
Expected behavior
I could log in using the credentials in .env.docker
Screenshots
Additional context
Attaching to grimoire-pocketbase, grimoire
grimoire-pocketbase | 2023/11/29 20:52:18 Server started at http://0.0.0.0:80
grimoire-pocketbase | ββ REST API: http://0.0.0.0:80/api/
grimoire-pocketbase | ββ Admin UI: http://0.0.0.0:80/_/
grimoire | Listening on 0.0.0.0:5173
grimoire | ClientResponseError 400: Failed to authenticate.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/7-cc1cc215.js:9:20)
grimoire | at async handle_action_request (file:///app/build/server/index.js:1072:18)
grimoire | at async render_page (file:///app/build/server/index.js:2508:23)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | url: 'http://pocketbase/api/collections/users/auth-with-password',
grimoire | status: 400,
grimoire | response: { code: 400, message: 'Failed to authenticate.', data: {} },
grimoire | isAbort: false,
grimoire | originalError: {
grimoire | url: 'http://pocketbase/api/collections/users/auth-with-password',
grimoire | status: 400,
grimoire | data: { code: 400, message: 'Failed to authenticate.', data: {} }
grimoire | }
grimoire | }
grimoire | ClientResponseError 404: The requested resource wasn't found.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/12-e50058f8.js:14:7)
grimoire | at async handle_action_json_request (file:///app/build/server/index.js:997:18)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | url: 'http://pocketbase/api/collections/categories/records',
grimoire | status: 404,
grimoire | response: {
grimoire | code: 404,
grimoire | message: "The requested resource wasn't found.",
grimoire | data: {}
grimoire | },
grimoire | isAbort: false,
It took 11 plus minutes to deploy the container only to find out it won't work locally. Do I HAVE to have it behind a reverse proxy? If so please let me know so I can test again. I hope to use this and write a review soon.
Issues seem to be with Pocketbase? When I try to log in I get this error. I followed your install guide which seems pretty basic. The install however took forever lol.
Cross-site POST form submissions are forbidden
Thank you!
Describe the bug
I have a bookmark under Self-Hosted > Photos and another one under Self-Hosted > Bookmarks. Clicking on Self-Hosted does not list any of those bookmarks.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Bookmarks from subcategories and also their subcategories should be listed underneath the top-level category.
Desktop (please complete the following information):
Additional context
Running latest version (v0.2.6) on Docker Desktop for Mac 4.28.0.
Describe the solution you'd like
With Grimoire being the only bookmark manager I know that does browser-side metadata delivery, it seems like the next move is to allow us to actually search through that metadata in the bookmark manager.
Right now, any information in the "Content" saved in a bookmark appears to not really be utilized, unless you use AI. I am storing corporate web pages for my own reference, hosted locally, and cannot utilize AI for tagging/summarization/etc.
Can the search feature include searching the content fields for bookmarks?
I've been watching this project with great interest since you posted about it on reddit and I'd like to help make some of the roadmap features a reality. Are there features you're working on currently that you'd like help with QA on? Are there features you know you're not going to tackle in the immediate that you'd like me or others to start on? Thanks for open sourcing all your time and effort!
Describe the bug
Some URLs have only the filename of an image being parsed by get-metadata.ts
(like favicon.icon
). It causes an unhandled error when addNewBookmark
action tries to fetch it here:
grimoire/src/routes/+page.server.ts
Line 88 in 40e179f
To Reproduce
Steps to reproduce the behavior:
https://news.ycombinator.com/
Error: Not found: /favicon.ico
and Error: Cannot use relative URL (favicon.ico) with global fetch β use
event.fetch instead: https://kit.svelte.dev/docs/web-standards#fetch-apis
Expected behavior
In get-metadata.ts
all relative URLs for images should be replaced with absolute ones, if possible. The addNewBookmark
should gracefully handle any failed attempts for fetching images.
Hi there.
Ollama URL from the settings is not respected when adding a link.
I was able to bypass it by replacing all localhost:11434:
find "." -type f | xargs sed -i "s/localhost:11434/aaa.bbb.ccc.ddd:11434"/g"
and then building the image locally.
Steps to reproduce the behavior:
Request in 5 should be targeted at the ollama url in the settings.
(Edit for formatting)
When logging into the app and waiting for the bookmarks to be shown - all of the bookmarks appear with an unloaded picture. Trying to open it up manually will result in a 500 error. The logs show this:
TypeError: fetch failed at node:internal/deps/undici/undici:12618:11 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async GET (file:///app/build/server/chunks/_server.ts-z21KZ-VH.js:6:20) at async render_endpoint (file:///app/build/server/index.js:391:20) at async resolve2 (file:///app/build/server/index.js:3661:22) at async Object.handle (file:///app/build/server/chunks/hooks.server--1Uz_Y0W.js:32:20) at async respond (file:///app/build/server/index.js:3555:22) at async Array.ssr (file:///app/build/handler.js:1243:3) { cause: Error: connect ECONNREFUSED 127.0.0.1:8090 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1605:16) { errno: -111, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8090 }
The instance is self-hosted in a container in Unraid, with Pocketbase, using the :latest tag for the container.
Steps to reproduce the behavior:
Expected behavior
Background pictures for bookmarks are loaded and shown
Desktop (please complete the following information):
According to https://stackoverflow.com/questions/47870786/express-proxy-api-calls-with-cookie it seems possible to add the cookies from the initial request to the proxy request, therefore enabling cookie-based sso
The :latest seems to point to version 0.26 (probably because of the breaking changes). That should be mentioned
Describe the bug
I've created two tags, called Test Tag 1
and TestTag2
.
On the left side (marked with red), the links to the tags are https://my-server/tags/test-tag-1
and https://my-server/tags/testtag2
. These links work. The tag links below the link (marked with yellow) lead to https://my-server/tags/Test%20Tag%201
respectively https://my-server/tags/TestTag2
which end up on the page Tag: undefined
To Reproduce
Steps to reproduce the behavior:
Test Tag 1
and TestTag2
.Expected behavior
The link for the tags should be translated in the same way as they are for the links on the left side - or not translated for both.
Screenshots
Additional context
REPOSITORY TAG IMAGE ID CREATED SIZE
goniszewski/grimoire latest 165dc89e8f6f 2 days ago 1.04GB
spectado/pocketbase 0.19.2 fec2ed5075bd 5 months ago 55.1MB
Describe the bug
The application starts itself without errors after docker-compose up
:
$ docker-compose up
[+] Building 0.0s (0/0)
[+] Running 2/0
β Container grimoire-pocketbase Created
β Container grimoire Created
Attaching to grimoire, grimoire-pocketbase
grimoire-pocketbase | 2024/01/23 13:15:19 Server started at http://0.0.0.0:80
grimoire-pocketbase | ββ REST API: http://0.0.0.0:80/api/
grimoire-pocketbase | ββ Admin UI: http://0.0.0.0:80/_/
grimoire | Listening on 0.0.0.0:5173
But when I try to access http://localhost:5173
I receive an error 500. The console shows an error in loop:
grimoire | ClientResponseError 0: The request was autocancelled. You can find more info in https://github.com/pocketbase/js-sdk#auto-cancellation.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at async load (file:///app/build/server/chunks/0-546e495e.js:32:24)
grimoire | at async load_server_data (file:///app/build/server/index.js:1186:18)
grimoire | at async file:///app/build/server/index.js:2557:18 {
grimoire | url: '',
grimoire | status: 0,
grimoire | response: {},
grimoire | isAbort: true,
grimoire | originalError: DOMException [AbortError]: This operation was aborted
grimoire | at fetch (file:///app/build/shims.js:20346:13)
grimoire | at async load (file:///app/build/server/chunks/0-546e495e.js:32:24)
grimoire | at async load_server_data (file:///app/build/server/index.js:1186:18)
grimoire | at async file:///app/build/server/index.js:2557:18
grimoire | }
grimoire | ClientResponseError 0: The request was autocancelled. You can find more info in https://github.com/pocketbase/js-sdk#auto-cancellation.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at async load (file:///app/build/server/chunks/0-546e495e.js:32:24)
grimoire | at async load_server_data (file:///app/build/server/index.js:1186:18)
grimoire | at async respond_with_error (file:///app/build/server/index.js:2215:27)
grimoire | at async resolve (file:///app/build/server/index.js:3573:16)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-6da8a1ec.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3404:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | url: '',
grimoire | status: 0,
grimoire | response: {},
grimoire | isAbort: true,
grimoire | originalError: DOMException [AbortError]: This operation was aborted
grimoire | at fetch (file:///app/build/shims.js:20346:13)
grimoire | at async load (file:///app/build/server/chunks/0-546e495e.js:32:24)
grimoire | at async load_server_data (file:///app/build/server/index.js:1186:18)
grimoire | at async respond_with_error (file:///app/build/server/index.js:2215:27)
grimoire | at async resolve (file:///app/build/server/index.js:3573:16)
<continues forever>
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The web application should not return an error 500.
Desktop (please complete the following information):
Additional context
I already have other docker containers running without problems in my WSL.
This is my .env
:
# Set it if you're using external PocketBase installation (default: http://localhost:8090)
# Example: PUBLIC_POCKETBASE_URL=https://grimoire.mydomain.com:8090
PUBLIC_POCKETBASE_URL=
# RECOMMENDED: Change this to your email
[email protected]
# RECOMMENDED: Use a secure password. Can be later changed in PocketBase's admin panel
ROOT_ADMIN_PASSWORD=123456
# Set this to your domain name (default: http://localhost:5173)
# Example: ORIGIN=grimoire.mydomain.com
ORIGIN=http://localhost:5173
# Set this to true if you're using HTTPS (default: false)
# Example: PUBLIC_HTTPS_ONLY=true
PUBLIC_HTTPS_ONLY=false
# Change to the port you want the app to listen on (default: 5173)
# Example: PORT=80
PORT=5173
# Set this to true if you want to disable public signups (default: false)
PUBLIC_SIGNUP_DISABLED=false
Cool project, found via HN. Since you are already having account management, Social bookmarking seems like a small step away. Recently Postmarks was launched with Fediverse support, and very well received. You may consider adding ActivityPub support and be interoperable with Postmarks and other apps on the Fediverse (like Mastodon and Lemmy). It that doesn't interest you, feel free to close the issue.. I'm just providing a showerthought idea.. π€
Describe the bug
I've used the docker-compose.yml
and .env
files as stock from Github, and modified to my own spec, but regardless every time I login to the app's WebUI, I get the error "Could not connect to Pocketbase on . Is it running? " According to docker logs, both the grimoire and pocketbase containers are running fine. Since Pocketbase can't connect, I can't move on to create a new user. I've tried manually adding the pb_data
and pb_migrations
folders, and left them to be created by docker when running docker compose up, but neither method resolves the issue.
To Reproduce
Steps to reproduce the behavior:
Just use the default .env and docker-compose.yml
Expected behavior
To function as advertised.
maybe the question is more for pocketbase but how could I extract the bookmarks and access them from Obsidian (read only)? If I am using pockethost for example, what kind of API call should I run to see the list of bookmarks with their content?
Describe the bug
On a fresh install of Grimoire using git clone and docker-compose up, running localhost without any default settings changed, the search feature is not working.
Inspecting traffic, I can see it's attempting to filter the relevant results based on the ids
parameter being passed to the http://localhost:5173/api/bookmarks endpoint, however when any IDs are being passed in the array through the parameter, it's rejecting with a 500 and:
{
"success": false,
"error": "Invalid filter parameters."
}
To Reproduce
Steps to reproduce the behavior:
ids
param populates with ID of correct bookmark(s) when typing, however server is returning 500ids
field is blank, and it returns 200Expected behavior
When the HTTP request is generated for the /api/bookmarks endpoint and an array of ids is being passed through, the server should be responding with a 200 HTTP response with the metadata of the relevant bookmarks requested, and not a 500 Internal Server Error.
Desktop (please complete the following information):
When running a Caddy reverse proxy directing https://grimoire.mysite.com to localhost:5173, the login page loads fine, but after clicking submit the following error appears: Cross-site POST form submissions are forbidden
This is usually resolved by either making Grimoire aware of its own domain in a Docker variable or enabling cross-site POST in Caddy, but Grimoire shouldn't be redirecting to another domain, so the former is more likely. Enabling cross-site can be a security risk as a compromised container can redirect your login credentials to another site.
Describe the bug
docker-compose up
"install" produces non working instance, no idea how to login when all i get is Incorrect credentials.
% grep -v '^#' .env
PUBLIC_POCKETBASE_URL=
[email protected]
ROOT_ADMIN_PASSWORD=test123
ORIGIN=http://localhost:5173
PUBLIC_HTTPS_ONLY=
PORT=5173
PUBLIC_SIGNUP_DISABLED=false
% docker compose up
[+] Running 2/2
β Container grimoire-pocketbase Recreated 0.1s
β Container grimoire Recreated 0.1s
Attaching to grimoire, grimoire-pocketbase
grimoire-pocketbase | 2024/01/06 03:26:54 Server started at http://0.0.0.0:80
grimoire-pocketbase | ββ REST API: http://0.0.0.0:80/api/
grimoire-pocketbase | ββ Admin UI: http://0.0.0.0:80/_/
grimoire | Listening on 0.0.0.0:5173
grimoire | { invalid: true }
grimoire | { invalid: true }
To Reproduce
Steps to reproduce the behavior:
git clone https://github.com/goniszewski/grimoire
.env
docker compose up
.env
Expected behavior
be able to login with the email/pw defined in .env
Desktop (please complete the following information):
Describe the bug
The "add bookmark" and "edit" buttons are not working. The first when you click the component to insert the url appears, but the "ADD" button never be enabled. Clicking on edit button do nothing. The delete button and the chrome extension are working fine.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Open another box with the details related to the link that I paste.
Desktop (please complete the following information):
Additional context
I use the docker version from source code and updated the code today.
I saw this errors on the developer tools when the page loads. Don't know if this is relevant
Is your feature request related to a problem? Please describe.
I would like to use my grimoire instance as a single user one. This would allow me to expose it to the internet without having random people create user on this instance.
Describe the solution you'd like
The best solution would be to set an environment variable to enable registration or not (e.g. Gitea does it this way: https://docs.gitea.com/next/administration/config-cheat-sheet#service-service DISABLE_REGISTRATION
).
Describe alternatives you've considered
One hacky way was to do it using this solution:
pocketbase/pocketbase#3488 (comment)
Additional context
Hi there,
Trying to add a bookmark without any category existing triggers an error and blocks the adding process.
Display an error saying that no category exists/create a "Uncategorized" category/Allow the creation of the category on the pane
For docker-internal pocketbase-installations without a public domain some kind of proxy would be useful to avoid missing images.
Describe the bug
Grimoire API not reachable from extension through Cloudflare tunnel or locally on fresh docker setup.
Also, trying to directly add bookmark by accessing grimoire locally is not possible because Add button is disabled and bookmark popup cannot be closed.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Bookmark was saved to Grimoire
Desktop (please complete the following information):
Describe the bug
Error regarding .env file
To Reproduce
Here is my compose file
version: '3.7'
services:
pocketbase:
image: spectado/pocketbase:0.19.2
container_name: grimoire-pocketbase
restart: unless-stopped
ports:
- '8091:80'
volumes:
- /mnt/user/appdata/grimoire/pb_data:/pb_data
- /mnt/user/appdata/grimoire/pb_migrations:/pb_migrations/
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8091/api/health || exit 1
interval: 5s
timeout: 5s
retries: 5
env_file: .env
grimoire:
image: goniszewski/grimoire:latest
container_name: grimoire
restart: unless-stopped
env_file: .env
build:
context: .
dockerfile: Dockerfile
ports:
- '5173:5173'
depends_on:
- pocketbase
Desktop (please complete the following information):
Additional context
I'm trying to deploy this using portainer but I get this error message
Deployment error
failed to deploy a stack: Failed to load /data/compose/47/.env: open /data/compose/47/.env: no such file or directory
Great Project.
If you are creating a browser-addon, please keep in mind that people (like me) are using it for sites that are protected by basic auth/sso (like authentik)
Running the git clone
command in an otherwise functioning Fedora installation results in the following:
[nico@gallus grimoire]$ git clone [email protected]:goniszewski/grimoire.git
Cloning into 'grimoire'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
I was able to replicate the issue on an Arch machine as well.
Feature parity to Shaarli:
?url=...&title=...¬e=...&...
)I added checkboxes in case something is already supported
Describe the bug
Internal Server Error on User Registration. The default admin and password in the env.docker are also not working
To Reproduce
Steps to reproduce the behavior:
Run docker-compose --env-file .env.docker up
Sign up
And the error occurs.
Expected behavior
A user should be created with the supplied username and password.
Screenshots
Desktop (please complete the following information):
Additional context
ilfs@ilfs80:~/Public/grimoire$ docker compose --env-file .env.docker up
[+] Running 16/16
β pocketbase 3 layers [β£Ώβ£Ώβ£Ώ] 0B/0B Pulled 16.4s
β 96526aa774ef Pull complete 3.5s
β b81d65e74622 Pull complete 4.4s
β a6035ffe0b8d Pull complete 7.8s
β grimoire 11 layers [β£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώ] 0B/0B Pulled 92.5s
β 1f7ce2fa46ab Pull complete 8.4s
β be65943961fd Pull complete 6.7s
β deaa56ebdf84 Pull complete 13.4s
β 75001c095b3d Pull complete 11.5s
β 696f14a4770f Pull complete 12.1s
β bcd4e171318c Pull complete 14.0s
β e20100610709 Pull complete 30.2s
β 912033d20149 Pull complete 18.2s
β 4f4fb700ef54 Pull complete 16.5s
β 86b0332a7a4b Pull complete 23.4s
β ac31ac158758 Pull complete 20.9s
[+] Running 3/3
β Network grimoire_default Created 0.2s
β Container grimoire-pocketbase Created 6.5s
β Container grimoire Created 1.9s
Attaching to grimoire, grimoire-pocketbase
grimoire-pocketbase | 2023/11/30 12:36:14 Server started at http://0.0.0.0:80
grimoire-pocketbase | ββ REST API: http://0.0.0.0:80/api/
grimoire-pocketbase | ββ Admin UI: http://0.0.0.0:80/_/
grimoire | Listening on 0.0.0.0:5173
grimoire | Error: Not found: /favicon.ico
grimoire | at resolve (file:///app/build/server/index.js:3585:18)
grimoire | at resolve (file:///app/build/server/index.js:3412:34)
grimoire | at Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:26)
grimoire | at respond (file:///app/build/server/index.js:3410:43)
^CGracefully stopping... (press Ctrl+C again to force)
Aborting on container exit...
[+] Stopping 2/2
β Container grimoire Stopped 11.6s
β Container grimoire-pocketbase Stopped 1.2s
canceled
ilfs@ilfs80:~/Public/grimoire$ docker compose --env-file .env.docker up
[+] Running 2/2
β Container grimoire-pocketbase Running 0.0s
β Container grimoire Recreated 1.0s
Attaching to grimoire, grimoire-pocketbase
grimoire | Listening on 0.0.0.0:5173
grimoire | Error: Not found: /favicon.ico
grimoire | at resolve (file:///app/build/server/index.js:3585:18)
grimoire | at resolve (file:///app/build/server/index.js:3412:34)
grimoire | at Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:26)
grimoire | at respond (file:///app/build/server/index.js:3410:43)
grimoire | ClientResponseError 0: Something went wrong while processing your request.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/7-ca624c92.js:9:20)
grimoire | at async handle_action_request (file:///app/build/server/index.js:1072:18)
grimoire | at async render_page (file:///app/build/server/index.js:2508:23)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | url: '',
grimoire | status: 0,
grimoire | response: {},
grimoire | isAbort: false,
grimoire | originalError: TypeError: fetch failed
grimoire | at fetch (file:///app/build/shims.js:20346:13)
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/7-ca624c92.js:9:20)
grimoire | at async handle_action_request (file:///app/build/server/index.js:1072:18)
grimoire | at async render_page (file:///app/build/server/index.js:2508:23)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | cause: Error: connect ECONNREFUSED 127.0.0.1:8090
grimoire | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1595:16) {
grimoire | errno: -111,
grimoire | code: 'ECONNREFUSED',
grimoire | syscall: 'connect',
grimoire | address: '127.0.0.1',
grimoire | port: 8090
grimoire | }
grimoire | }
grimoire | }
grimoire | ClientResponseError 0: Something went wrong while processing your request.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/7-ca624c92.js:9:20)
grimoire | at async handle_action_request (file:///app/build/server/index.js:1072:18)
grimoire | at async render_page (file:///app/build/server/index.js:2508:23)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | url: '',
grimoire | status: 0,
grimoire | response: {},
grimoire | isAbort: false,
grimoire | originalError: TypeError: fetch failed
grimoire | at fetch (file:///app/build/shims.js:20346:13)
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/7-ca624c92.js:9:20)
grimoire | at async handle_action_request (file:///app/build/server/index.js:1072:18)
grimoire | at async render_page (file:///app/build/server/index.js:2508:23)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | cause: Error: connect ECONNREFUSED 127.0.0.1:8090
grimoire | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1595:16) {
grimoire | errno: -111,
grimoire | code: 'ECONNREFUSED',
grimoire | syscall: 'connect',
grimoire | address: '127.0.0.1',
grimoire | port: 8090
grimoire | }
grimoire | }
grimoire | }
grimoire | ClientResponseError 0: Something went wrong while processing your request.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/12-82d76df8.js:12:7)
grimoire | at async handle_action_json_request (file:///app/build/server/index.js:997:18)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | url: '',
grimoire | status: 0,
grimoire | response: {},
grimoire | isAbort: false,
grimoire | originalError: TypeError: fetch failed
grimoire | at fetch (file:///app/build/shims.js:20346:13)
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/12-82d76df8.js:12:7)
grimoire | at async handle_action_json_request (file:///app/build/server/index.js:997:18)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | cause: Error: connect ECONNREFUSED 127.0.0.1:8090
grimoire | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1595:16) {
grimoire | errno: -111,
grimoire | code: 'ECONNREFUSED',
grimoire | syscall: 'connect',
grimoire | address: '127.0.0.1',
grimoire | port: 8090
grimoire | }
grimoire | }
grimoire | }
grimoire | ClientResponseError 0: Something went wrong while processing your request.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/12-82d76df8.js:12:7)
grimoire | at async handle_action_json_request (file:///app/build/server/index.js:997:18)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | url: '',
grimoire | status: 0,
grimoire | response: {},
grimoire | isAbort: false,
grimoire | originalError: TypeError: fetch failed
grimoire | at fetch (file:///app/build/shims.js:20346:13)
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/12-82d76df8.js:12:7)
grimoire | at async handle_action_json_request (file:///app/build/server/index.js:997:18)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | cause: Error: connect ECONNREFUSED 127.0.0.1:8090
grimoire | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1595:16) {
grimoire | errno: -111,
grimoire | code: 'ECONNREFUSED',
grimoire | syscall: 'connect',
grimoire | address: '127.0.0.1',
grimoire | port: 8090
grimoire | }
grimoire | }
grimoire | }
grimoire | ClientResponseError 0: Something went wrong while processing your request.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/12-82d76df8.js:12:7)
grimoire | at async handle_action_json_request (file:///app/build/server/index.js:997:18)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | url: '',
grimoire | status: 0,
grimoire | response: {},
grimoire | isAbort: false,
grimoire | originalError: TypeError: fetch failed
grimoire | at fetch (file:///app/build/shims.js:20346:13)
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/12-82d76df8.js:12:7)
grimoire | at async handle_action_json_request (file:///app/build/server/index.js:997:18)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | cause: Error: connect ECONNREFUSED 127.0.0.1:8090
grimoire | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1595:16) {
grimoire | errno: -111,
grimoire | code: 'ECONNREFUSED',
grimoire | syscall: 'connect',
grimoire | address: '127.0.0.1',
grimoire | port: 8090
grimoire | }
grimoire | }
grimoire | }
grimoire | ClientResponseError 0: Something went wrong while processing your request.
grimoire | at file:///app/node_modules/.pnpm/[email protected]/node_modules/pocketbase/dist/pocketbase.es.mjs:1:31144
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/12-82d76df8.js:12:7)
grimoire | at async handle_action_json_request (file:///app/build/server/index.js:997:18)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | url: '',
grimoire | status: 0,
grimoire | response: {},
grimoire | isAbort: false,
grimoire | originalError: TypeError: fetch failed
grimoire | at fetch (file:///app/build/shims.js:20346:13)
grimoire | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
grimoire | at async default (file:///app/build/server/chunks/12-82d76df8.js:12:7)
grimoire | at async handle_action_json_request (file:///app/build/server/index.js:997:18)
grimoire | at async resolve (file:///app/build/server/index.js:3524:24)
grimoire | at async Object.handle (file:///app/build/server/chunks/hooks.server-13110f1a.js:31:20)
grimoire | at async respond (file:///app/build/server/index.js:3410:22)
grimoire | at async Array.ssr (file:///app/build/handler.js:1221:3) {
grimoire | cause: Error: connect ECONNREFUSED 127.0.0.1:8090
grimoire | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1595:16) {
grimoire | errno: -111,
grimoire | code: 'ECONNREFUSED',
grimoire | syscall: 'connect',
grimoire | address: '127.0.0.1',
grimoire | port: 8090
grimoire | }
grimoire | }
grimoire | }
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
> With commit [d485055](https://github.com/goniszewski/grimoire/commit/d485055081a5d191a6782a3363e13c8dce8cc97b) I was successful in launching the app via `docker compose up` for external IP, domain as well as simply local deployment. Moreover, this commit fixes an issue with invalid URLs for files stored by PocketBase.
I hope it will work for you guys just fine this time. Please inform me if that's the case, or if there are any issues or questions related to new/updated environment variables. And also, please accept my apologies for this mess!
It worked for me, but there are still a few issues I observe.
After creating a user, I get a 500 error one single time with the same TypeError: Cannot read properties of null (reading 'id')
error. But after refreshing I'm logged in.
Adding a new bookmark just freezes after the spinning circle to grab the meta data. I can, however, press enter again at the URL box to save it.
Saving the bookmark does not add the bookmark to the bookmarks page automatically. I had to manually refresh again to see it appear.
The new bookmark has no meta data, only the URL and HTML code is saved. Images, titles etc are not saved, this is presumably due to error number 2.
Originally posted by @maya329 in #12 (comment)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.