CLI (terminal) commands #
Econumo ships as a single binary that is subcommand-driven: serve runs the
server, and everything else is a management command. In the Docker image the
binary lives at /app/econumo, so you run commands with docker exec:
docker compose exec econumo /app/econumo <command> [args]
Running the binary with no command (or an unknown one) prints the full usage,
so docker compose exec econumo /app/econumo is the quickest way to see what
is available on your version.
Note The image is distroless — it has no shell. Run the
/app/econumobinary directly as shown above;docker compose exec econumo bashwill not work.
User management #
# Create a user
docker compose exec econumo /app/econumo user:create "<name>" <email> <password>
# Change a user's email
docker compose exec econumo /app/econumo user:change-email <old-email> <new-email>
# Change a user's password
docker compose exec econumo /app/econumo user:change-password <email> <password>
# Activate or deactivate a user
docker compose exec econumo /app/econumo user:activate <email>
docker compose exec econumo /app/econumo user:deactivate <email>
Currencies #
# Add a currency: code, optional name, optional fraction digits
docker compose exec econumo /app/econumo currency:add EUR Euro 2
# Load exchange rates from Open Exchange Rates (optional date, defaults to today)
docker compose exec econumo /app/econumo currency:update-rates
See Multi-Currency Support for the full
setup, including the OPEN_EXCHANGE_RATES_TOKEN variable.
Maintenance #
# Generate the RS256 JWT keypair (skips if one already exists; --force overwrites)
docker compose exec econumo /app/econumo jwt:generate
Note The JWT keypair is generated automatically on first boot and persisted in the
jwtvolume (/app/var/jwt), so you normally never need to runjwt:generateby hand.