services: aegis: image: axieyangb/aegis:latest container_name: aegis restart: unless-stopped ports: - "8765:8765" # UI + API — open this in a browser # Agents dial IN to this port over mTLS. Without it published, a node can # be issued a join token and will never be able to use it — the one-line # installer completes and the node never appears. - "8766:8766" # agent control channel (mTLS) volumes: - aegis_data:/data environment: - ADMIN_USERNAME=admin - ADMIN_PASSWORD=aegis # default; change before exposing this hub - AUTH_ENABLED=true - NODE_ID=home # What the hub shows on a fresh install: mvp = provision hardware, join # the fleet, see it healthy (Fleet, Hardware, GPUs). The image still # contains everything — widen with AEGIS_FEATURES=+ or remove this line # to run the full product. See docs/configuration.md. - AEGIS_PROFILE=mvp # The LAN address agents dial back on — the hub advertises it as # wss://:8766 (the agent port above). The join token EMBEDS it, so it # must resolve FROM THE NODE, not from the hub. A LAN IP is right for LAN # nodes. Leave blank if you are not enrolling machines yet; set it before # you do, or the token will carry an address the node cannot reach. # # For nodes across the internet you want HUB_EXTERNAL_HOST (a public name) # plus a routed HUB_EXTERNAL_AGENT_PORT instead — see docs/configuration.md. - HUB_INTERNAL_HOSTS= # Which catalog data packs to preinstall on first boot, from the packs # bundled in the image (no internet needed). The catalog is DATA, not baked # into the binary. minimal = just the OS image provisioning needs; none = # empty; all = every bundled pack; or a list like "os-images,apps" or # specific slugs ("grafana,ubuntu-24.04"). Idempotent — never overwrites # catalog entries you add later. See docs/configuration.md. - AEGIS_SEED_PACKS=minimal volumes: aegis_data: