# Open5G2GO: Quick Start Guide

# Quick Start Guide

Get up and running with Open5G2GO in minutes.

## Before You Begin

The setup wizard will prompt you for the following information. Have these ready:

| Item | Description | Where to Get It |
|------|-------------|-----------------|
| **SIM Ki Key** | 32-character hex authentication key | From your SIM vendor |
| **SIM OPc Key** | 32-character hex operator key | From your SIM vendor |
| **PLMN** | Network identity (MCC-MNC) matching your SIMs | Usually 315-010 for US CBRS |
| **eNodeB IP Address** | Management IP of your Baicells eNodeB | From eNodeB web interface or DHCP |
| **Host IP Address** | IP of the machine running Open5G2GO | Auto-detected, but verify it's reachable from eNodeB |

**Need SIMs?** Order pre-programmed SIMs with matching Ki/OPc at: https://waveriders.live/sims

## Prerequisites

Before you begin, ensure your system meets these requirements:

* **Operating System**: Ubuntu 22.04 LTS or similar Linux distribution
* **Docker**: Version 24.0 or later
* **Docker Compose**: v2 or later
* **Disk Space**: At least 5GB free space
* **Network Ports**: The following ports must be available:
  * `36412/sctp` - SCTP traffic
  * `2152/udp` - GTP-U traffic
  * `8080/tcp` - Web UI and API

## Installation

### One-liner Install (Recommended)

For the quickest setup, use the automated installation script:

```bash
curl -fsSL https://raw.githubusercontent.com/Waveriders-Collective/open5G2GO/main/install.sh | bash
```

This script will:


1. Check system prerequisites
2. Clone the repository
3. Run interactive setup wizard
4. Pull pre-built Docker images
5. Start the stack

### Setup Wizard

After running the one line installation you will go through the step by step setup wizard;

**Step 1. Network Mode:** Select whether you want to deploy a 4G or 5G SA version of Open5G2GO

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/bcdc8248-9752-47b6-aef9-c30b5d469051/ba1db499-11cc-42b4-9746-9a68c5819a9b/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260927T134500Z&X-Amz-Expires=86400&X-Amz-Signature=46ed86eedb28a3dd82fc4d98b4fe2934ec4c159fed4adc683922a2b9022a6c52&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =541x466")

**Step 2. Network Configuration:** Open5G2GO is built to operate on a docker host with a single physical Ethernet interface. The wizard confirms which interface will be used. Enter to confirm default selection.

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/bcdc8248-9752-47b6-aef9-c30b5d469051/ef42e305-f0cb-4add-a761-f6ed9e104ae7/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260927T134500Z&X-Amz-Expires=86400&X-Amz-Signature=f0cc5a4657d6269c386684432a658bec730c9811573c12c2898a5fc9ab0efde6&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =526x446")

Confirm UE IP Pool: The default IP range for UEs connecting to Open5G2GO, only update this if the default 10.48.99.0/24 conflicts with your existing IP schema. 

Confirm UE IP Gateway: Default is 10.48.99.1. Enter to accept default.

Step 3. Network Identity (PLMNID): A number of 3GPP standard PLMNID can be selected for your network including CBRS (USA Only) 315010, and 999 prefix PLMNIDs assigned to private networks for global use.

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/bcdc8248-9752-47b6-aef9-c30b5d469051/12358737-593e-4988-8618-b81643737ca8/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260927T134500Z&X-Amz-Expires=86400&X-Amz-Signature=bfdc6bc2ab28ad1ba3ce90d8f3cf95f62d3a6594e121fb5166d2c389e65bbe3e&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =656x217")

**Step 4. SIM Configuration:** This is where you will enter the Ki/OPc keys that will be used to secure access to your network. Your SIMs will all use this same Ki/OPc combination. For enhanced security, unique Ki/OPc can be used. For simplicity, SurfControl UI only accepts input of IMSI, name and fixed IP address, assuming that SIMs will be configured with the globally set Ki/OPc.

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/bcdc8248-9752-47b6-aef9-c30b5d469051/ce7bf863-f2e4-48b6-838d-c860dcbad523/Untitled%20%281%29.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260927T134500Z&X-Amz-Expires=86400&X-Amz-Signature=2e0dec8369b6c4395c90e95ee7b32e56160d466a109f8b1588af92f3e4a4d95a&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =646x257")

