goniszewski / grimoire

Bookmark manager for the wizards 🧙
https://grimoire.pro
MIT License
2.11k stars 65 forks source link

Error "Incantation failed :(" when creating first admin user #117

Closed kmanwar89 closed 2 months ago

kmanwar89 commented 2 months ago

Describe the bug When trying to create my first admin user to use Grimoire after a fresh install, I receive a "Incantation Failed :(" error

To Reproduce Steps to reproduce the behavior:

  1. Use the Docker Compose file provided in this GitHub repo
  2. Edit the .env file accordingly
  3. Access the Grimoire instance
  4. Attempt to create an admin user. After filling out all information and clicking "submit", the error appears.

Expected behavior I would expect this error to not appear, and for the admin user to be created without issue.

Screenshots Screenshot of the error is attached; I've also attached my (redacted) .env file

Desktop (please complete the following information):

Smartphone (please complete the following information): N/A

Additional context This is off of a fresh install - the only "custom" changes I've made (outside of my .env file) are that I've added entries into my reverse proxy to be able to access the instance, and I'm pointing to a shared Docker network between my reverse proxy & the downstream service.

kmanwar89 commented 2 months ago

I can't attach .yml or .env files (seriously Github?!), so pasting in their contents here:

docker-compose.yml

---
services:
  pocketbase:
    image: spectado/pocketbase:0.22.10
    container_name: grimoire-pocketbase
    restart: unless-stopped
 #   ports:
 #     - '8090:80'
    volumes:
      - pb_data:/pb_data
      - pb_migrations:/pb_migrations/
   # healthcheck:
    #  test: wget --no-verbose --tries=1 --spider http://localhost:80/api/health || exit 1
    #  interval: 5s
    #  timeout: 5s
    #  retries: 5
    env_file: .env
    depends_on:
      - grimoire
  grimoire:
    image: goniszewski/grimoire:latest
    container_name: grimoire
    restart: unless-stopped
    env_file: .env
    volumes:
      - pb_migrations:/app/pb_migrations/
    build:
      context: .
      dockerfile: Dockerfile
    #healthcheck:
     # test: wget --no-verbose --tries=1 --spider http://localhost:$PORT/api/health || exit 1
     # interval: 5s
     # timeout: 5s
     # retries: 5
#    ports:
#      - '$PORT:$PORT'
    networks:
      - services
volumes:
  pb_data:
  pb_migrations:

networks:
  services:
    name: services
    external: true
.env

# Set it if you're using external PocketBase installation (default: http://pocketbase)
# Example: PUBLIC_POCKETBASE_URL=https://grimoire.mydomain.com:8090
#PUBLIC_POCKETBASE_URL=
# RECOMMENDED: Change this to your email
ROOT_ADMIN_EMAIL=myemail@gmail.com
# RECOMMENDED: Use a secure password. Can be later changed in PocketBase's admin panel
ROOT_ADMIN_PASSWORD=Sup3rS3cur3P@$$w0rd!!
# Set this to your domain name (default: http://localhost:5173)
# Example: PUBLIC_ORIGIN=grimoire.mydomain.com
PUBLIC_ORIGIN=http://grimoire.mydomain.com
# Set this to true if you're using HTTPS (default: false)
# Example: PUBLIC_HTTPS_ONLY=true
PUBLIC_HTTPS_ONLY=
# 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
kmanwar89 commented 2 months ago

2024-09-07 15_44_50-Grimoire - Brave

Screenshot of the actual error

kmanwar89 commented 2 months ago

Of course, as soon as I submit the issue, I fixed my own problem!

I made several changes, but I believe the core problem is that I had a missing "network" stanza in my compose file -- essentially, the grimoire and pocketbase services were on two different networks and couldn't communicate, hence the issues.

I also un-commented the PUBLIC_POCKETBASE_URL and just added an entry into my reverse proxy. When I actually go to that URL, it shows a 404 not-found (in JSON format), but that might be because it isn't intended to take web traffic, and is just for backend communication? That part isn't entirely clear to me. But, it seems the issue I reported above has been resolved, so I hope this issue and subsequent comments help someone else who might stumble across this.