funkwhale/docs/administrator_documentation/manage_script/users.md

4.9 KiB

Manage users with manage.py

The {file}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 {file}manage.py script. There are different ways to create users depending on what approach you want to take.

Create a user interactively


```{code} bash
poetry run python manage.py fw users create
```


```{code} bash
docker-compose run --rm api python manage.py fw users create
```

Create a user with a random password


```{code} bash
poetry run python manage.py fw users create --username <username> --email <user email> -p ""
```


```{code} bash
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


```{code} bash
export FUNKWHALE_CLI_USER_PASSWORD=<password>
poetry run python manage.py fw users create --username <username> --email <user email>
```


```{code} bash
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 {term}permissions. Check the command help for more options.


```{code} bash
poetry run python manage.py fw users --help
```


```{code} bash
docker-compose run --rm api python manage.py fw users --help
```

Update users

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

Set upload quota for a user


```{code} bash
poetry run python manage.py fw users set --upload-quota 500 <user>
```


```{code} bash
docker-compose run --rm api python manage.py fw users set --upload-quota 500 <user>
```

Make users staff members


```{code} bash
poetry run python manage.py fw users set --staff --superuser <user 1> <user 2>
```


```{code} bash
docker-compose run --rm api python manage.py fw users set --staff --superuser <user 1> <user 2>
```

Remove a user's staff privileges


```{code} bash
poetry run python manage.py fw users set --no-staff --no-superuser <user>
```


```{code} bash
docker-compose run --rm api python manage.py fw users set --no-staff --no-superuser <user>
```

Give a user moderation permissions


```{code} bash
poetry run python manage.py fw users set --permission-moderation <user>
```


```{code} bash
docker-compose run --rm api python manage.py fw users set --permission-moderation <user>
```

Reset a user's password


```{code} bash
poetry run python manage.py fw users set --password "<password>" <user>
```


```{code} bash
docker-compose run --rm api python manage.py fw users set --password "<password>" <user>
```

Reset a user's password using an environment variable


```{code} bash
export FUNKWHALE_CLI_USER_UPDATE_PASSWORD=<password>
poetry run python manage.py fw users set <user>
```


```{code} bash
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.


```{code} bash
poetry run python manage.py fw users set --help
```


```{code} bash
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.


```{code} py
poetry run python manage.py fw users rm <user>
```


```{code} py
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.


```{code} py
poetry run python manage.py fw users rm --hard <user>
```


```{code} py
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.


```{code} bash
poetry run python manage.py fw users rm --help
```


```{code} bash
docker-compose run --rm api python manage.py fw users rm --help
```