Warning

This documentation only applies for the development version of Funkwhale! Visit the docs for the latest release.

Manage users with manage.py

The manage.py script includes commands for user management. Use these commands to automate managing users from the command line.

All users-related commands are available under the python manage.py fw users namespace.

Create users

You can create users with the manage.py script. There are different ways to create users depending on what approach you want to take.

Create a user interactively

poetry run python manage.py fw users create
docker-compose run --rm api python manage.py fw users create

Create a user with a random password

poetry run python manage.py fw users create --username <username> --email <user email> -p ""
docker-compose run --rm api python manage.py fw users create --username <username> --email <user email> -p ""

Create a user with a password set from an environment variable

export FUNKWHALE_CLI_USER_PASSWORD=<password>
poetry run python manage.py fw users create --username <username> --email <user email>
export FUNKWHALE_CLI_USER_PASSWORD=<password>
docker-compose run --rm api python manage.py fw users create --username <username> --email <user email>

There are extra options for user configuration, such as quota and permissions. Check the command help for more options.

poetry run python manage.py fw users --help
docker-compose run --rm api python manage.py fw users --help

Update users

You can update user accounts using the manage.py script. Update commands are available under the python manage.py fw users set namespace.

Set upload quota for a user

poetry run python manage.py fw users set --upload-quota 500 <user>
docker-compose run --rm api python manage.py fw users set --upload-quota 500 <user>

Make users staff members

poetry run python manage.py fw users set --staff --superuser <user 1> <user 2>
docker-compose run --rm api python manage.py fw users set --staff --superuser <user 1> <user 2>

Remove a user’s staff privileges

poetry run python manage.py fw users set --no-staff --no-superuser <user>
docker-compose run --rm api python manage.py fw users set --no-staff --no-superuser <user>

Give a user moderation permissions

poetry run python manage.py fw users set --permission-moderation <user>
docker-compose run --rm api python manage.py fw users set --permission-moderation <user>

Reset a user’s password

poetry run python manage.py fw users set --password "<password>" <user>
docker-compose run --rm api python manage.py fw users set --password "<password>" <user>

Reset a user’s password using an environment variable

export FUNKWHALE_CLI_USER_UPDATE_PASSWORD=<password>
poetry run python manage.py fw users set <user>
export FUNKWHALE_CLI_USER_UPDATE_PASSWORD=<password>
docker-compose run --rm api python manage.py fw users set <user>

There are extra options for updating users. Check the command help for more options.

poetry run python manage.py fw users set --help
docker-compose run --rm api python manage.py fw users set --help

Delete users

Delete a user’s account but leave a reference to them in the database

This prevents the same username being used in future.

poetry run python manage.py fw users rm <user>
docker-compose run --rm api python manage.py fw users rm <user>

Delete a user’s account, including all references in the database

This means the username can be reused.

poetry run python manage.py fw users rm --hard <user>
docker-compose run --rm api python manage.py fw users rm --hard <user>

There are extra options for deleting users. Check the command help for more options.

poetry run python manage.py fw users rm --help
docker-compose run --rm api python manage.py fw users rm --help