Console Commands¶
All management commands are run inside the container via docker exec:
Replace comaney-web-1 with the name shown by docker compose ps if yours differs.
User management¶
create_user¶
Creates a confirmed, active user account without going through the registration flow.
If -p is omitted, the password is prompted interactively (with confirmation). The account is immediately usable: no email confirmation step is required.
# Interactive (recommended on shared terminals):
docker exec -it comaney-web-1 python manage.py create_user alice@example.com
# Non-interactive:
docker exec -it comaney-web-1 python manage.py create_user alice@example.com -p "SecurePass1"
Exits with an error if the email is already in use or the password is empty.
set_user_password¶
Updates the password for an existing account.
If -p is omitted, the new password is prompted interactively (with confirmation).
Exits with an error if no account with that email exists.
remove_user_2fa¶
Removes every second-factor method (authenticator app entries and security keys) for a user. Use this when a user is locked out after losing every method and their recovery code.
Deletes all of the user's TOTP and security-key factors and clears the recovery code hash. The user can then log in with their password alone and set up 2FA again from their profile. The command is idempotent: running it when 2FA is already off prints a notice and exits cleanly.
Exits with an error if no account with that email exists.
delete_user¶
Permanently deletes a user account and all associated data (expenses, categories, tags, recurring expenses, dashboard cards).
Without --yes, the command asks for confirmation before proceeding. Type yes to confirm; anything else aborts. This operation is irreversible.
# Interactive:
docker exec -it comaney-web-1 python manage.py delete_user alice@example.com
# Skip confirmation (for scripts):
docker exec -it comaney-web-1 python manage.py delete_user alice@example.com --yes
Exits with an error if no account with that email exists.
Cron commands¶
These are intended to run on a schedule. See Cron Jobs for the recommended cron entries.
run_cron¶
Runs all scheduled maintenance tasks in sequence: scheduled expense generation, auto-settle, allowance transitions, and expense notifications.
The optional --year and --month flags override the current financial month for all users, which is useful for testing or manual backfills.
reset_trial_budgets¶
Resets the AI trial usage counter for every user. Run once per month.