Skip to main content
Count about 15 minutes, most of it downloading the images (about 3 GB).

Requirements

  • Linux, macOS or Windows (WSL 2), linux/amd64 or linux/arm64
  • Docker Engine with Compose v2: docker compose version must answer
  • 4 GB of free disk space
  • Ports 3000 and 8000 free

1. Download and configure

The script fills the database password, the encryption key and the service tokens with random values, and never overwrites a value already set. Keep .env safe: losing ENCRYPT_KEY makes every connected integration unreadable.

2. Name the first administrator

Open .env and set:
Whoever signs up with this address becomes an administrator, with their own password. Without it, a new installation has no administrator at all. Optional, a model shared by every agent (otherwise each agent needs its own API key):

3. Start

Always name the file. The docker-compose.yml at the root of the repository is the Hostman file: it has no PostgreSQL and stops on set DB_HOST.

4. Check and sign up

Expected: three services running (postgres healthy), {"status":"ok"}, and every check ok. Then open http://localhost:3000 and sign up with the administrator e-mail from step 2. For HTTPS on a server, continue with Single VM / HTTPS.

Everyday commands

Run from the apowerb-hosting folder. The images are pinned to an API and interface pair tested together. To change versions by hand, set APOWERB_BACKEND_TAG and APOWERB_FRONTEND_TAG in .env, always both: each one caps the other.

Optional services

Each one needs two lines in .env, then the step 3 command again. Profiles combine with a comma: COMPOSE_PROFILES=pulse,etl.

Troubleshooting

Images

The compose file pulls published images from Docker Hub, nothing is built: apowerb/apowerb (API) and apowerb/apowerb-ui (interface). The full end-to-end test, account creation and an agent run included, is in docker-compose/TESTING.md.