Question

App platform - Process doesn't launch, logs stay in an empty state but the console is available.

Posted January 9, 2021 128 views
DigitalOcean App Platform

Hi,

I am trying to launch a Ruby worker on App Platform. However, I’m facing an issue of which I’m unable to figure out why.

The issue

I have a simple Ruby application that connects to a RabbitMQ channel (Hosted on a RabbitMQ as a Service provider, not DigitalOcean) and executes jobs based on those messages. Probably this is not very relevant because even when I comment out this part of the code and just run a very simple:

loop do
  puts "sleep"
  sleep 6
end

What I’m facing

  • When I deploy the application it deploys successfully (“Deployed successfully!”) is returned.
  • The “logs” page is completely empty.
  • When I go to the console I can execute bundle exec ruby app.rb which launches the application and it runs fine on the DigitalOcean machine.
  • There are no errors in the Deploy Log, it just doesn’t launch the application.

What I’ve tried

  • Create a Docker image of the application (Works locally in a Docker container) which I pushed to DigitalOcean’s container Registry
  • Configured bundle exec ruby app.rb as Run Command (With and without a Dockerfile)

My Dockerfile

FROM ruby:2.6.3 
RUN apt-get update -qq && apt-get install -y build-essential    
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -   
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list   
RUN  apt-get update && apt-get install yarn -y  
RUN mkdir /app  
WORKDIR /app    
RUN gem install bundler 
COPY Gemfile /app/Gemfile   
COPY Gemfile.lock /app/Gemfile.lock 
RUN bundle install  
COPY . /app 

CMD ["bundle", "exec", "ruby", "app.rb"] 

Does anyone here have a clue what I’m doing wrong or what’s going wrong?

Submit an answer

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!