unee-t / frontend

Meteor front end
https://case.dev.unee-t.com/
GNU Affero General Public License v3.0
9 stars 17 forks source link

We need a better docker image #908

Open franck-boullier opened 4 years ago

franck-boullier commented 4 years ago

The Docker image we are building in the current version of the master is based on an image for a node.js application.

We are building the Unee-T frontend with Meteor which includes pre-packaged and compatible versions of nmp and node js.

As seen in issue #901 the node based image is most likely the reason why we have issues running the tests.

We need a simple image for Unee-T which shall include:

Anything else is most likely overkill and will propably cause unnecessary conflicts.

franck-boullier commented 4 years ago

More information:

Meteor guide on how to deploy with Docker.

To orchestrate your own container-based deployment there are existing base images to consider before rolling your own:

The disney/meteor-base looks promising... Especially the app-with-native-dependencies.dockerfile since some of our if your dependencies need compilation (native modules such as bcrypt).

franck-boullier commented 4 years ago

Since we are running on Meteor 1.8.1, we probably need to look at https://github.com/disney/meteor-base/tree/2572c3acf0b5c02971a78887905aa99f84f01672

kaihendry commented 4 years ago

I used https://github.com/CyCoreSystems/go-meteor at https://github.com/unee-t/frontend/pull/750#issue-268611773 which is now the basis of the current (working) https://github.com/unee-t/frontend/blob/master/Dockerfile

I'm not a 100% sure you can bootstrap meteor without node.

kaihendry commented 4 years ago

Btw I think I said it elsewhere, but I don't think it's absolutely necessary to do npm t in the Dockerfile.

Tests imo should be run in the CI phase (travis?) We don't want to blow out the size of the Docker image, since the tests requires a lot of other dependencies like an entire browser environment.

We should only be building the Docker image if the tests pass, but that's not the case atm since Travis and CodeBuild are disjoint.