Deploy the Open Source Edition
The qOntology open source edition provides ontology modeling, semantic asset management, and ontology applications. Choose a deployment method to suit evaluation, development, and operations requirements.
| Method | Implementation | Suitable for |
|---|---|---|
| Docker Compose deployment | Prepare the frontend and configuration, then start the application and middleware in stages using the repository's Compose files | Single-server trials, demonstrations, validation, and single-server deployments managed by operations staff |
| Run locally from source | Run the backend and frontend locally and prepare databases, caches, and other dependencies separately | Daily development, integration testing, and customization |
| Manual deployment | Install runtimes and middleware yourself, then deploy backend and frontend artifacts | Existing infrastructure, separate component deployment, and customized networks and operations environments |
For an initial trial, start with Docker Compose deployment. The repository supplies Compose files, but you still need frontend dist files and deployment configuration from the same release. There is no universal one-click installer.
Docker Compose deployment
The repository's docker/ directory contains definitions for the qOntology API, Nginx, MySQL, Redis, Neo4j, and kkFileView. MySQL is the default database, and the application entry port is 8897.
Deployment flow: obtain the project and matching images → prepare the frontend → configure passwords and data mounts → start middleware → start the API and Nginx → verify login.
- The deployment host does not need a backend JDK or Maven. Prepare Node.js and npm if you need to build the frontend yourself.
- Manage services with
docker compose -p qontology --profile all; run log and status checks from the same deployment directory. - The current configuration is intended for a single server. For production, design the operating setup around data volume, backups, access controls, and availability requirements.
View Docker Compose deployment steps
Run locally from source
For developers who need to modify code, debug with breakpoints, or test frontend/backend integration.
- Use JDK 17 and Maven 3.8+ for the backend; start the application from
qontology-server. - Use Node.js 18+ and npm for the frontend; install dependencies and run the development server in
qontology-ui. - Prepare MySQL, Redis, and any Neo4j or kkFileView services required by the features you use. Existing services or containers can provide these dependencies.
- Check connection addresses, accounts, ports, and frontend proxies in the development configuration. Do not use service names that resolve only inside the Compose network.
The project's README.md and QUICKSTART.md describe running from source. Use the current POM, frontend manifest, and actual configuration as the version references. The current Compose configuration has no dedicated local profile; do not apply another product's startup modes directly to this project.
Source code: qOntology on Gitee.
Manual deployment
Operations staff install the JDK, database, cache, graph database, preview service, and Nginx separately, then deploy the backend JAR and frontend dist.
This approach can reuse existing databases, a shared gateway, and backup systems, and can place the application and middleware on separate hosts. You must maintain service addresses, startup order, process management, logs, data directories, and recovery procedures.
Compared with Compose, manual deployment requires more environment configuration and ongoing maintenance. Before using Chinese domestic operating systems or databases, or ARM hosts, check the requirements of the target combination, then validate functionality and stability.
Prerequisites
| Item | What to check |
|---|---|
| Matching versions | Source code, backend image or JAR, frontend files, configuration, and initialization SQL must come from the same release |
| Network and resources | Images and dependencies can be obtained, host resources meet actual data and concurrency needs, and required ports are free |
| Accounts and configuration | Set separate credentials for the database, cache, and application; check connection addresses and the access entry point |
| Data and recovery | Define persistent storage locations for databases and uploaded files, and back up existing data; do not use initialization scripts to overwrite a live environment |
After deployment, verify at least login, project queries, file upload/download, and previews. Verify graph and AI capabilities separately according to the features actually enabled.
