Quick Install

Overview

The automated installation script handles complete Oju deployment. It configures the Docker environment, generates security credentials, sets up SSL certificates, and initializes all required services.

Starting the Installation

Download Oju

# Clone the repository
git clone https://github.com/bjCSIRT/oju.git
cd oju

# Verify installation script
ls -la install.sh - for Linux
Get-Item install.ps1 - for Windows

Run Installation

# Make script executable
chmod +x install.sh

# Start installation
./install.sh - for Linux
.\install.ps1 - for Windows

Installation Process

Step 1: Prerequisites Verification

The script automatically checks:

  • Docker and Docker Compose availability

  • OpenSSL installation

  • docker-compose.yml file presence

  • Ports 80 and 443 availability

Step 2: Interactive Configuration

Domain Name :

Enter the domain name for your application (e.g., example.com):

Enter your full domain name (e.g., monitoring.yourcompany.com)

Let’s Encrypt Email :

Enter your email address for Let's Encrypt:

Email required for free SSL certificate acquisition

SSL Certificate Information :

Configuration for self-signed certificate fallback:

  • Country Code (2 letters) : BJ

  • State/Province : Littoral

  • City : Cotonou

  • Organization : Your Company

  • Organizational Unit : IT Department

Step 3: Automatic Generation

The script automatically generates:

  • PostgreSQL Password : 16 secure random characters

  • Redis Password : 16 secure random characters

  • Django Secret Key : 32 base64-encoded characters

  • Environment File : Complete application configuration

Step 4: Image Building

# Script automatically executes
docker-compose build

Builds custom Docker images for all services.

Step 5: SSL Configuration

Staging Mode (recommended for testing) :

Do you want to use Let's Encrypt staging mode (for testing without rate limits)? (y/N):
  • y : Test certificates (not trusted by browsers)

  • N : Production certificates (limited to 5/week/domain)

Automatic Process :

  1. Nginx service startup

  2. Let’s Encrypt certificate request

  3. If failed: self-signed certificate generation

  4. Nginx reload with new certificates

Step 6: Service Startup

Sequential service launch:

  1. PostgreSQL and Redis : Data services

  2. Django Backend : API and business logic

  3. Vue.js Frontend : User interface

  4. Celery Workers : Asynchronous processing

  5. Nginx : Reverse proxy with SSL

Step 7: Superuser Creation

Admin Account Configuration :

Enter superuser username (at least 3 alphabetic characters):
Enter superuser email:
Password:
Password (again):

The script validates and verifies creation with up to 5 automatic attempts.

Installation Results

Deployed Services

Automatic container verification:

# Script displays final status
docker-compose ps

# All services should show "Up"

Application Access

Upon successful installation:

================================================================
Installation completed successfully!

You can access your application at:
https://yourdomain.com

To access the Django admin interface:
https://yourdomain.com/admin
================================================================

Generated Files

  • .env : Complete environment configuration

  • nginx/ssl/ : SSL certificates (if self-signed)

  • Docker Volumes : Persistent service data

Error Handling

Missing Prerequisites

[ERROR] Docker is not installed. Please install Docker first.

Solution : Install missing tools according to Prerequisites

Port Conflicts

[WARNING] Ports 80 or 443 are already in use.
Continue anyway? (y/N):

Solutions :

  • Stop services using these ports

  • Choose to continue (may cause conflicts)

Let’s Encrypt Certificate Failure

[WARNING] Failed to obtain Let's Encrypt certificate. Self-signed certificates will be used.

Possible Causes :

  • DNS not configured correctly

  • Domain inaccessible from Internet

  • Let’s Encrypt rate limits reached

Fallback : Self-signed certificates generated automatically

Superuser Creation Failure

[ERROR] Failed to create superuser after 5 attempts. Installation aborted.

Solutions :

  • Check logs: docker-compose logs backend

  • Verify database connectivity

  • Restart installation

  • Access backend container and execute python3 manage.py createsuperuser

Optional Cleanup

Do you want to clean up unused Docker resources? (y/N):

Removes unused Docker images and containers to free disk space.

Next Steps

  1. Configure advanced settings in Configuration File

  2. Review First Launch for verification procedures

  3. Access the interface to begin monitoring setup

Your Oju installation is now complete and ready for production use!