zodern / meteor-up

Production Quality Meteor Deployment to Anywhere
http://meteor-up.com/
MIT License
1.28k stars 279 forks source link

Meteor 2.3.1 requires Node 14+, new docker image required? #1257

Closed iancwinter closed 2 years ago

iancwinter commented 3 years ago

Mup version (1.5.3):

Upgraded to Meteor 2.3.1, and on deploying the process completes right through to Verifying step, and then fails with repeated error “Meteor requires Node v14.0.0 or later.”

Fair enough, that’s in the release-notes for Meteor 2.3.

But the docker image I have used up to now within the mup config is “abernix/meteord:node-12-base”. I don’t see a later one in the mup documentation.

I use nvm to fix my node version in my dev environment to version 12.

Is there a work-around for this, or a new docker image on the way? I guess I should use node 14 in the dev environment and a node-14-compliant docker image for mup deployment.

zodern commented 3 years ago

You can use the zodern/meteor image. It is compatible with Meteor 1.2 - 2.3.

mitsol commented 3 years ago

Before i used abernix/meteord:node-12-base (not working any longer) so i switched to zodern/meteor:latest as @zodern recommended! Thanks @zodern , this works perfectly fine now with Meteor 2.3.2

RobGordon406 commented 3 years ago

meteor 2.3.2 image: ‘zodern/meteor:latest’ deploying to Digital Ocean

