Skip to main content
Docker with the Compose plugin is the only hard requirement. PostgreSQL, Redis, the API and the web app all ship inside the stack, so there is nothing else to install.

What do you need to run asobeast?

A single instance tracking a handful of apps runs comfortably on the smallest cloud instance most providers sell.

What ships with the stack?

You install none of these separately. Compose pulls or builds all four. Published releases replace the two built images with ghcr.io/mradex77/asobeast-api and ghcr.io/mradex77/asobeast-web. See Run a published release.

What do you need only for development?

Working on the source needs the toolchain as well as Docker. See Set up a development environment.

Which hosts does asobeast reach?

Every store request runs on the machine that hosts asobeast, so that machine needs outbound HTTPS to the Apple and Google endpoints. There is no asobeast cloud service in the path and no telemetry. A host behind a strict egress policy needs the Apple iTunes endpoints and the Google Play endpoints allowed. Without them imports, ranking checks and scoring jobs fail while the rest of the application keeps serving requests. Outbound connections to your own SMTP relay, your own webhook endpoints and the OpenAI API happen only when you configure those optional features.

Which ports does asobeast publish?

One. The web container publishes 3000 and nothing else is reachable from outside the Docker network. The browser reaches the API through /api/backend/* on the web origin, which forwards to API_INTERNAL_URL. The development Compose file is different on purpose: it publishes 5432 and 6379 so a locally running API can reach them.
Publishing port 3000 to the internet without TLS in front of it sends session cookies in the clear. Terminate TLS at a reverse proxy and set AUTH_COOKIE_SECURE=true.

Next steps

Self host with Docker Compose

The install path for almost everyone.

Run a published release

Pinned images from GitHub Container Registry without cloning.
Last modified on July 31, 2026