Question

App Platform - Internal Service fails Health Check

I have an internal service which communicates with the main HTTP Server via AMQP (on an external RabbitMQ instance). It does not intentionally expose any TCP ports or intercept any HTTP requests.

How do I get this to pass the health check on App Platform?

I’ve configured it like so:

  - name: my_internal_service
    dockerfile_path: Dockerfile
    source_dir: /
    github:
      branch: main
      deploy_on_push: true
      repo: <GITHUB>/<REPO>
    instance_count: 1
    instance_size_slug: basic-xxs
    internal_ports:  # won't need this anyway
      - 3000

Submit an answer
Answer a question...

This textbox defaults to using Markdown to format your answer.

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

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Bobby Iliev
Site Moderator
Site Moderator badge
January 22, 2023
Accepted Answer

Hi there,

I could suggest a couple of things here:

  • Rather than deploying your app as a web service, you can deploy it as a Worker. Background workers are the same as HTTP services, except they are not “routable,” i.e. they are not accessible via an external URL:

https://docs.digitalocean.com/products/app-platform/how-to/manage-workers/

  • Create a heath check endpoint within your app that you could use for the health check details:

Hope that this helps!

Best,

Bobby