Closed jimmybrancaccio closed 1 year ago
Hi there! The Next.js server is most likely throwing a 500 internal server error because the 404 is caught as a generic error in the server-side rendering process.
My guess is you didn't setup PocketBase yet, which you can do by going to https://shareme.example.com/_/ and follow the installation wizard.
You can also use the PocketBase UI to manage settings like S3, SMTP and authentication providers.
Keep in mind, your PocketBase admin user isn't the same as the Share Me user which can be created on the sign-up page or in the PocketBase UI by going to the users collection.
Let me know if this solves the issue for you. I'll keep it open until then and turn it into a discussion if it has to do with setting up PocketBase, otherwise I might have to look into the bug.
Another point: Your config won't work. PocketBase's UI needs to be reachable at /_ and the API at /api so you need to configure Traefik for it.
Hey @Dan6erbond! Thanks for the follow up! I was able to get it working properly using:
share-me-frontend:
image: ghcr.io/dan6erbond/share-me-frontend:latest
container_name: share-me-frontend
labels:
- traefik.http.routers.share-me-frontend.rule=Host(`share.mydomain.com`)
- traefik.http.routers.share-me-frontend.entrypoints=websecure
- traefik.http.routers.share-me-frontend.service=share-me-frontend
- traefik.http.routers.share-me-frontend.tls=true
- traefik.http.routers.share-me-frontend.tls.certresolver=letsencrypt
- traefik.http.routers.share-me-frontend.tls.domains[0].main=share.mydomain.com
- traefik.http.services.share-me-frontend.loadbalancer.server.port=3000
environment:
- POCKETBASE_URL=${SHARE_ME_POCKETBASE_URL}
networks:
- production
depends_on:
- traefik
restart: unless-stopped
share-me-server:
image: ghcr.io/dan6erbond/share-me-server:latest
container_name: share-me-server
labels:
- traefik.http.routers.share-me-server.rule=Host(`share.mydomain.com`) && (PathPrefix(`/api`) || PathPrefix(`/_/`))
- traefik.http.routers.share-me-server.entrypoints=websecure
- traefik.http.routers.share-me-server.service=share-me-server
- traefik.http.routers.share-me-server.tls=true
- traefik.http.routers.share-me-server.tls.certresolver=letsencrypt
- traefik.http.routers.share-me-server.tls.domains[0].main=share.mydomain.com
- traefik.http.services.share-me-server.loadbalancer.server.port=8080
volumes:
- ${DOCKER_DATA_DIR}/share-me/pb_data:/pb/pb_data
networks:
- production
depends_on:
- traefik
restart: unless-stopped
Once in, I was able to easily configure Vultr Object Storage and SMTP. I'd never heard of PocketBase before but I looked at their site and it definitely seems like a neat tool. Seems like it saves a lot of time! It kind of reminds me of Strapi.
I'll be keeping an eye on this project for sure 😄
Awesome, I'm glad it worked out! Your config looks much better now with the path-prefixes for PocketBase.
Yes, PocketBase is really nice. It has everything that I usually would want to implement manually, things like OIDC and S3 that make it harder to use other low-code tools like it. I also like that you can write your own Go logic with event hooks, commands, API routes, etc. which I leveraged in #11 to delete files when a post is deleted and am using on feat/search
to automatically sync documents with Meilisearch.
I've finally had a moment to try this out. I've setup the containers in my
docker-compose.yml
file and launched the server and frontend containers. Unfortunately when I click on the Sign Up button I get a lovely 500 ISE error. The frontend container logs:which oddly enough seems to be a 404. My
docker-compose.yml
:Any ideas! Thanks! 😁