Documentation

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.

Email

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