Linux Deployment
This guide provides step-by-step instructions to deploy SyncNow on a Linux machine.
SyncNow runs as a systemd service and requires a dedicated system user (syncnow
). The installation process requires sudo privileges.
Prerequisites
-
Root or sudo privileges are required to install and manage the service.
-
Ensure unzip is installed on your system.
-
We use the ICU (International Components for Unicode) library, please install it with this command
Here’s how you install ICU (
libicu
) on different Linux distributions:Ubuntu / Debian
Use
apt
:sudo apt update sudo apt install -y libicu-dev
Red Hat (RHEL) / CentOS / Rocky Linux
Use
dnf
oryum
depending on your version:sudo dnf install -y libicu # For RHEL 8, 9 and newer sudo yum install -y libicu # For RHEL 7 and older
Verify Installation
After installation, check if ICU is installed by running:
ldd $(which dotnet) | grep icu
-
If using PostgreSQL or SQL Server, ensure the database is set up beforehand.
Extract the Installation Package
Extract the SyncNow compressed archive:
sudo unzip "~/Linux64-SyncNow-<version>.zip" -d /opt/syncnow
Installation
Systemd Service Setup
During the installation, SyncNow will create a systemd service that runs under the syncnow
user. This user will be created by the installation script if it does not already exist.
The service configuration file will be located at /etc/systemd/system/syncnow.service
and will include the necessary settings to run SyncNow as a daemon.
To manage the SyncNow service, you can use the following commands:
-
Start the service:
sudo systemctl start syncnow
-
Stop the service:
sudo systemctl stop syncnow
-
Restart the service:
sudo systemctl restart syncnow
-
Enable the service to start on boot:
sudo systemctl enable syncnow
-
Check the status of the service:
sudo systemctl status syncnow
Step 1: Database Setup
SyncNow supports SQLite (default), PostgreSQL, or SQL Server (MSSQL).
For the Internal Database (SQLite)
No additional configuration is required.
For SQL Server or PostgreSQL
- Create a database user for SyncNow.
- Create a database and grant full ownership to the SyncNow user.
Step 2: Install SyncNow
-
Change to the setup directory:
mkdir /opt/syncnow cd /opt/syncnow
-
Grant execution permissions and install SyncNow:
chmod +x Install.sh sudo ./Install.sh Install
To install the environment for testing with port 5050, use the following command:
sudo ./Install.sh Install Test
-
Accept the license agreement by pressing
Y
when prompted. -
If using PostgreSQL or SQL Server, configure the database settings in
/opt/SyncNow/appsettings.json
:- Set the
DatabaseType
(options:SQLite
,SQLServer
,PostgreSQL
). - Configure
DatabaseHost
,DatabaseName
,DatabasePort
,DatabaseUser
, andDatabasePassword
. - The password will be encrypted after the first load.
- If using TLS/SSL encryption, set
Encrypt
toTrue
. - If using Windows Authentication (MSSQL only), set
WindowsAuth
toTrue
(password is not needed in this case).
- Set the
-
Start the service:
sudo systemctl start syncnow
-
Enable SyncNow to start on boot:
sudo systemctl enable syncnow
Step 3: Verify Installation
-
Open
/opt/SyncNow/WebApp/app.json
and enter the SyncNow hostname or IP address. -
Access SyncNow via:
http://<server-ip>:5030
-
Default login credentials:
- Username:
admin@SyncNow.Local
- Password:
Admin
(Change this immediately after login)
- Username:
-
Enter your license key in the SyncNow application settings.
Uninstall
-
Ensure you have admin permissions.
-
Run the following command to remove SyncNow:
sudo ./Install.sh Remove
-
SyncNow and its systemd service will be removed.
-
If needed, delete the installation folder manually:
sudo rm -rf /opt/SyncNow
Upgrade
SyncNow upgrades the database automatically during this process.
Upgrade Steps:
-
Ensure you have admin permissions.
-
Extract the new SyncNow archive to a temporary directory.
-
Run the upgrade command:
sudo ./Install.sh Upgrade /opt/SyncNow
-
Confirm the backup prompt (
Y
). -
The upgrade process will update SyncNow while preserving essential configuration files.