QWebHub Q&A
Version 2 · Add the durable answer for shared light/dark theme ownership and cache updates.
QWebHub Q&A
How do I change the Odin FTP password used by QWebHub deployments?
The credential must be changed in two places:
- Change the Windows
ftpuseraccount credential on Odin. - Update the local user-level
ODIN_FTP_PASSWORDenvironment variable on every computer that deploys QWebHub or its modules.
Never put the real value in a repository, BAT file, wiki page, ticket, chat, or deployment command committed to source control.
CMD method
On Odin, open Command Prompt as Administrator and use the interactive prompt:
net user ftpuser *
Enter the new value twice when prompted. It is not included in the command.
On the deployment computer, update the environment variable:
setx ODIN_FTP_PASSWORD "<new-ftp-password>"
setx stores the value for future processes but exposes the supplied value in the command and shell history. Close and reopen Command Prompt after running it.
PowerShell method
On Odin, open PowerShell as Administrator:
$credentialInput = Read-Host "New FTP password" -AsSecureString
Set-LocalUser -Name "ftpuser" -Password $credentialInput
Remove-Variable credentialInput
On the deployment computer, update the environment variable without placing the plaintext value in command history:
$secure = Read-Host "New FTP password" -AsSecureString
$plain = [Net.NetworkCredential]::new("", $secure).Password
[Environment]::SetEnvironmentVariable("ODIN_FTP_PASSWORD", $plain, "User")
$env:ODIN_FTP_PASSWORD = $plain
Remove-Variable secure, plain
The current PowerShell session is updated immediately; future terminals read the user-level value.
Verification
From a QWebHub Command Prompt, test authentication without uploading:
deploy_odin --check
A successful check reports FTP OK. Do not use echo %ODIN_FTP_PASSWORD% or otherwise print the credential. If the shared ftpuser account is used on another deployment computer, update that computer's environment variable too.
Does QWebHub control dark and light mode for every module?
Yes. QWebHub injects the shared theme bootstrap and palette into every mounted
Django module's HTML response. The qdb-theme selection is saved once and
follows the user across QWebHub, QDBAdmin, QProcess, QDG KB Viewer, and Gary
Breeding Reports.
Light mode is defined centrally in core/static/hub/theme.css. Since v1.2.2 it
uses a very light neutral-grey main background (#eceff1), near-white cards,
white inputs, dark text, and stronger text weights. Change the shared palette in
QWebHub rather than restyling each module independently. Increase the asset
version in qwebhub/theme_middleware.py whenever shared CSS changes so browsers
do not retain an older cached palette.