Repository for docs and issues. If you need help, please file an issue here. Public conversations are better for open source projects than private email.
First clone the docker repo: git clone https://github.com/e-mission/e-mission-docker.git
Then cd to the place with the web-app Dockerfile: examples/em-server-multi-tier-cronjob/webapp/.
Then follow instructions at https://devcenter.heroku.com/articles/container-registry-and-runtime#getting-started to deploy the Dockerfile. The first time you run the commands they will fail because by default, the dynos do not have enough memory. The process of installing all the conda packages requires a little over 1 GB of memory, so you will need to run a dedicated Performance M dyno with 2.5 GB of memory (at least for this step).
Another thing preventing the instructions from succeeding will be configuration of the MongoDB database. I will use a MongoDB database from mongodb.com for now, which makes it easy to provision a DB and get connection parameters to it. These connection parameters should be joined into a connection URL and set in the Heroku dashboard (App -> Settings -> Reveal Config Vars)
Still to figure out
Heroku does not allow mutation of the filesystem besides /tmp/ so I believe the default log location may trigger an exception. However to see the logs, Heroku requires them to be logged to stdout (not any file). Then they become visible to heroku logs -a my-app-name --tail and other logging addons.
Hello,
I will be documenting my process of attempting to deploy e-mission on Heroku here.
What I have learned so far:
Heroku recommends Docker over their buildpack system for deployment of any Anaconda projects
I'll be using the Heroku container registry
First clone the docker repo:
git clone https://github.com/e-mission/e-mission-docker.git
Then
cd
to the place with the web-app Dockerfile:examples/em-server-multi-tier-cronjob/webapp/
.Then follow instructions at
https://devcenter.heroku.com/articles/container-registry-and-runtime#getting-started
to deploy the Dockerfile. The first time you run the commands they will fail because by default, the dynos do not have enough memory. The process of installing all the conda packages requires a little over 1 GB of memory, so you will need to run a dedicated Performance M dyno with 2.5 GB of memory (at least for this step).Another thing preventing the instructions from succeeding will be configuration of the MongoDB database. I will use a MongoDB database from mongodb.com for now, which makes it easy to provision a DB and get connection parameters to it. These connection parameters should be joined into a connection URL and set in the Heroku dashboard (
App -> Settings -> Reveal Config Vars
)Still to figure out
/tmp/
so I believe the default log location may trigger an exception. However to see the logs, Heroku requires them to be logged to stdout (not any file). Then they become visible toheroku logs -a my-app-name --tail
and other logging addons.