Advanced settings
A few settings are not on screen. You change them in a text file or with a command.
Before you start: you need to be comfortable opening Notepad and PowerShell; for the firewall rule, administrator rights on this PC.
The configuration file
The file is called config.yaml. Usually, it is in %LOCALAPPDATA%\Noviscan: paste that path into the File Explorer address bar. If you picked a different data folder, its path is in data_location.txt, in that same place.
A commented template is installed in C:\Program Files\Noviscan\config.yaml.template, but it is incomplete: copy the lines from this page.
The file is YAML, with sections indented by two spaces, no tabs. If a section already exists, add your lines to it instead of creating a second one.
Noviscan only reads this file when it starts. Close its window before you edit the file, then open it again. Noviscan is not a Windows service, so closing the window is enough.
Open access from your network
Out of the box, Noviscan only listens on the PC that runs it. For a phone or another computer to reach it, add these lines to config.yaml, then close and reopen Noviscan.
api:
host: 0.0.0.0
0.0.0.0 means “all network cards in this PC.”
Windows must also let the connections through. If Noviscan runs as administrator, it opens the port itself. Otherwise, open PowerShell as administrator on that PC. The first line matters: the command reads config.yaml from the folder you are in, so if your data is elsewhere, change that path. Type:
Set-Location "$env:LOCALAPPDATA\Noviscan"
& "$env:ProgramFiles\Noviscan\noviscan.dist\Noviscan.exe" firewall-allow
The command answers “✓” when the rule is in place, and “✗ Droits administrateur requis” (the command speaks French) when it is not.
To check, create a phone pairing (Premium, see Use Noviscan on your phone): the red message The API only listens locally should no longer appear.
Receive alerts elsewhere
Email is open to every plan. Telegram, Discord, Slack and the webhook (a message sent to a web address you provide) need Premium. In Settings, on the General tab, the Active notification channels section (administrators only) offers three checkboxes: console, file and Email (SMTP, see config.yaml). The other channels aren’t in that list.
The Internet access setting does not turn off these messages.
In config.yaml, with your values:
notifications:
smtp_host: smtp.example.com
smtp_port: 587
smtp_username: alerts@example.com
smtp_password_env: ALERTS_MAIL_PASSWORD
smtp_use_tls: true
email_from: alerts@example.com
email_to: [me@example.com]
smtp_password_env is the name of a Windows environment variable that holds the password, and it must exist before Noviscan starts. Otherwise, smtp_password takes the password directly, in plain text in the file. Open Noviscan again, then check Email (SMTP, see config.yaml). These settings are also used to send invitations (see Administer: accounts, updates, logs).
Telegram, Discord, Slack, webhook
Under notifications:, add the channel’s lines, then its name in channels, for example channels: [console, desktop, telegram]. Keep console and desktop for the Windows desktop notification. Put your values in quotes, like telegram_chat_id: "-1000000000".
| Channel | Lines to add |
|---|---|
| Telegram | telegram_bot_token or telegram_bot_token_env, and telegram_chat_id |
| Discord | discord_webhook_url or discord_webhook_url_env |
| Slack | slack_webhook_url or slack_webhook_url_env |
| Webhook | webhook_url or webhook_url_env, and optionally webhook_secret or webhook_secret_env |
Discord, Slack and webhook addresses must start with https:// and lead to a public site, not to a device on your network.
⚠️ A channel listed without its settings, or an address that gets rejected, can keep Noviscan from starting. Write the settings first, then the channel name. If Noviscan stops starting, remove that name.
Try a channel
In PowerShell:
Set-Location "$env:LOCALAPPDATA\Noviscan"
& "$env:ProgramFiles\Noviscan\noviscan.dist\Noviscan.exe" test-notify --channel email
Replace email with telegram, discord, slack or webhook. An email failure only shows in the logs (Settings, Logs tab), so check that the message arrived.
Special cameras
You pick these types in Source type (see Add a camera or a folder).
- Google Nest camera (SDM). First create a Google Device Access project. The form asks for Device Access project ID, OAuth client ID, OAuth client secret and Pub/Sub subscription. Leave OAuth redirect URI as it is.
- Ezviz camera (cloud clips). Fill in Serial number, Account username, Account password and Clip decryption key. Then click Authenticate: Ezviz may send a code by email.
- Freebox — camera recordings. Click Add and authenticate, then approve on the box’s screen, with its remote control.
- SFTP and FTP outside your local network. Check I confirm I want to reach this remote server.
A camera can pass the test and then stop producing anything. The Alert if no media after (hours) field, in the source’s form on the Sources screen, covers that case: once that time passes with no media, the source turns Inactive and Noviscan lets you know. Leave it empty if you are unsure.
Purge expired sessions
Noviscan’s daily cleanup leaves expired sessions alone: only the Noviscan.exe purge command deletes them. It also applies the retention periods described in How long Noviscan keeps what. Close Noviscan, then in PowerShell:
Set-Location "$env:LOCALAPPDATA\Noviscan"
& "$env:ProgramFiles\Noviscan\noviscan.dist\Noviscan.exe" purge --dry-run
With --dry-run, nothing is deleted; the preview only covers media and history, not sessions. Run it again without that option to purge for real.
If it does not work
- Noviscan won’t start: undo your last change to
config.yaml, or remove the channel name you added. - A phone can’t reach Noviscan: did you reopen Noviscan after changing
api? Then check the firewall.
Other cases: Fix a problem and get help.
Applies to Noviscan 1.0.0