code: private function setPassword(): Response
      {
          $request = $this->container->get('request_stack')->getCurrentRequest();
  
          if (null === $request) {
              throw new \RuntimeException('The request stack did not contain a request');
          }
  
          if ('tl_password' !== $request->request->get('FORM_SUBMIT')) {
              return $this->render('password.html.twig');
          }
  
          $password = $request->request->get('password');
          $confirmation = $request->request->get('confirmation');
  
          // The passwords do not match
          if ($password !== $confirmation) {
              return $this->render('password.html.twig', [
                  'error' => $this->trans('password_confirmation_mismatch'),
              ]);
          }
  
          $installTool = $this->container->get('contao.install_tool');
          $minlength = $installTool->getConfig('minPasswordLength');
  
          // The passwords is too short
          if (Utf8::strlen($password) < $minlength) {
              return $this->render('password.html.twig', [
                  'error' => sprintf($this->trans('password_too_short'), $minlength),
              ]);
          }
  
          $installTool->persistConfig('installPassword', password_hash($password, PASSWORD_DEFAULT));
          $this->container->get('contao.install_tool_user')->setAuthenticated(true);
  
          return $this->getRedirectResponse();
      }
docs: Renders a form to set the install tool password.
  
  @throws \RuntimeException
  
  @return Response|RedirectResponse