Error :[Hostname/IP does not match certificate's altnames: Host: aws-ap-southeast-1-portal.2.dblayer.com. is not in the cert's altnames

any suggestions?

Verifying Deployment: FAILED

          ------------------------------------STDERR------------------------------------
          d
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to 172.17.0.4 port 3000: Connection refused
    => Logs:
      reason: TopologyDescription {
        type: 'Single',
        setName: null,
        maxSetVersion: null,
        maxElectionId: null,
        servers: Map(1) {
          'aws-ap-southeast-1-portal.2.dblayer.com:16969' => ServerDescription {
            address: 'aws-ap-southeast-1-portal.2.dblayer.com:16969',
            error: Error [ERR_TLS_CERT_ALTNAME_INVALID] [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: Host: aws-ap-southeast-1-portal.2.dblayer.com. is not in the cert's altnames: DNS:*.outrun-mongodb.1775483636.composedb.com
maplefu0601 commented 3 years ago

I'm using Node v12.16, Meteor 2.3, and image: ‘zodern/meteor:latest’ I found the site is missing a certificate after deployment.

NET::ERR_CERT_INVALID Subject: letsencrypt-nginx-proxy-companion

Issuer: letsencrypt-nginx-proxy-companion

Expires on: Feb 21, 2022

Current date: Jul 20, 2021

PEM encoded chain: -----BEGIN CERTIFICATE----- MIIFOTCCAyGgAwIBAgIUEhgOf5LdzY8/TgqIiTBMFINqnL0wDQYJKoZIhvcNAQEL BQAwLDEqMCgGA1UEAwwhbGV0c2VuY3J5cHQtbmdpbngtcHJveHktY29tcGFuaW9u MB4XDTIxMDIyMTE3NTEwOVoXDTIyMDIyMTE3NTEwOVowLDEqMCgGA1UEAwwhbGV0 c2VuY3J5cHQtbmdpbngtcHJveHktY29tcGFuaW9uMIICIjANBgkqhkiG9w0BAQEF AAOCAg8AMIICCgKCAgEAxCdmegOsovtBZMv85apX6sjJ9CjTBIDl0r2ZZbccnzaL mKBDzOUgvEnGp4+Bqenh1+2U2zPB58Rl25Xx8kebFwkJOCGyNxipDH6vQzBDaXrk 4f8LdKUrPdrBLTKNuNa5oIOqZL2ArioLIRNPeqsDB3mO9XxVHMv/sMpsNMNEvKLo EzBmFHvybenTJt4AK1yN6Av2VEjI1CSNVW2fzqW6TBTxn+F+PlcqIQxnrZVrFj7B XWL+7uYFPUItQp1gRtWqlIqc38n1XCYmlO0m37wHYc3gbeF7ugqL2jHyyKOwqgnZ Ek7j8rMQXZrkYzJxVV7vDsViA2zwQ/8fkMxQ1KqsLWLYgLjY6kp/ecswIic83S9w 74SS76C/P2RHTYiuJG+D23AC3HCnpZ775HO7c5Mi0CKdwnwCfvIhKilq9BbSGDRq j/h4MiJt3TkQVP4LdiFbxq2FlOfTaYcoZIWcxAPl76mg7pupKr2dmXY0plrKln+Y 7FSA+IBaiFyOqtiMqeO+dxQbHw3vHhboARBOptcl4f9Ifeo6kSaVoTIWhLdzNyL8 LOI0SM9daRoq9AhsdDWI7srjR5DvthFatSagW3tTSadCD/C1mbBOjSEMeNGf2yar w3IUyv8zlM1eGuWoe9JY3vkU3wS+Mg1zBWsK7TJM4L2EMSQL8NNsynE0TPTdp4EC AwEAAaNTMFEwHQYDVR0OBBYEFPrcNfD2MvqZptgYvz81kv9yZ0ACMB8GA1UdIwQY MBaAFPrcNfD2MvqZptgYvz81kv9yZ0ACMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI hvcNAQELBQADggIBAL/khbig2ncqE/hdEF4nvjFyDesVBywOqbk6NvPmMoYC+As2 mVrDoLkiOThDRDKOGlRLzrVmpho44MQOUMrbiInXxgfJDomlEUduq71HGxHNyJxF RMXjsLf4RL14IoWAuzKZeEzMm5rYHCEF29iBQ3k006OnoqRTiY7ceaXRtofEGuiF HF/wfBtcGJwqm3GSvCgnkG3qCeEkFrYp7pVDGN6j0R3AhfGzUsPMwuuZP3Afuy/g d4o/U+Y2DVbzX0lEF4XjieAswgN7/NCKiS8GmrIKOqTthrpW7cg/1teylRvyCgKn KG1rNedounzUKB2GyPfb2GjnNBpjAZtBiUhHfVizs2ObHIHyqueUyQvL8TI6HKUI Y2JLwDOMlMkJMx6D7tOosA7zJijGoNMtfNad2yEy8VRDEimnu64yQ8B+aWZT5Xel wbk6i1LxZFKv/G4oHSAPbAXcBmg71tPuefblTRfrHBL1i4NuJDLEn7HuanOoHci5 aYQQPg0/Arzorpx7wUZo8gegw+nZ5IvOYcqCkxYVZ2VyuY7341rgvnGCKaZ6v//2 bN85maV3bHp3xuib/Z6g1X0NKbVQe5uOQgJsaOY5b/5JVMWmMguclhWdCgQbrpfV 66P5V8hFz4MA3GZa7pEx1gONXMZEyuEdcUKxVdAx0y+e8mxuTpAONoAHzLVR -----END CERTIFICATE-----

ZubMono commented 2 years ago

Im having the following issue. I didnt have it before.

------------------------------------STDERR------------------------------------
              The command '/bin/sh -c cd /built_app/programs/server &&     npm install --unsafe-perm' returned a non-zero code: 1

        real    3m15.184s
        user    0m4.323s
        sys     0m4.633s

              ------------------------------------STDOUT------------------------------------
              dules/meteor/bozhao_link-accounts/node_modules/get-stdin
        husky@6.0.0 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/husky
        json-parse-better-errors@1.0.2 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/json-parse-better-errors
        pkg-conf@3.1.0 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/pkg-conf
        find-up@3.0.0 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/pkg-conf/node_modules/find-up
        locate-path@3.0.0 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/pkg-conf/node_modules/locate-path
        p-locate@3.0.0 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/pkg-conf/node_modules/p-locate
        path-exists@3.0.0 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/pkg-conf/node_modules/path-exists
        load-json-file@5.3.0 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/pkg-conf/node_modules/load-json-file
        parse-json@4.0.0 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/pkg-conf/node_modules/parse-json
        pify@4.0.1 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/pkg-conf/node_modules/pify
        type-fest@0.3.1 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/pkg-conf/node_modules/type-fest
        standard@16.0.3 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/standard
        standard-engine@14.0.1 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/standard-engine
        xdg-basedir@4.0.0 /built_app/programs/server/npm/node_modules/meteor/bozhao_link-accounts/node_modules/xdg-basedir

        > bcrypt@5.0.0 install /built_app/programs/server/npm/node_modules/meteor/mizzao_user-status/demo/node_modules/bcrypt
        > node-pre-gyp install --fallback-to-build

        internal/modules/cjs/loader.js:905
          throw err;
          ^

        Error: Cannot find module '../'
        Require stack:
        - /built_app/programs/server/npm/node_modules/meteor/mizzao_user-status/demo/node_modules/.bin/node-pre-gyp
            at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
            at Function.Module._load (internal/modules/cjs/loader.js:746:27)
            at Module.require (internal/modules/cjs/loader.js:974:19)
            at require (internal/modules/cjs/helpers.js:92:18)
            at Object.<anonymous> (/built_app/programs/server/npm/node_modules/meteor/mizzao_user-status/demo/node_modules/.bin/node-pre-gyp:15:20)
            at Module._compile (internal/modules/cjs/loader.js:1085:14)
            at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
            at Module.load (internal/modules/cjs/loader.js:950:32)
            at Function.Module._load (internal/modules/cjs/loader.js:790:14)
            at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12) {
          code: 'MODULE_NOT_FOUND',
          requireStack: [
            '/built_app/programs/server/npm/node_modules/meteor/mizzao_user-status/demo/node_modules/.bin/node-pre-gyp'
          ]
        }
        npm ERR! code ELIFECYCLE
        npm ERR! errno 1
        npm ERR! bcrypt@5.0.0 install: `node-pre-gyp install --fallback-to-build`
        npm ERR! Exit status 1
        npm ERR!
        npm ERR! Failed at the bcrypt@5.0.0 install script.
        npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

        npm ERR! A complete log of this run can be found in:
        npm ERR!     /root/.npm/_logs/2021-08-03T21_13_07_542Z-debug.log
        npm ERR! code ELIFECYCLE
        npm ERR! errno 1
        npm ERR! meteor-dev-bundle@ install: `node npm-rebuild.js`
        npm ERR! Exit status 1
        npm ERR!
        npm ERR! Failed at the meteor-dev-bundle@ install script.
        npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

        npm ERR! A complete log of this run can be found in:
        npm ERR!     /root/.npm/_logs/2021-08-03T21_13_07_592Z-debug.log

              ------------------------------------------------------------------------------

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! invierte-propiedades-server@ production-deploy: `mup deploy --config=mup-production.js --settings=settings-production.json`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the invierte-propiedades-server@ production-deploy script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\luism\AppData\Roaming\npm-cache\_logs\2021-08-03T21_13_09_178Z-debug.log
SachaG commented 2 years ago

With the new zodern/meteor:latest image I'm suddenly getting a ton of tar: bundle: Cannot mkdir: Permission denied errors. Anybody else running into that issue?

SachaG commented 2 years ago

After switching to prepareBundle: true, it seems like the deployment is working… I'll have to keep testing.

ZubMono commented 2 years ago

@SachaG I added prepareBundle: true and useBuildKit: true. It worked like a charm!

jirikrepl commented 2 years ago

I used newest image zodern/meteor:0.6.1-root it so far it works fine for me without prepareBundle: true

I don't think using latest tag is a good idea, latest might be updated at some point, which might break sth. for you

make-github-pseudonymous-again commented 2 years ago

I confirm this zodern/meteor:latest also works fine with my installation of Meteor version 2.2.3.

peterolson commented 2 years ago

I just switched from abernix/meteord:node-12-base to zodern/meteor and now I am getting this error on mup setup:

Started TaskList: Start proxy
[45.56.96.52] - Start proxy
[45.56.96.52] x Start proxy: FAILED

              ------------------------------------STDERR------------------------------------
              Error response from daemon: endpoint mup-nginx-proxy not found
        Error response from daemon: endpoint mup-nginx-proxy not found
        Error: No such container: mup-nginx-proxy-letsencrypt
        Error response from daemon: endpoint mup-nginx-proxy-letsencrypt not found
        Error response from daemon: endpoint mup-nginx-proxy-letsencrypt not found
        Error response from daemon: Could not attach to network mup-proxy: context deadline exceeded

              ------------------------------------STDOUT------------------------------------
              mup-nginx-proxy
        Removed mup-nginx-proxy
        Removed mup-nginx-proxy-letsencrypt
        v1.13.1: Pulling from jrcs/letsencrypt-nginx-proxy-companion
        Digest: sha256:e357f37c08366b7dbd6793daa5792a44ff3d764dfebdce85047bff5e06e3e7a7
        Status: Image is up to date for jrcs/letsencrypt-nginx-proxy-companion:v1.13.1
        docker.io/jrcs/letsencrypt-nginx-proxy-companion:v1.13.1
        0.8.0: Pulling from jwilder/nginx-proxy
        Digest: sha256:858bc5194baeafb316a591eb96a3ef61f1d6016122fbc3be1aaa62eca2cf39c5
        Status: Image is up to date for jwilder/nginx-proxy:0.8.0
        docker.io/jwilder/nginx-proxy:0.8.0
        Pulled jwilder/nginx-proxy and jrcs/letsencrypt-nginx-proxy-companion
        411e558c7f83dbe31c7f4c1919f756cec7acf6e30c819e827822a6de5d3f955d
        Ran nginx-proxy as mup-nginx-proxy
wallind commented 2 years ago

You can use the zodern/meteor image. It is compatible with Meteor 1.2 - 2.3.

for those reading this also works with Meteor 2.4 😁

zodern commented 2 years ago

I think this can be closed. The docs have been updated to more accurately describe the Meteor compatibility for each docker image, and the config created by mup init now uses the zodern/meteor image.

eugle commented 2 years ago

meteor 2.4 mup 1.5.5

image: 'zodern/meteor',

eugle@eugledeMacBook-Pro .deploy % mup deploy
Cleaning Up Previous Builds
Building App Bundle Locally
   Preparing project                         [ProgressDisp                                                          Errors prevented bundling:                 
While building for web.browser:            
client/main.jsx: [BABEL]
/Volumes/Files/git/case/video/meteor/client/main.jsx:
React Refresh Babel transform should only be enabled in
development environment. Instead, the environment is:
"production". If you want to override this check, pass
{skipEnvCheck: true} as plugin options. (While
processing: "base$0$0")

=> Build Error. Check the logs printed above.

What should I do if such a mistake occurs

thanks

eugle commented 2 years ago

Magic question, delete buildoptions > debug: true, it succeeded, my God

buildOptions: {
            serverOnly: true,
            //debug: true,  //Delete this 
            allowIncompatibleUpdates: true
        },
guillim commented 2 years ago

Hello, For those having issues with node14 and the abernix & zodern images, I think it will be time for an update of the docker image. I took the opportunity to test this Dockerfile

FROM abernix/meteord:node-12-base
ENV NODE_VERSION=14.18.2
RUN apt install -y curl
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
ENV NVM_DIR=/root/.nvm
RUN . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION}
RUN . "$NVM_DIR/nvm.sh" && nvm use v${NODE_VERSION}
RUN . "$NVM_DIR/nvm.sh" && nvm alias default v${NODE_VERSION}
ENV PATH="/root/.nvm/versions/node/v${NODE_VERSION}/bin/:${PATH}"
RUN node --version
RUN npm --version

It works well on my new image => docker pull guillim/meteord:node14.18.2