Running as Linux daemon (Ubuntu/Debian)
Use the respective commands of your package manager if you use another distribution like Red Hat Linux.
For the details and troubleshooting please refer to the official Microsoft learn documentation: Install .NET on Linux distributions - .NET | Microsoft Learn
Prerequisites
Before you install the ASP.NET runtime, run the following commands to add the Microsoft package signing key to your list of trusted keys and add the package repository.
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Install the runtime
sudo apt-get update
sudo apt-get install -y aspnetcore-runtime-8.0
Copy the “DpeNanoService” app to your Linux machine
Copy “DpeNanoService” app to the server using a tool that integrates into the organization's workflow (for example SCP, SFTP). It's common to locate web apps under the var directory (for example var/www/dpenanoservices).
scp -r .\dpenanoservices youruser@yourIP:/var/www/dpenanoservices
You need to adjust the folder permissions.
chmod 0777 /var/www/dpenanoservices
Create the service defintion file
In this example we use the nano editor.
sudo nano /etc/systemd/system/dpenanoservices.service
Copy this example “ini” to the editor and adjust the paths, where needed.
[Unit]
Description=DpeNanoServices running on Linux
[Service]
WorkingDirectory=/var/www/dpenanoservices
ExecStart=/usr/bin/dotnet /var/www/dpenanoservices/DpeNanoServices.dll --urls "http://0.0.0.0:5000" DpeParFile:DigaSystemRegistryXmlFilePath=DigaSystemRegistry_Linux.xml --environment Development
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
Start the service
sudo systemctl start dpenanoservices.service
Make the service reboot save (start the service at OS start).
sudo systemctl enable dpenanoservices.service
Verify, if the service is running.
sudo systemctl start dpenanoservices.service
Optional
If you need to access your DIGAS Par files from a network share and not from a local folder, you need to mount the network share …
sudo apt install cifs-utils -y
sudo mkdir /mnt/yourmount
sudo mount -t cifs -o user=youuser,domain=yourdomain //path-to-your-par-files /mnt/yourmount