| name | docker-up |
| description | Manage the WealthWise Docker/Podman Compose development environment. Triggers when asked to "start Docker", "start Podman", "bring up the containers", "stop Docker", "show Docker logs", or "restart the dev environment". Does NOT trigger implicitly.
|
Manage the WealthWise container development environment (Docker or Podman).
Runtime detection
Detect which container runtime is available:
docker info 2>/dev/null | head -1 — if it succeeds, use docker compose
- Else
podman info 2>/dev/null | head -1 — if it succeeds, use podman-compose
- If neither is available, report the error and stop
Commands by argument
Docker:
| Argument | Action | Command |
|---|
(none) or dev | Start dev environment | docker compose up --build -d |
prod | Start production stack | docker compose -f docker-compose.prod.yml up --build -d |
down | Stop containers (preserve data) | docker compose down |
down --volumes | Stop + wipe all volumes (data destroyed) | docker compose down -v |
logs | Tail all service logs | docker compose logs -f |
logs api or logs web | Tail one service | docker compose logs -f <service> |
Podman:
| Argument | Action | Command |
|---|
(none) or dev | Start dev environment | podman-compose -f podman-compose.yml up --build -d |
prod | Start production stack | podman-compose -f podman-compose.prod.yml up --build -d |
down | Stop containers (preserve data) | podman-compose -f podman-compose.yml down |
down --volumes | Stop + wipe all volumes (data destroyed) | podman-compose -f podman-compose.yml down -v |
logs | Tail all service logs | podman-compose -f podman-compose.yml logs -f |
logs api or logs web | Tail one service | podman-compose -f podman-compose.yml logs -f <service> |
Services and ports (dev):
api → port 4000
web → port 3000
mongodb → port 27017
mcp → port 5100
agentic-ai → port 5200
Pre-flight checks (before starting)
- Docker or Podman daemon is running (see runtime detection)
.env exists in apps/api/: test -f apps/api/.env. Never read it.
.env exists in apps/web/: test -f apps/web/.env. Never read it.
- Port conflicts: check if 4000, 3000, or 27017 are already bound.
Confirm destructive actions
down --volumes wipes all MongoDB data. Always confirm with the user before running.
After starting
- Wait ~10 seconds, then check:
docker compose ps or podman ps
- Report which services are healthy and their ports.
- If any service is unhealthy: show logs for that service
Compose files
Docker:
docker-compose.yml — development (hot-reload, volume mounts)
docker-compose.prod.yml — production (Nginx reverse proxy, production builds)
docker-compose.production.yml — hardened production (healthchecks, resource limits)
Podman:
podman-compose.yml — development (Containerfiles, fully-qualified image refs)
podman-compose.prod.yml — production (healthchecks, resource limits, Nginx)