title: Docker + Django + Angular + Heroku + Postgresql - Process exited with status 127, error code=H10 desc=“App crashed”
body: <p>I am trying to deploy on Heroku my project in Docker with Angular 4 frontend, Django backend and postgresql database. At this moment my files look as shown below. I am note sure if this is done properly? I pushed it using <code>heroku container:push web --app myproject</code> but it doesn't work (Logs). When I'm running <code>docker-compose up</code> without Heroku everything seems to be working properly.</p>
  
  <p>I noticed that in logs there is <code>Process exited with status 127</code>. I have found here <a href="https://stackoverflow.com/questions/1763156/127-return-code-from">127 Return code from $?</a> that </p>
  
  <p><code>Value 127 is returned by /bin/sh when the given command is not found within your PATH system variable and it is not a built-in shell command. In other words, the system doesn't understand your command, because it doesn't know where to find the binary you're trying to call.</code></p>
  
  <p>Besides, when I was trying different commands I very often were getting error like <code>/bin/sh: 1 not found</code> what I described in <a href="https://stackoverflow.com/questions/44985909/heroku-run-rake-dbmigrate-bin-sh-1-rake-not-found">this</a> post.
  Maybe it is a root of the problem?
  Or eventually there is a problem with ports like in <a href="https://stackoverflow.com/questions/14322989/first-heroku-deploy-failed-error-code-h10">this</a> case? </p>
  
  <p>Any other ideas? It seems to me that I was trying everything. I have no idea what is wrong.</p>
  
  <p>I will be grateful if you could tell me if I am doing everything properly. </p>
  
  <pre><code>1.`heroku login`
  2.`heroku container:login`
  3.`heroku create nameofmyapp`
  4.`heroku container:push web --app nameofmyapp`
  5.`heroku open --app nameofmyapp`
  </code></pre>
  
  <p>Logs:</p>
  
  <pre><code>2017-07-08T13:19:48.882112+00:00 heroku[web.1]: Process exited with status 0
  2017-07-08T13:20:40.336825+00:00 heroku[run.9745]: Awaiting client
  2017-07-08T13:20:40.395900+00:00 heroku[run.9745]: Starting process with command `docker-compose up`
  2017-07-08T13:20:40.542168+00:00 heroku[run.9745]: State changed from starting to up
  2017-07-08T13:20:45.727667+00:00 heroku[run.9745]: State changed from up to complete
  2017-07-08T13:20:45.715556+00:00 heroku[run.9745]: Process exited with status 127
  2017-07-08T13:21:39.171330+00:00 heroku[run.8300]: Awaiting client
  2017-07-08T13:21:39.198870+00:00 heroku[run.8300]: Starting process with command `docker-compose up`
  2017-07-08T13:21:39.470489+00:00 heroku[run.8300]: State changed from starting to up
  2017-07-08T13:21:43.381827+00:00 heroku[run.8300]: State changed from up to complete
  2017-07-08T13:21:43.369201+00:00 heroku[run.8300]: Process exited with status 127
  2017-07-08T13:25:26.780464+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myapp.herokuapp.com request_id=cb876e32-ca19-467e-85a6-5babab50beab fwd="109.153.174.199" dyno= connect= service= status=503 bytes= protocol=https
  Disconnected from log stream. There may be events happening that you do not see here! Attempting to reconnect...
  2017-07-08T13:20:40.336825+00:00 heroku[run.9745]: Awaiting client
  2017-07-08T13:20:40.395900+00:00 heroku[run.9745]: Starting process with command `docker-compose up`
  2017-07-08T13:20:40.542168+00:00 heroku[run.9745]: State changed from starting to up
  2017-07-08T13:20:45.727667+00:00 heroku[run.9745]: State changed from up to complete
  2017-07-08T13:20:45.715556+00:00 heroku[run.9745]: Process exited with status 127
  2017-07-08T13:21:39.171330+00:00 heroku[run.8300]: Awaiting client
  2017-07-08T13:21:39.198870+00:00 heroku[run.8300]: Starting process with command `docker-compose up`
  2017-07-08T13:21:39.470489+00:00 heroku[run.8300]: State changed from starting to up
  2017-07-08T13:21:43.381827+00:00 heroku[run.8300]: State changed from up to complete
  2017-07-08T13:21:43.369201+00:00 heroku[run.8300]: Process exited with status 127
  2017-07-08T13:25:26.780464+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myapp.herokuapp.com request_id=cb876e32-ca19-467e-85a6-5babab50beab fwd="109.153.174.199" dyno= connect= service= status=503 bytes= protocol=https
  </code></pre>
  
  <p>Project tree:</p>
  
  <pre><code>├── Backend
  │   ├── AI
  │   │   ├── __init__.py
  │   │   ├── __pycache__
  │   │   │   ├── __init__.cpython-36.pyc
  │   │   │   ├── settings.cpython-36.pyc
  │   │   │   ├── urls.cpython-36.pyc
  │   │   │   └── wsgi.cpython-36.pyc
  │   │   ├── settings.py
  │   │   ├── urls.py
  │   │   └── wsgi.py
  │   └── manage.py
  ├── Dockerfile
  ├── init.sql
  ├── Frontend
  │   └── angularProject
          ├── Dockerfile
  │       └── all files in my angular project 
  ├── docker-compose.yml
  └── requirements.txt
  </code></pre>
  
  <p>Frontend's Dockerfile:</p>
  
  <pre><code># Create image based on the official Node 6 image from dockerhub
  FROM node:6
  
  # Create a directory where our app will be placed
  RUN mkdir -p /usr/src/app
  
  # Change directory so that our commands run inside this new directory
  WORKDIR /usr/src/app
  
  # Copy dependency definitions
  COPY package.json /usr/src/app
  
  # Install dependecies
  RUN npm install
  
  # Get all the code needed to run the app
  COPY . /usr/src/app
  
  # Expose the port the app runs in
  EXPOSE 4200
  
  # Serve the app
  CMD ["npm", "start"]
  </code></pre>
  
  <p>Main directory's Dockerfile:</p>
  
  <pre><code>FROM python:3.6.1
  ENV PYTHONUNBUFFERED 1
  RUN mkdir /code
  WORKDIR /code
  ADD requirements.txt /code/
  RUN pip3 install -r requirements.txt
  ADD . /code/
  </code></pre>
  
  <p>docker-compose.yml:</p>
  
  <pre><code>version: '3'
  
  services:
    db:
      image: postgres
      environment:
        POSTGRES_USER: aso
        POSTGRES_PASSWORD: somepass
    django:
      build: .
      command: python3 MainDirectory/backend/myProject/manage.py runserver 0.0.0.0:8001
      volumes:
        - .:/code
      ports:
        - "8001:8001"
      depends_on:
        - db
    angular:
      build: MainDirectory/frontend
      ports:
        - "4200:4200"
      depends_on:
        - django
  </code></pre>
  
  <p>init.sql:</p>
  
  <pre><code>CREATE USER myUser;
  CREATE DATABASE myProject;
  GRANT ALL PRIVILEGES ON DATABASE myProject TO myUser;
  </code></pre>