Simplify your stack and build anything. Or everything.
Build tomorrow’s web with a modern solution you truly own.
Code-based nature means you can build on top of it to power anything.
It’s time to take back your content infrastructure.

Application crashing in docker

default discord avatar
dev1800last year
31

I am trying to run the app using the provided docker-compose file, I have setup the compose file for postgres and when try to run with

docker-compose up -d

the application crashed with the following message


Error: Cannot find module '@libsql/linux-arm64-musl'
Require stack:
- /home/node/app/node_modules/libsql/index.js
- /home/node/app/node_modules/@libsql/client/lib-cjs/sqlite3.js
- /home/node/app/node_modules/@libsql/client/lib-cjs/node.js
- /home/node/app/node_modules/drizzle-kit/utils.js
- /home/node/app/node_modules/@payloadcms/db-postgres/dist/connect.js
- /home/node/app/node_modules/@payloadcms/db-postgres/dist/index.js
- /home/node/app/src/payload.config.ts
- /home/node/app/node_modules/payload/dist/config/load.js
- /home/node/app/node_modules/payload/dist/payload.js
- /home/node/app/node_modules/payload/dist/initHTTP.js
- /home/node/app/node_modules/payload/dist/index.js
- /home/node/app/src/server.ts
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    at Function.Module._load (node:internal/modules/cjs/loader:922:27)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:119:18)
    at Object.<anonymous> (/home/node/app/node_modules/libsql/index.js:33:24)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Object.require.extensions.<computed> [as .js] (/home/node/app/node_modules/ts-node/src/index.ts:1045:43)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Function.Module._load (node:internal/modules/cjs/loader:960:12)


I tried to stop the application from docker and run it using

yarn dev

and it worked, its just not working in docker. The error seems to be in the

@payloadcms/db-postgres