**Step 5. eNodeB/gNodeB Configuration:** The SurfControl UI can monitor status of connected 4G and 5G radios. Enter the IP address of the eNodeB/gNodeB here. We recommend configuring your radio with a fixed IP address.

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/bcdc8248-9752-47b6-aef9-c30b5d469051/5414f338-9bc0-4b72-89c1-7c0e7a60de9e/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260927T134500Z&X-Amz-Expires=86400&X-Amz-Signature=5a2a2473dbe8f6ec1959486cfc67cbe89b28afb2fa07644d218e606491cf5539&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =650x262")

If your lab has more than one radio, you can add them now, or later via the radio config files.

**Initial Setup Complete!** The setup wizard will now download the latest docker images ready to start your Open5G2GO instance.

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/bcdc8248-9752-47b6-aef9-c30b5d469051/7d05d64b-af60-4d09-a4a7-fd5949c27b40/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260927T134500Z&X-Amz-Expires=86400&X-Amz-Signature=8de60d06a4427dcf2eade59e8dc62c0667e3fb3bd5f3e0cf6d4b797866126540&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =920x477")

Check health of your containers with the command below

```javascript
docker ps --format 'table {{.Names}}\t{{.Status}}'
```

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/bcdc8248-9752-47b6-aef9-c30b5d469051/d4c9a9a5-84df-42da-a432-d51c8a403ba1/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260927T134500Z&X-Amz-Expires=86400&X-Amz-Signature=53a0482d0e1bc163a5fc7ca173e8890969f113042cce15b6049cbb4731959d78&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =618x241")

**Start your Open5G2GO** instance by enter the command below;

```javascript
cd open5G2GO
./scripts/pull-and-run.sh
```

The latest docker images will now be pulled to your machine and started.

Once completed use the [OpenSurfControl](/doc/surfcontrol-user-guide-vrHzCLSMP8) UI to monitor and manage your system. It will be accessible via your web browser at the docker host IP you entered earlier in the wizard at port 8080

*http://<docker-host-ip>:8080*

### Manual Install

If you prefer manual installation or need more control over the setup process:


1. Clone the repository:

   ```bash
   git clone https://github.com/Waveriders-Collective/open5G2GO.git
   cd open5G2GO
   ```
2. Run the preflight check to verify your system:

   ```bash
   ./scripts/preflight-check.sh
   ```
3. Run the setup wizard:

   ```bash
   ./scripts/setup-wizard.sh
   ```
4. Pull images and start the services:

   ```bash
   ./scripts/pull-and-run.sh
   ```

## First Device Provisioning

Once the system is running, you can add your first device:


1. **Access the Web UI**: Open your browser and navigate to `http://YOUR_IP:8080` (replace `YOUR_IP` with your server's IP address)
2. **Navigate to Devices**: Click on the "Devices" page in the navigation menu
3. **Add Device**: Click the "Add Device" button
4. **Enter Device Information**:
   * **IMSI**: Enter the full 15-digit IMSI from your SIM card (e.g., `315010000000001`)
   * **Device Name**: Give it a friendly name (e.g., "Camera-01")
5. **Confirm**: The device will appear in the devices list once successfully provisioned

## Verification

### Check Container Health

Verify that all Docker containers are running and healthy:

```bash
docker compose -f docker-compose.prod.yml ps
```

All containers should show a status of "Up" or "healthy".

### Check API Health

Verify the API is responding correctly:

```bash
curl http://localhost:8080/api/v1/health
```

A successful response indicates the system is operational.

## Updates

To update to the latest version:

```bash
cd ~/open5G2GO
./scripts/update.sh
```

## Next Steps

* Review the [User Guide](/doc/open5g2go-surfcontrol-dashboard-Im1DKXkgTL) for detailed UI walkthrough
* See the [eNodeB Setup Guide](/doc/open5g2go-enodeb-setup-iBsLE5NQIS) for base station configuration
* Check [Troubleshooting](/doc/open5g2go-troubleshooting-pehwganA8Q) for common issues