Skip to content

UST-QuAntiL/quantil-docker

Repository files navigation

License

Dockerized QuAntiL Environment

Docker Compose file for running the entire QuAntiL environment provided by the QC Atlas UI.
Thereby, the QC Atlas builds the basic knowledge base.
Furthermore, different features, e.g. NISQ Analyzer, Pattern Atlas, and QProv, are supported on top of the QC Atlas.
These features and their related backend components are defined as feature sets.

The defined feature sets are namely:

  • all (runs all features)
  • nisqAnalyzer
  • nisqAnalyzerCompilerComparison
  • patternAtlas
  • qprov

A detailed documentation can be found here.

The fastest way to get started is using Docker Compose.

The base components QC Atlas, QC Atlas UI, LaTeX Renderer, and the databases without any of the named features run by default using:

 docker-compose pull
 docker-compose up db -d
 docker-compose up

⚠️ The database (db) must be started before the other containers to ensure that it was fully initialized. Otherwise the other containers may fail to start.

For running certain feature sets on top of the base components, Profiles are used.
To start a certain feature set run:

docker-compose --profile <name-of-feature-set> pull
docker-compose up db -d
docker-compose --profile <name-of-feature-set> up

For running multiple feature sets, e.g. two sets, run:

docker-compose --profile <name-of-feature-set-1> --profile <name-of-feature-set-2> pull
docker-compose --profile <name-of-feature-set-1> up db -d
docker-compose --profile <name-of-feature-set-1> --profile <name-of-feature-set-2> up db

For running all feature sets, choose --profile all.

QuAntiL Component URL GitHub Docker Hub
QC-Atlas-UI http://localhost:80 Link Link
QC-Atlas http://localhost:6626/atlas Link Link
Pattern-Atlas-API http://localhost:1977/patternatlas Link Link
Pattern-Atlas-UI http://localhost:1978 Link Link
NISQ-Analyzer http://localhost:5010/nisq-analyzer Link Link
Quantum-Transpiler-Frontend http://localhost:5011 Link Link
Quantum-Transpiler-Backend http://localhost:5012 Link Link
Qiskit-Service http://localhost:5013 Link Link
Forest-Service http://localhost:5014 Link Link
Pytket-Service http://localhost:5015 Link Link
Rigetti QVM http://localhost:5016 Link Link
Rigetti Quilc http://localhost:5017 Link Link
QProv http://localhost:5020/qprov Link Link
QProv-Collector-IBM http://localhost:5021 Link Link
Latex-Renderer http://localhost:5030 Link Link
Redis http://localhost:5040 Link Link
Postgres-Multi DB tcp://localhost:5060 Link Link
Config-Server http://localhost:2379 Link Link

Make sure following ports in your environment are free in order to start the QuAntiL environment properly:

  • 80
  • 1977
  • 1978
  • 2379
  • 5010-5017
  • 5020-5021
  • 5030
  • 5040
  • 5060
  • 6626

Tips and Tricks

# Pull the latest images
docker-compose pull

# Validate and view the resulting configuration
docker-compose [-f <file> ...] config

# Start services in background
docker-compose up -d

# Shutdown services and remove container
docker-compose down -v

# Display useful logs
docker-compose logs -f [--tail=1 <SERVICE_NAME>...]
docker-compose logs -f qc-atlas db

Import Example Data

See QuAntil documentation

Acknowledgements

Current development is supported by the Federal Ministry for Economic Affairs and Energy as part of the PlanQK project (01MK20005N) and the DFG’s Excellence Initiative project SimTech (EXC 2075 - 390740016).

Haftungsausschluss

Dies ist ein Forschungsprototyp. Die Haftung für entgangenen Gewinn, Produktionsausfall, Betriebsunterbrechung, entgangene Nutzungen, Verlust von Daten und Informationen, Finanzierungsaufwendungen sowie sonstige Vermögens- und Folgeschäden ist, außer in Fällen von grober Fahrlässigkeit, Vorsatz und Personenschäden, ausgeschlossen.

Disclaimer of Warranty

Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

License

SPDX-License-Identifier: Apache-2.0