meteor / todos

The example app "Todos", written following the Meteor Guide
Other
535 stars 367 forks source link

Failed deploying the todos app with Meteor Up #220

Closed robort closed 7 years ago

robort commented 7 years ago

Hi guys,

I was trying to deploy the react branch in this todos app with Meteor Up , but the app failed to be accessible after deployment.

I log this issue to this todos repository because it doesn't happen when I was trying with localmarket

Does anyone have ideas why this would happen and how to fix?

The failure phenomenon:

The mup.js configuration is as below:

module.exports = {
  servers: {
    one: {
      host: 'abc',
      username: 'vagrant',
      // pem:
      password: 'vagrant'
      // or leave blank for authenticate from ssh-agent
    }
  },

  meteor: {
    name: 'todos',
    path: '../..',
    servers: {
      one: {},
    },
    buildOptions: {
      serverOnly: true,
    },
    env: {
      PORT: 3000,
      ROOT_URL: 'http://abc',
      MONGO_URL: '', //Your MONGO URL,
    },

    // change to 'kadirahq/meteord' if your app is not using Meteor 1.4
    dockerImage: 'abernix/meteord:base',
    deployCheckWaitTime: 300,

    // Show progress bar while uploading bundle to server
    // You might need to disable it on CI servers
    enableUploadProgressBar: true
  },
};

Please kindly let me know if any more information is needed.

zodern commented 7 years ago

You will need to remove the force-ssl package.

robort commented 7 years ago

@zodern thanks for reply.

However, it seems the force-ssl package is not explicitly included in the meteor packages of this project as I tried.

> meteor remove force-ssl
force-ssl is not a direct dependency in this project.

Is it possibly enabled implicitly in the bundle after meteor build?

robort commented 7 years ago

@zodern

I tried setting meteor.buildOptions.debug to true, and then the todos app can be deployed to http://abc:3000, and is accessible from browser. 😈

Any ideas how to make it still work when the debug setting is false (default value) ?

The updated mup.js by setting debug to true.

module.exports = {
  servers: {
    one: {
      host: 'abc',
      username: 'vagrant',
      // pem:
      password: 'vagrant'
      // or leave blank for authenticate from ssh-agent
    }
  },

  meteor: {
    name: 'todos',
    path: '../..',
    servers: {
      one: {},
    },
    buildOptions: {
      serverOnly: true,
      debug: true
    },
    env: {
      PORT: 3000,
      ROOT_URL: 'http://abc',
      MONGO_URL: '', //Your MONGO URL,
    },

    // change to 'kadirahq/meteord' if your app is not using Meteor 1.4
    dockerImage: 'abernix/meteord:base',
    deployCheckWaitTime: 300,

    // Show progress bar while uploading bundle to server
    // You might need to disable it on CI servers
    enableUploadProgressBar: true
  },
};
zodern commented 7 years ago

It is added by the app-prod-security package here. Since it is a production only package, it is not added in debug mode. It took me a while to solve this last month.

robort commented 7 years ago

@zodern thanks. It works after removing force-ssl from app-prod-security