Linux Installation

Install the VigilPrism server on Ubuntu, Debian, RHEL, or CentOS.

Prerequisites

  • Root or sudo access
  • 2+ CPU cores, 4 GB RAM minimum
  • 20 GB available disk space
  • Port 8000 available (or configure alternate port)
RECOMMENDED

Quick Install (Script)

The fastest way to install VigilPrism with all dependencies:

# Download and extract
wget https://download.vigilprism.com/server/latest/linux-x64.tar.gz
tar -xzf linux-x64.tar.gz
cd vigilprism-server
# Run installer
sudo ./install.sh

The installer creates a systemd service, sets up directories, and starts the server automatically.

Manual Installation

For more control over the installation process:

1. Download the Binary

wget https://download.vigilprism.com/server/latest/vigilprism-server-linux-x64
chmod +x vigilprism-server-linux-x64
sudo mv vigilprism-server-linux-x64 /opt/vigilprism/vigilprism-server

2. Create Directories

sudo mkdir -p /opt/vigilprism/config
sudo mkdir -p /opt/vigilprism/data
sudo mkdir -p /var/log/vigilprism

3. Create Configuration File

sudo nano /opt/vigilprism/config/server.yaml

Minimum configuration:

# Server configuration
host: 0.0.0.0
port: 8000
# IMPORTANT: Change this!
secret_key: your-256-bit-secret-key-here
# Database
database_url: sqlite:////opt/vigilprism/data/vigilprism.db

4. Create Systemd Service

sudo nano /etc/systemd/system/vigilprism-server.service

Service file content:

[Unit]
Description=VigilPrism Security Server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/opt/vigilprism/vigilprism-server
WorkingDirectory=/opt/vigilprism
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

5. Enable and Start Service

sudo systemctl daemon-reload
sudo systemctl enable vigilprism-server
sudo systemctl start vigilprism-server
# Check status
sudo systemctl status vigilprism-server

Firewall Configuration

Allow incoming connections on port 8000:

UFW (Ubuntu/Debian)

sudo ufw allow 8000/tcp
sudo ufw reload

firewalld (RHEL/CentOS)

sudo firewall-cmd --add-port=8000/tcp --permanent
sudo firewall-cmd --reload

Reverse Proxy Setup (Production)

For production deployments, use a reverse proxy like Nginx or Caddy for TLS termination:

Nginx Configuration

server {
    listen 443 ssl http2;
    server_name vigilprism.example.com;
    ssl_certificate /etc/letsencrypt/live/vigilprism.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/vigilprism.example.com/privkey.pem;
    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Caddy Configuration (Automatic HTTPS)

vigilprism.example.com {
    reverse_proxy localhost:8000
}

Caddy automatically obtains and renews TLS certificates from Let's Encrypt.

Verify Installation

# Check service status
sudo systemctl status vigilprism-server
# Check health endpoint
curl http://localhost:8000/health
# View logs
journalctl -u vigilprism-server -f

If successful, access the dashboard at http://your-server:8000

Default Credentials

The default login credentials are:

Username: admin

Password: admin

Change these immediately after first login!

Troubleshooting

Port already in use

Change the port in server.yaml or stop the conflicting service:

sudo lsof -i :8000

Service fails to start

Check logs for errors:

journalctl -u vigilprism-server --no-pager -n 50

Permission denied errors

Ensure directories have correct ownership:

sudo chown -R root:root /opt/vigilprism
sudo chmod -R 755 /opt/vigilprism