Coder Social home page Coder Social logo

Comments (4)

Dan6erbond avatar Dan6erbond commented on June 20, 2024

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.

from share-me.

Dan6erbond avatar Dan6erbond commented on June 20, 2024

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.

from share-me.

jimmybrancaccio avatar jimmybrancaccio commented on June 20, 2024

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 😄

from share-me.

Dan6erbond avatar Dan6erbond commented on June 20, 2024

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.

from share-me.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.