Installation

Online Installation

Deploy Mopheus platform online, suitable for servers with internet access.

Online Installation

Online installation downloads the package and tool bundles, prepares container images and CLI tools, initializes the environment, and starts the services. It supports Podman and Docker container runtimes.

Prerequisites

RequirementNotes
Deployment UserDedicated non-root user (e.g. mopheus); running installer scripts as root is prohibited
Container RuntimePodman 4.0+ (recommended) or Docker Engine (docker-ce) 20.10+, accessible by the non-root user
Compose Toolpodman compose, podman-compose, docker compose, or docker-compose command available
NetworkAccess to swr.cn-north-4.myhuaweicloud.com (Huawei Cloud image registry)

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.

Quick Deployment

1. Installation Package

# Standard installation
curl -fsSL https://mopheus.obs.cn-north-4.myhuaweicloud.com/install-online.sh | bash -s -- --dir /app/mopheus

Installation Flow

Run the online installer once. It downloads the installation package and CLI tool bundles, then automatically installs the images and CLI tools, initializes the environment, and starts the services.

Recovering from a Failed Installation

If the online installer fails after extracting the package, enter the installation directory and complete the steps manually:

cd /app/mopheus
./setup.sh install
./mopheus.sh init-env
./mopheus.sh start-server

If .env has already been created, init-env preserves the existing configuration.

2. Edit Configuration

To change configuration after installation, edit .env and restart the services. Key configuration options:

VariableDefaultDescription
FRONTEND_PORT3000Frontend port
BACKEND_PORT8080Backend port
POSTGRES_PORT5432PostgreSQL database port
SWISSQL_PORT18080SwissQL port
FRONTEND_ORIGINFrontend access URL, must be changed to actual IP
ADMIN_PASSWORDAuto-generatedAdmin password
JWT_SECRETAuto-generatedJWT secret key

3. 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.

Container User and File Ownership

The backend daemon (mopheusd) runs inside the container as a dedicated non-root user mopheus with UID/GID 10001. The container still starts as root: the entrypoint fixes ownership of the bind-mounted data directories, runs database migrations, then drops privileges via su-exec before starting the daemon — so the long-running process (and every agent subprocess it spawns) is unprivileged.

Consequences for host bind mounts (data/uploads, tools):

  • On a fresh install no manual chown is needed: the entrypoint corrects ownership of the bind-mounted directories to 10001:10001 at startup.
  • Files written by the daemon appear as UID 10001 on the host.

4. Check Status

./mopheus.sh status

Service URLs (based on .env configuration):

  • Frontend: http://<host-ip>:3000
  • Backend: http://<host-ip>:8080
  • SwissQL: http://<host-ip>:18080

5. First Login

The system automatically creates an admin account on first startup:

AccountEmailPasswordDescription
Adminadmin@mopheus.devCheck ADMIN_PASSWORD in .envPrimary 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:

  1. Connect an available runtime.
  2. Create or select the Pangu agent and bind it to that runtime.
  3. Create the reporter skill. The skill is intentionally not assigned to Pangu.
  4. 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:

ResourceLimit
Workspaces2
Agents per workspace5
Teams per workspace2
Memories per workspace50

Import Official License

To expand quotas or enable advanced features, import an official license file from the admin panel:

  1. Log in as admin
  2. Go to Admin → License
  3. Click Import License
  4. 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:

Next Steps