Reset the admin user's password
If your Portainer admin forgets their password, follow these steps to reset it. There are three methods depending on your Portainer environment.
For each method, the following command line arguments can be applied:
--password
Set the new admin password in plaintext that will be bcrypt-hashed before storage. If omitted, a strong random password is generated and written to stdout on success. Mutually exclusive with --password-hash.
docker run --rm -v portainer_data:/data portainer/helper-reset-password --password "MyNewP@ssw0rd"
--password-hash
Set the admin password using a precomputed bcrypt hash. The value is stored as-is and will not be re-hashed. Mutually exclusive with --password.
docker run --rm -v portainer_data:/data portainer/helper-reset-password --password-hash "$2y$..."
--data-path
The path to the Portainer data store inside the container. Defaults to /data. Use this to point to a different mount or directory if needed.
docker run --rm -v portainer_data:/portainerdata portainer/helper-reset-password --data-path /portainerdata
Method 1: Resetting the admin password if Portainer runs as a container
First, go to our reset password container helper in GitHub, then stop the Portainer container by running this command:
docker stop "id-portainer-container"Next, run the helper using the following command (you'll need to mount the Portainer data volume):
If your Portainer data volume has a different name than portainer_data or you are using a bind mount for your data volume, you will need to adjust the mount in the below docker run command to suit your path.
docker pull portainer/helper-reset-password
docker run --rm -v portainer_data:/data portainer/helper-reset-passwordIf successful, the output should look like this:
2020/06/04 00:13:58 Password successfully updated for user: admin
2020/06/04 00:13:58 Use the following password to login: &_4#\3^5V8vLTd)E"NWiJBs26G*9HPl1If the helper is unable to find an admin user to update, it will create a new one for you. If the username admin is already used, it will create a user named admin-[randomstring]:
2022/08/10 07:36:33 [WARN] Unable to retrieve user with ID 1, will try to create, err: object not found inside the database
2022/08/10 07:36:33 Admin user admin-u0512b3f0v4dqk7o successfully created
2022/08/10 07:36:33 Use the following password to login: Sr#]YL_6D0k8Pd{pA9^|}F32j5J4I=avFinally, use this command to start the Portainer container then try logging in with the new password:
Method 2: Resetting the admin password if Portainer runs as a stack/service
First, scale the Portainer service to zero using this command:
Next, run the reset password container helper using the same bind-mount/volume as the data volume:
If your Portainer data volume has a different name than portainer_data or you are using a bind mount for your data volume, you will need to adjust the mount in the below docker run command to suit your path.
If successful, the output should look like this:
If the helper is unable to find an admin user to update, it will create a new one for you. If the username admin is already used, it will create a user named admin-[randomstring]:
Finally, start up the Portainer service scaling using this command then try logging in with the new password:
Method 3: Resetting the admin password if Portainer is deployed in a Kubernetes cluster
First, scale the Portainer deployment to zero using this command:
Next, create a pod using the reset password container helper image and mount the Portainer data volume. Create a pod YAML file using the command below:
Create the password reset pod using the command below:
Once the new pod is created and transitions into a completed state, you can see the new password in the pod logs:
If successful, the output should look something like this:
Finally, scale up the Portainer deployment using this command then try logging in with the new password:
You can delete the password reset pod using the below command:
Last updated
Was this helpful?