package - not sure about it

  • default discord avatar
    clement6396last year

    Do you use ARM for any reason?

  • default discord avatar
    dev1800last year

    I am on Mac Mini M2



    Not sure about ARM

  • default discord avatar
    clement6396last year

    Ok, and you 'll deploy it on a ARM system too?



    because amd64 is much more present in hosting solutions



    Yep it's ARM64

  • default discord avatar
    dev1800last year

    was just testing it out, do i need to change the platform in docker-compose ?



    or it won't work on my pc ?

  • default discord avatar
    clement6396last year

    if you want to run your docker on your mac, you should create the image from your mac, or ARM64 machine



    but most of VPS or cloud solution, use only AMD64

  • default discord avatar
    dev1800last year

    the postgres image is working and I am able to connect the application with it



    If I run "yarn dev" it connect with postgres and work fine, but the application is crashing in docker



    Do i have to configure anything to make it work?

  • default discord avatar
    clement6396last year

    yes that not the problem, but I think its simplier to directly test your docker image on a production env



    you could install the libs required yes



    add the command on your Dockerfile and rerun a build

  • default discord avatar
    dev1800last year

    Okay, will try that

  • default discord avatar
    clement6396last year

    And yeah you must use a node arm64 as base

  • default discord avatar
    dev1800last year

    use this

    arm64v8/node:18-alpine

    instead of node:18-apline ?

  • default discord avatar
    clement6396last year

    yep, if you run on your mac

  • default discord avatar
    dev1800last year

    hmm, still getting the same error

  • default discord avatar
    clement6396last year

    show me your Dockerfile

  • default discord avatar
    dev1800last year
    FROM arm64v8/node:18-alpine as base
    
    FROM base as builder
    
    WORKDIR /home/node/app
    COPY package*.json ./
    
    COPY . .
    RUN yarn install
    RUN yarn build
    
    FROM base as runtime
    
    ENV NODE_ENV=production
    ENV PAYLOAD_CONFIG_PATH=dist/payload.config.js
    
    WORKDIR /home/node/app
    COPY package*.json  ./
    
    RUN yarn install --production
    
    COPY --from=builder /home/node/app/dist ./dist
    COPY --from=builder /home/node/app/build ./build
    
    EXPOSE 3000
    
    CMD ["node", "dist/server.js"]


    Docker compose


    version: "3"
    
    services:
      payload:
        image: arm64v8/node:18-alpine
        container_name: payload-2-0
        ports:
          - "3000:3000"
        volumes:
          - .:/home/node/app
          - node_modules:/home/node/app/node_modules
        working_dir: /home/node/app/
        command: sh -c "yarn install && yarn dev"
        depends_on:
          - postgres
        env_file:
          - .env
    
      postgres:
        image: postgres
        container_name: postgres-c
        ports:
          - "5432:5432"
        volumes:
          - data:/var/lib/postgresql/data
        environment:
          - POSTGRES_PASSWORD=postgres
    
    volumes:
      data:
      node_modules:
  • default discord avatar
    clement6396last year

    that's a dev environnement, not the way you will deploy it, are you aware of that?



    command: sh -c "yarn install && yarn add @libsql/linux-arm64-musl && yarn dev"


    try with this command?

  • default discord avatar
    dev1800last year
    yarn install v1.22.19
    [1/4] Resolving packages...
    [2/4] Fetching packages...
    warning payload@2.0.3: The engine "pnpm" appears to be invalid.
    [3/4] Linking dependencies...
    warning " > @payloadcms/bundler-vite@0.1.2" has unmet peer dependency "react-dom@18.2.0".
    warning "@payloadcms/bundler-webpack > swc-loader@0.2.3" has unmet peer dependency "@swc/core@^1.2.147".
    warning "@payloadcms/bundler-webpack > swc-minify-webpack-plugin@2.1.1" has unmet peer dependency "@swc/core@^1.0.0".
    warning " > @payloadcms/db-postgres@0.1.1" has unmet peer dependency "better-sqlite3@^8.5.0".
    warning " > @payloadcms/plugin-cloud@0.0.10" has unmet peer dependency "nodemailer@^6.9.0".
    warning " > @payloadcms/plugin-cloud@0.0.10" has incorrect peer dependency "payload@^1.6.21".
    warning "@payloadcms/richtext-slate > @faceless-ui/modal@2.0.1" has unmet peer dependency "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0".
    warning "@payloadcms/richtext-slate > slate-react@0.92.0" has unmet peer dependency "react-dom@>=16.8.0".
    warning "@payloadcms/richtext-slate > @faceless-ui/modal > react-transition-group@4.4.5" has unmet peer dependency "react-dom@>=16.6.0".
    warning Workspaces can only be enabled in private projects.
    [4/4] Building fresh packages...
    Done in 57.51s.
    yarn add v1.22.19
    [1/4] Resolving packages...
    error An unexpected error occurred: "https://registry.yarnpkg.com/@libsql%2flinux-arm64-musl: Not found".
    info If you think this is a bug, please open a bug report with the information provided in "/home/node/app/yarn-error.log".
    info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.


    got an error



    package not found

  • default discord avatar
    clement6396last year

    make the inverse 😂



    yarn add the package first, before yarn install

  • default discord avatar
    dev1800last year

    That package installation just not work, I had tried it doing manually and got the error



    Also just tried vite bundler, its also not working



    its stuck on

    Payload Admin URL: /admin

    yarn run v1.22.19
    $ cross-env PAYLOAD_CONFIG_PATH=src/payload.config.ts nodemon
    [nodemon] 2.0.22
    [nodemon] to restart at any time, enter `rs`
    [nodemon] watching path(s): *.*
    [nodemon] watching extensions: ts
    [nodemon] starting `ts-node src/server.ts -- -I`
    [12:32:48] INFO (payload): Starting Payload...
    [12:32:48] INFO (payload): Payload Admin URL: /admin


    Changing back to webpackBunder is working

  • default discord avatar
    clement6396last year

    what do you mean by stuck?

  • default discord avatar
    dev1800last year

    it was stuck there for almost 5 minutes

  • default discord avatar
    clement6396last year

    on the log?

  • default discord avatar
    dev1800last year

    tried accessing the application on localhost:300 but it did not worked



    yes on log

  • default discord avatar
    clement6396last year

    you run with docker?

  • default discord avatar
    dev1800last year

    with "yarn dev"



    its working with webpackBundler

  • default discord avatar
    clement6396last year

    stay on webpack, Vite is on beta actually

  • default discord avatar
    dev1800last year

    okay, I had used payload I think around 6 months ago, trying learn it for good now



    will explore all the new features introduced



    Thanks for the great release 🙏

  • default discord avatar
    clement6396last year

    I think the team need a little bit of time to fix some errors, but yeah let's try 😉

  • default discord avatar
    harleyqueenslast year

    Yeah there is an issue somehow



    wth



    My coworker has m2

  • default discord avatar
    clement6396last year

    m1pro / pnpm here

  • default discord avatar
    harleyqueenslast year

    same



    for now my coworker has to do regular yarn dev on his machine

  • default discord avatar
    clement6396last year

    It's more a beta version actually than the release 🙈

Star on GitHub

Star

Chat on Discord

Discord

online

Can't find what you're looking for?

Get dedicated engineering support directly from the Payload team.