Self Hosted Central Management Setup (Red Hat)
Synaccess Cloud Installation & Setup (RHEL 9)
System Requirements
- Operating System: Red Had Enterprise Linux 9.4 x64 Gen2
- Hardware: At least 1 vCPU / 2GB RAM (supports up to ~1000 devices)
- Database: PostgreSQL v14.11 (or compatible)
- Contrib Packages required for extension uuid-ossp.
 
- Contrib Packages required for extension 
- Networking:
- Application Ports: 80/443 recommended (or custom HTTP/HTTPS).
- TLS: Strongly recommended (HTTPS).
- Device Connectivity: Ensure PDUs can reach this server.
- IP Whitelisting: If using a firewall, allow inbound from your PDUs.
- SMTP (Optional): For password reset emails and notifications.
 
1. Install the Synaccess Cloud RPM
- Download/Copy synaccess-cloud_<version>_x86_64.rpmto your RHEL 9 server.
- Install:
sudo rpm -i synaccess-cloud_<version>_x86_64.rpmReplace <version>with the actual version number (e.g.1.2.3).
What this does:
- Places the executable in /opt/synaccess-cloud/syn-cloud
- Installs a systemd service named syn-cloud
- Automatically starts the service on port 3000 at http://localhost:3000
You should see it running. If you haven’t configured .env yet, logs may show DB connection errors—this is normal initially.
2. Prepare PostgreSQL 14.11 on RHEL 9.4
Synaccess Cloud requires PostgreSQL 14 (or newer 14.x releases). You can either install PostgreSQL on the same server or use an external PostgreSQL host.
- 
Install PostgreSQL 14 (ensure it’s running). - For instance, via the PGDG repo on RHEL or your distro’s package manager elsewhere.
 
- 
Install Contrib Extensions (Required for UUID): - RHEL:
sudo dnf install -y postgresql14-contrib
- Adjust the command for your distribution if needed.
 
- RHEL:
Create a Database & User
CREATE DATABASE syn1;
CREATE USER synuser WITH ENCRYPTED PASSWORD 'synpassword';
GRANT ALL PRIVILEGES ON DATABASE syn1 TO synuser;Connection String
You’ll reference this database from Syn Cloud using a connection string. For the above example, it looks like:
postgresql://synuser:synpassword:5432/syn1- Username: synuser
- Password: synpassword
- Host: localhost(or the IP/hostname if remote)
- Port: 5432(default PostgreSQL port)
- Database: syn1
Set this DB_CONNECTION_STRING in your .env file (/opt/synaccess-cloud/.env)
3. Edit Your Configuration (.env.example)
.env.example)- Go to /opt/synaccess-cloud:cd /opt/synaccess-cloud
- Copy .env.exampleto.env:cp .env.example .env
- Edit .env(using nano/vi):nano .env
- Set DB connection string:
Adjust accordingly.DB_CONNECTION_STRING="postgresql://synuser:synpassword:5432/syn1"
Optional Variables
- PORT: Defaults to 3000
- TLS_CERT/TLS_KEY: Preconfigure TLS cert and key for HTTPS (configurable in the GUI as well)
- CONNECTION_SECURITY: Enforce TLS (HTTPS) by setting this variable to: tls
- 
 
IMPORTANT: Variables set in the .env will override the values set in the deployment settings in the Synaccess Cloud GUI. Changing any values in .env will require restarting the syn-cloud process. Users are encouraged to set these settings via the portal GUI.
4. Enable HTTP/HTTPS ports
Typically, HTTP uses port 80 and HTTPS uses port 443; if you plan to use different ports, make sure to open them in the firewall. We strongly recommend using HTTPS for secure communication. NOTE By default, Synaccess Cloud runs on port 3000.
- Ensure firewalld is running:
sudo systemctl enable --now firewalld
- Open HTTP (port 80):
sudo firewall-cmd --permanent --add-service=http
- Open HTTPS (port 443):
sudo firewall-cmd --permanent --add-service=https
- (Optional) Open custom ports:
Replacesudo firewall-cmd --permanent --add-port=3000/tcp3000with your desired port.
- Reload the firewall:
sudo firewall-cmd --reload
- Verify ports are open:
You should seesudo firewall-cmd --list-allservices: http httpsin the output.
5. Restart Syn Cloud
After editing .env or other deployment settings on the portal GUI:
sudo systemctl restart syn-cloud6. Access the Web App
- Browse to http://<server-ip>:3000.
- You’ll be guided through initial setup, including migrations and creating a super admin.
- The super admin can manage users, configure SMTP, SSL, etc.
If you tweak port/TLS in .env, restart the syn-cloud process for changes to apply.
6. Next Steps & Common Commands
- Configure your Synaccess PDUs to point to this server.
- (Optional) Set up SMTP for password reset emails.
- (Optional) Add SSL/TLS (see below).
Service Management (systemd):
sudo systemctl stop syn-cloud
sudo systemctl start syn-cloud
sudo journalctl -u syn-cloud -fManaging the Super Admin & Deployment Settings
After first run, you’ll create a super admin user:
- Manages additional users
- Adjusts webserver settings (port, SSL, SMTP)
Restart (systemctl restart syn-cloud) after any major config change.
Summary
- Install .rpm& set up PostgreSQL 14+ (plus-contribifuuid-osspis needed).
- Edit .env, then restart to load changes.
- Open http://<server-ip>:3000to finish setup.
- Restart after any major changes.
You now have a functioning Synaccess Cloud on RHEL 9, with the uuid-ossp extension available if needed.
Optional: Docker Compose for PostgreSQL
version: "3.8"
services:
  db:
    image: postgres:14.11-alpine
    container_name: syn-cloud-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=synuser
      - POSTGRES_PASSWORD=synpassword
      - POSTGRES_DB=syn1
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - "5432:5432"
volumes:
  pgdata:docker-compose up -dThen .env:
DB_CONNECTION_STRING="postgresql://synuser:[email protected]:5432/syn1"Restart Syn Cloud.
Optional: SSL Certs
Install Certbot:
sudo dnf install certbotObtain cert:
sudo certbot certonly --standalone -d your-domain.comThen either embed in .env or set up a reverse proxy like Nginx.
Version Upgrades
When a new RPM is released:
- Optional Backup: pg_dumpor similar.
- Install new .rpm:sudo dnf localinstall synaccess-cloud_<new_version>_x86_64.rpm
- Check Logs:
journalctl -u syn-cloud -f
- Validate via http://<server-ip>:3000.
Your .env and database persist through upgrades.
Updated 29 days ago