Installing the Server
Windows 11
-
Unpack
LumiScanAnnotationWeb-<version>-win64.zip, for example toC:\LumiScanAnnotationWeb. It contains:C:\LumiScanAnnotationWeb\ lumiscan-annotation-server.exe the server www\ the web pages config\annotation-server.example.json README.md, Changelog.md -
Copy
config\annotation-server.example.jsontoconfig\annotation-server.jsonand adapt it, see Configuration. To start, set at leastportand eitherdata_root(an existing image folder) orprojects_root. -
Start the server in a command prompt:
cd C:\LumiScanAnnotationWeb lumiscan-annotation-server.exe --config config\annotation-server.json -
Allow the port (default 8080) in the Windows firewall for the network the users are in.
Ubuntu 24.04
-
Copy the server and the
wwwfolder, for example to/opt/lumiscan-annotation-web, and the configuration to/etc/lumiscan-annotation-web/annotation-server.json. -
Create a service account that may read and write the project folders:
sudo useradd --system --home-dir /var/lib/lumiscan-annotation-web --create-home --shell /usr/sbin/nologin lsa sudo chown -R lsa: /etc/lumiscan-annotation-web -
Start it once by hand to check the configuration:
sudo -u lsa /opt/lumiscan-annotation-web/lumiscan-annotation-server --config /etc/lumiscan-annotation-web/annotation-server.json
First sign-in
At the first start, with no accounts yet, the server creates the local user admin with a random password and writes it to initial-admin-password.txt next to the database (the log names the file).
-
Open
https://<server>:8080/in the browser. The browser warns about the self-signed certificate: compare the fingerprint with the server log and continue, see HTTPS. -
Sign in as
adminwith that password. -
Choose a new password. The file is then deleted.
-
Create the other accounts, or set up the directory or single sign-on, see Users and Roles.
If nobody can sign in as administrator any more:
lumiscan-annotation-server --config <configuration> --reset-password admin
This prints a new password (and creates the account if it is missing). It must be changed at the next sign-in.
Starting the server automatically
The server is one program without a window. Start it at boot with the usual tools of the operating system, as the service account.
- Linux (systemd),
/etc/systemd/system/lumiscan-annotation-web.service -
[Unit] Description=LumiScan Annotation Web After=network-online.target Wants=network-online.target [Service] User=lsa ExecStart=/opt/lumiscan-annotation-web/lumiscan-annotation-server --config /etc/lumiscan-annotation-web/annotation-server.json Restart=on-failure [Install] WantedBy=multi-user.targetThen
sudo systemctl enable --now lumiscan-annotation-web. - Windows (Task Scheduler), in an administrator PowerShell
-
$exe = "C:\LumiScanAnnotationWeb\lumiscan-annotation-server.exe" $action = New-ScheduledTaskAction -Execute $exe -Argument "--config C:\LumiScanAnnotationWeb\config\annotation-server.json" -WorkingDirectory "C:\LumiScanAnnotationWeb" $trigger = New-ScheduledTaskTrigger -AtStartup $settings = New-ScheduledTaskSettingsSet -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) -ExecutionTimeLimit ([TimeSpan]::Zero) Register-ScheduledTask -TaskName "LumiScan Annotation Web" -Action $action -Trigger $trigger -Settings $settings -User "SYSTEM" -RunLevel HighestThe account must be able to read and write the project folders; for network shares, use a domain service account instead of
SYSTEM.
Command-line options
Options on the command line override the configuration file.
|
the configuration file (JSON) |
|
a folder with images, becomes the project |
|
listen address (default |
|
|
|
the web pages (default: |
|
write rotating log files there |
|
the database (default: |
|
write a backup and exit; works while the server runs |
|
restore a backup and exit; the server must be stopped ( |
|
give a local user a new random password, print it and exit |
|
version, list of options |
Updating
-
Stop the server. Optional, but recommended: make a backup first (
--backup, see Backup and Restore). -
Replace the program and the
wwwfolder. Keep the configuration and the database. -
Start the server. It updates its database itself if needed.
-
Users reload the page in the browser.