Installing VerifyWise
Step-by-step guide to deploy VerifyWise in your environment.
Before you begin
VerifyWise can be deployed on your own infrastructure, giving you complete control over your data. Before starting the installation, make sure you have the following prerequisites in place.
Server requirements
- •Linux server (Ubuntu 20.04+ recommended)
- •Minimum 2GB RAM, 2 CPU cores
- •At least 20GB available disk space
Software requirements
- •Docker and Docker Compose installed
- •npm (for development setup only)
- •Git for cloning the repository
Network requirements
- •Ports 80 and 443 open for web traffic
- •Port 5432 for PostgreSQL (internal)
- •Port 6379 for Redis (internal)
Choose your deployment method
VerifyWise supports two deployment approaches depending on your needs:
Production (Docker)
Recommended for most users. Uses Docker Compose for a fully containerized deployment with minimal configuration. Best for: Teams, production environments
Development (npm)
Run services individually with hot reload. Useful for contributing to the project or customizing the platform. Best for: Developers, contributors
Production setup (recommended)
The production setup uses Docker Compose to run all services in containers. This is the simplest way to get VerifyWise running.
Step 1: Download the installation files
Create a directory and download the required files:
mkdir verifywise && cd verifywise
curl -O https://raw.githubusercontent.com/bluewave-labs/verifywise/develop/install.sh
curl -O https://raw.githubusercontent.com/bluewave-labs/verifywise/develop/.env.prodStep 2: Configure environment variables
Open the .env.prod file and update these required values:
# Replace with your server's IP address or domain
BACKEND_URL=http://your-server-ip:3000
FRONTEND_URL=http://your-server-ip:8080
# Generate a secure JWT secret (run this command)
# openssl rand -base64 32
JWT_SECRET=your-generated-secret-here
# Set a strong database password
POSTGRES_PASSWORD=your-secure-passwordStep 3: Run the installation script
Make the script executable and run it:
chmod +x ./install.sh
./install.shThe script will pull the Docker images, create the database, and start all services. Once complete, VerifyWise will be available at your configured FRONTEND_URL.
Development setup
For development, you'll run the frontend and backend separately with hot reload enabled. This setup requires more steps but gives you full control over each service.
Step 1: Clone and install dependencies
git clone https://github.com/bluewave-labs/verifywise.git
cd verifywise
# Install frontend dependencies
cd Clients && npm install
# Install backend dependencies
cd ../Servers && npm installStep 2: Start database services
Run PostgreSQL and Redis in Docker containers:
# Start PostgreSQL
docker run -d --name mypostgres -p 5432:5432 \
-e POSTGRES_PASSWORD=your_password postgres
# Start Redis
docker run -d --name myredis -p 6379:6379 redis
# Create the database
docker exec -it mypostgres psql -U postgres -c "CREATE DATABASE verifywise;"Step 3: Configure and start services
# Copy the environment file
cp .env.dev Servers/.env
# Start the backend (in one terminal)
cd Servers && npm run watch
# Start the frontend (in another terminal)
cd Clients && npm run devThe frontend will be available at http://localhost:5173 and the backend API at http://localhost:3000.
Environment configuration
Here's a reference of the key environment variables you can configure:
| Variable | Description |
|---|---|
| BACKEND_URL | URL where the API server is accessible |
| FRONTEND_URL | URL where the web application is accessible |
| JWT_SECRET | Secret key for signing authentication tokens |
| POSTGRES_PASSWORD | Password for the PostgreSQL database |
| POSTGRES_DB | Database name (default: verifywise) |
| REDIS_HOST | Redis server hostname (default: localhost) |
First-time access
When you first access VerifyWise, you'll see the admin registration page. This is expected — the platform ships without any default users for security reasons.
- Navigate to your VerifyWise URL in a web browser
- Complete the admin registration form with your details
- Log in with your new admin credentials
- You'll land on the dashboard, ready to create your first use case
SSL and security
For production deployments, we strongly recommend enabling SSL/TLS encryption. You can obtain free certificates using Let's Encrypt with Certbot.
- Install Nginx as a reverse proxy on your server
- Install Certbot and obtain certificates for your domain
- Configure Nginx to proxy requests to VerifyWise services
- Update your
.env.prodURLs to usehttps:// - Restart the services to apply the changes