Skip to content

Setting up the GEM Dashboard

Requirements:
- [x] GEM Server package
- [x] GEM Dashboard package
- [x] Linux
- [x] Docker

Docker Deployment

Copy the environment file:

cp .env.example .env

Edit .env file and update with your IP address and port:

NOTE:
Edit from HTTP to HTTPS and use the IP Address and port that you see after you start the GEM server.

NEXT_PUBLIC_API_BASE_URL=https://your-ip-address:port
NODE_TLS_REJECT_UNAUTHORIZED=0
  1. Build and run with Docker Compose:
docker compose build
docker compose up -d
  1. Access the dashboard at https://localhost:3000

To stop the service:

docker compose down

Offline Deployment Guide

This guide provides instructions for deploying the GEM Dashboard in an environment with zero internet access.

Preparing the Docker Image

  1. On a machine with internet access, build the Docker image:
docker compose build
  1. Export the Docker image to a tar file:
./export-docker-images.sh

This script will create a docker-images-export directory with the exported image.

Deploying on the Offline Machine

  1. Transfer the docker-images-export directory to the offline machine using a physical medium (USB drive, external hard drive).

  2. Load the Docker image on the offline machine:

docker load -i gem-dashboard.tar
  1. Create a docker-compose.yml file on the offline machine:
services:
  gem-dashboard:
    image: gem-dashboard:latest
    ports:
      - "3000:3000"
    environment:
      - NEXT_PUBLIC_API_BASE_URL=https://your-offline-api-ip:port
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000"]
      interval: 30s
      timeout: 10s
      retries: 3

networks:
  app-network:
    driver: bridge
    internal: true # This prevents internet access
  1. Start the application:
docker-compose up -d
  1. Access the dashboard at https://localhost:3000