Offline Installation
Deploy Mopheus platform with offline installation packages, suitable for air-gapped environments.
Offline Installation
Offline installation uses pre-downloaded packages, suitable for environments without internet access.
Prerequisites
| Requirement | Notes |
|---|---|
| Deployment User | Dedicated non-root user (e.g. mopheus); running installer scripts as root is prohibited |
| Container Runtime | Podman 4.0+ (recommended) or Docker Engine (docker-ce) 20.10+, must be pre-installed (see Container Runtime Offline Installation) |
| Compose Tool | podman compose, podman-compose, docker compose, or docker-compose command available |
| Installation Package | Obtain offline package mopheus-install-<version>-linux-<arch>.tar.gz from release channels |
Tip: If your system (e.g. RHEL, CentOS, Rocky Linux, OpenEuler) already has Podman installed, you can use Podman directly without uninstalling Podman or installing Docker.
Installation Steps
1. Upload and Extract Package
# Create installation directory as root and set ownership
mkdir -p /app/mopheus
chown mopheus:mopheus /app/mopheus
# Upload installation package to server (e.g., to /tmp)
# Upload mopheus-install-<version>-linux-<arch>.tar.gz to /tmp
# Switch to mopheus user and extract package
su - mopheus
tar -zxvf /tmp/mopheus-install-<version>-linux-<arch>.tar.gz -C /app/mopheus2. Install Images and CLI Tools
cd /app/mopheus
./setup.sh installThis imports packaged images when available, otherwise pulls them from the configured registry, and installs/configures the bundled CLI tools. It does not start services.
3. Initialize Environment
# Initialize environment (creates .env, data dirs, checks network config)
./mopheus.sh init-env4. Edit Configuration
vi .envKey configuration options:
| Variable | Default | Description |
|---|---|---|
FRONTEND_PORT | 3000 | Frontend port |
BACKEND_PORT | 8080 | Backend port |
POSTGRES_PORT | 5432 | PostgreSQL database port |
SWISSQL_PORT | 18080 | SwissQL port |
FRONTEND_ORIGIN | — | Frontend access URL, must be changed to actual IP |
ADMIN_PASSWORD | Auto-generated | Admin password |
JWT_SECRET | Auto-generated | JWT secret key |
MOPHEUS_IMAGE_TAG | — | Image version tag |
5. Start Services
# Load offline images and start services
./mopheus.sh start-serverThe script automatically:
- Loads container images from
images/directory - Starts all services (frontend, backend, database, SwissQL)
6. Ports and Directories
After deployment, the frontend (3000), backend (8080), PostgreSQL (5432), and SwissQL (18080) each occupy one port, and all persistent data lives under data/ in the installation directory.
See Ports and Directories for the full port list (with exposure recommendations) and the installation directory layout.
7. Check Status
./mopheus.sh status8. First Login
The system automatically creates an admin account on first startup:
| Account | Password | Description | |
|---|---|---|---|
| Admin | admin@mopheus.dev | Check ADMIN_PASSWORD in .env | Primary administrator |
If initialized with
mopheus.sh init-env, the script generates a random password and writes it to.env. Check the actual value in.env.
Workspace Onboarding
After creating a workspace, the owner completes the guided onboarding flow in the workspace dashboard:
- Connect an available runtime.
- Create or select the Pangu agent and bind it to that runtime.
- Create the reporter skill. The skill is intentionally not assigned to Pangu.
- The server creates the seven localized onboarding tickets. Quest 01 may be marked Done because runtime binding already occurred; completing it unlocks the next ticket.
If the workspace does not need the guided setup, the owner can choose Skip onboarding and confirm. This permanently hides the guide for that workspace and creates no onboarding resources.
License
Mopheus uses a Proprietary License. All rights reserved by Enmotech.
Default License
The system automatically enables a built-in default license on first startup — no additional configuration required. The default license includes the following quota limits:
| Resource | Limit |
|---|---|
| Workspaces | 2 |
| Users | 5 |
| Agents per workspace | 5 |
| Teams per workspace | 2 |
| Memories per workspace | 50 |
Import Official License
To expand quotas or enable advanced features, import an official license file from the admin panel:
- Log in as admin
- Go to Admin → License
- Click Import License
- Upload the license file or paste the license code
The license takes effect immediately after import, and the system automatically refreshes quota limits.
License Inquiry
To obtain an official license, please contact:
- Email: licensing@enmotech.com
Container Runtime Offline Installation
If a container runtime is not yet installed on the server, we recommend installing Podman, or the open-source Docker Engine (docker-ce).
Tip: If your server already has Podman installed, you can use Podman directly without uninstalling Podman or installing Docker.
Docker Offline Installation
CentOS / RHEL
# Upload Docker offline package
tar -zxvf docker-<version>.tar.gz
# Install as root
cd docker
sudo rpm -ivh *.rpm
# Start Docker and add mopheus user to docker group
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker mopheus
# Verify
docker --versionUbuntu / Debian
# Upload Docker offline package
tar -zxvf docker-<version>.tar.gz
# Install as root
cd docker
sudo dpkg -i *.deb
# Start Docker and add mopheus user to docker group
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker mopheus
# Verify
docker --versionPodman Offline Configuration
Podman supports rootless execution:
# Extract Podman static package as root
tar -zxvf podman-linux-amd64.tar.gz -C / --strip-components=1
# Switch to mopheus user and enable user socket
su - mopheus
systemctl --user enable --now podman.socket
# Verify
podman --versionNext Steps
- Install CLI Tools — Install mopheus, claude, swissql and other command-line tools
- Configure Daemon — Turn your machine into a runtime for agent tasks