Self-Hosted Crypto Wallet Reliability: Docker Healthcheck and Auto-Recovery
Description and use
Running a self‑hosted crypto wallet with Docker guarantees automatic recovery after container crashes by leveraging Docker’s healthcheck and restart policies, while preserving wallet data with named volumes and securing credentials via Docker Secrets.
Problem
A self-hosted crypto wallet container can silently crash, leaving an AI agent unable to transact until the issue is detected and the container restarted.
Outcome
By leveraging Docker’s built‑in healthcheck and restart policies, WAIaaS provides a reliable self‑hosted wallet that automatically recovers from crashes, preserves wallet data via named volumes, and secures credentials with Docker Secrets.
Workflow
- Clone the WAIaaS repo and run
docker compose up -dto start the daemon and push‑relay containers. - Verify the container is running and healthy with
docker compose logs -fandcurl http://127.0.0.1:3100/health. - If using auto‑provision, run
docker run -d --name waiaas -p 127.0.0.1:3100:3100 -v waiaas-data:/data -e WAIAAS_AUTO_PROVISION=true ghcr.io/waiaas/waiaas:latestand retrieve the recovery key withdocker exec waiaas cat /data/recovery.key. - For production, create a Docker Secrets overlay to store the master password securely and deploy with
docker compose -f docker-compose.yml -f docker-compose.secrets.yml up -d. - Configure environment variables such as
WAIAAS_DAEMON_HOSTNAME,WAIAAS_DAEMON_PORT, and RPC endpoints to match your infrastructure. - Use the OpenAPI spec at
/docor the Scalar UI at/referenceto test wallet functionality. - Monitor the health endpoint or integrate with tools like Portainer or Watchtower to receive alerts on unhealthy status.
Evidence
The official Docker Compose configuration ships with a healthcheck already wired in:
<strong>restart: unless-stopped</strong> means Docker will automatically restart the container after a crash, an OOM kill, or a host reboot — without any additional process manager.
Named volumes (<code>waiaas-data</code>) mean your wallet data, session tokens, and configuration survive a <code>docker compose down</code> and come back intact on <code>docker compose up -d</code>.
- Record date: 2026-10-12T16:40:55.577Z