EDURange Cloud Installation Guide
This guide provides step-by-step instructions for installing and configuring EDURange Cloud using the EDURange Cloud Installer.
Prerequisites
Before you begin, ensure you have the following:
- A Kubernetes cluster (local or cloud-based)
kubectl
installed and configured to access your clusterhelm
installed (version 3.x or later)- Docker installed (for building and pushing images)
- A domain name that you control (for setting up ingress and SSL certificates)
- A Cloudflare account (for DNS management and SSL certificate issuance)
Building the Installer from Source
To avoid code signing issues, you can build the EDURange Cloud Installer from source:
-
Clone the Repository:
git clone https://github.com/edurange/edurange-cloud-installer.git cd edurange-cloud-installer
-
Install Dependencies:
npm install
-
Install Renderer Dependencies:
cd src/renderer npm install cd ../..
-
Build the Installer:
# For macOS npm run build:mac # For Windows npm run build:win # For Linux npm run build:linux
-
Locate the Built Installer:
- macOS:
dist/EDURange Cloud Installer-x.x.x.dmg
- Windows:
dist/EDURange Cloud Installer-x.x.x.exe
- Linux:
dist/EDURange Cloud Installer-x.x.x.AppImage
- macOS:
Building from source ensures that the application is signed with your own developer identity, avoiding code signing warnings and restrictions.
Installation Steps
After building the installer from source, follow these steps to install EDURange Cloud:
1. Launch the Installer
Open the installer application you built in the previous section. You’ll be presented with a welcome screen that provides an overview of the installation process.
2. Kubectl Setup
The first step is to ensure your kubectl is properly configured:
- Select your cloud provider from the dropdown menu
- Follow the provider-specific instructions to configure kubectl
- Click “Verify Connection” to ensure the installer can communicate with your Kubernetes cluster
- Click “Next” to proceed
3. Prerequisites Check
The installer will check if all required tools are installed:
- Wait for the checks to complete
- If any prerequisites are missing, follow the instructions to install them
- Click “Verify Again” if needed
- Click “Next” when all prerequisites are satisfied
4. Domain Setup
Configure your domain settings:
- Enter your domain name (e.g.,
example.com
) - Enter your Cloudflare API token (create one with Zone:DNS:Edit and Zone:Zone:Read permissions)
- Customize the subdomains if needed (defaults are recommended)
- Click “Next” to proceed
5. Ingress Setup
Install the NGINX Ingress Controller:
- Click “Install Ingress Controller”
- Wait for the installation to complete
- The installer will display the external IP address assigned to your ingress controller
- Create an A record in your Cloudflare DNS settings pointing to this IP address
- Wait for DNS propagation (the installer will check automatically)
- Click “Next” when DNS propagation is complete
6. Certificate Setup
Install cert-manager and configure SSL certificates:
- Click “Install cert-manager”
- Wait for the installation to complete
- The installer will create a ClusterIssuer for Let’s Encrypt
- A wildcard certificate for your domain will be requested
- Wait for the certificate to be issued
- Click “Next” when the certificate is ready
7. Database Setup
Set up the PostgreSQL database:
- Choose between installing a new in-cluster database or using an existing external database
- If using an in-cluster database, click “Install Database”
- If using an external database, enter the connection details
- Wait for the database to be ready
- Click “Next” to proceed
8. Components Setup
Install the core EDURange Cloud components:
- Click “Install Database Controller”
- Wait for the installation to complete
- Click “Install Instance Manager”
- Wait for the installation to complete
- Click “Install Monitoring Service”
- Wait for the installation to complete
- Click “Next” to proceed
9. OAuth Setup
Configure OAuth for user authentication:
- Create a new OAuth application in GitHub
- Set the homepage URL to
https://dashboard.yourdomain.com
- Set the callback URL to
https://dashboard.yourdomain.com/api/auth/callback/github
- Enter the Client ID and Client Secret in the installer
- Click “Save OAuth Configuration”
- Click “Next” to proceed
10. Dashboard Setup
Install the EDURange Cloud dashboard:
- Click “Install Dashboard”
- Wait for the installation to complete
- Click “Next” to proceed
11. User Management
Set up the initial admin user:
- Log in to the dashboard using GitHub authentication
- Return to the installer
- Click “Fetch Users”
- Select your user from the list
- Click “Grant Admin Access”
- Click “Next” to proceed
12. Verification
Verify that all components are working correctly:
- The installer will check the status of all components
- Green checkmarks indicate properly functioning components
- Click “Verify Again” if needed
- Click “Next” when all components are verified
13. Completion
The installation is now complete:
- The installer will display URLs for accessing the various components
- Bookmark these URLs for future reference
- Click “Finish” to close the installer
Post-Installation
After completing the installation:
- Log in to the dashboard at
https://dashboard.yourdomain.com
- Create your first challenge
- Invite users to join your EDURange Cloud instance
Troubleshooting
If you encounter issues during installation:
- Check the logs displayed in the installer for error messages
- Ensure all prerequisites are properly installed
- Verify that your Kubernetes cluster has sufficient resources
- Check that your Cloudflare API token has the correct permissions
- Ensure your domain’s DNS settings are properly configured
For additional help, visit the EDURange Cloud GitHub repository or join our community Discord server.