Skip to main content

Standalone quickstart

The public Compose stack starts DonkeyFleet, PostgreSQL 16, Vault 1.18 in dev mode, and Keycloak 26 in dev mode. Use it for evaluation or a small installation, not as a hardened HA control plane.

Prerequisites

  • Docker Desktop, or Docker Engine with host.docker.internal mapped on the host.
  • Free ports 8090, 8081, 8200, and 5432.
  • A DonkeyFleet image that the machine can pull.

Start the stack

Clone the public deployment repository, then enter deploy/standalone:

git clone https://github.com/saragihruben/donkeyfleet.git
cd donkeyfleet/deploy/standalone
cp .env.example .env

Set DONKEYFLEET_IMAGE in .env, then start only the published Compose file:

docker compose -f docker-compose.yml up -d

Open http://host.docker.internal:8090. The evaluation administrator is donkey / donkey; the read-only account is reader / reader.

Development credentials

The bundled users, database password, Keycloak administrator, Vault root token, and OIDC client secret are fixed development values. Never expose this stack as a production control plane.

Runtime cadence and Apply

VariableDefaultEffect
RECONCILE_INTERVAL5mFull observation and baseline monitoring
PROVISIONING_POLL_INTERVAL15sSafe follow-up while create jobs or ready provisioning steps are active
RECONCILE_DRY_RUNtrueStarts without destination writes
RECONCILE_DRY_RUN_UI_OVERRIDEtrueLets an administrator select Apply Live for evaluation

The Apply Live choice is stored in PostgreSQL and survives an application-container restart. The 15-second follow-up always acquires the advisory lock, performs complete observation, and resumes persisted checkpoints; it never blindly repeats an unresolved ONTAP job.

Seed one ONTAP credential

docker compose exec vault sh -c "VAULT_TOKEN=donkeyfleet-root vault kv put secret/snapmirror/clusters/onprem1 username='ONTAP_USER' password='ONTAP_PASS'"

Register the cluster with Vault path snapmirror/clusters/onprem1. The endpoint must be reachable from the DonkeyFleet container.

Persistence, upgrade, and teardown

PostgreSQL data persists in the pgdata volume. Vault dev-mode data does not survive a Vault restart. Upgrade by changing the immutable image tag in .env, then run:

docker compose -f docker-compose.yml pull donkeyfleet
docker compose -f docker-compose.yml up -d donkeyfleet

Flyway migrates the preserved database when the application starts. Normal teardown keeps it:

docker compose -f docker-compose.yml down

docker compose -f docker-compose.yml down -v permanently deletes PostgreSQL state. Do not use the volume flag during an upgrade or when provisioning recovery matters.

Next, complete the first dry-run.