Image

Search images

GET /api/v1/image

Get recommended image list. If depots is from dockerhub, it will take a few seconds to search.

Query Parameters:
 
  • category – (optional) one of all, local, dockerhub, private. Default is all
  • filter_text – (optional) filter image name and description or query string for docker search
  • type – (optional) one of lxc, lxd, docker, app
  • registry_name – (optional) Private registry name

From local repository:

Example request

$ curl -sq -XGET -b cookies.txt "http://${QIP}:${QPORT}/container-station/api/v1/image?category=all"

Example response

{
    "category": "all",
    "filterText": "",
    "qcsVersion": "2.4.0.2316",
    "results": [
        {
            "arch": "amd64",
            "description": "CAFFE (Convolutional Architecture for Fast Feature Embedding) is a deep learning framework. This is official CAFFE image.",
            "displayName": "CAFFE - GPU",
            "displayNameLower": "caffe - gpu",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ai_default.png",
            "installed": false,
            "location": "https://hub.docker.com/r/bvlc/caffe/",
            "name": "bvlc/caffe",
            "qcsVersion": "2.0",
            "repository": "dockerhub",
            "type": "ai",
            "version": "gpu"
        },
        {
            "arch": "amd64",
            "description": "This is a photo recognition demo version generated using CAFFE deep learning framework.",
            "displayName": "CAFFE Demo - GPU",
            "displayNameLower": "caffe demo - gpu",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ai_default.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/caffedemo/",
            "name": "qnapnas/caffedemo",
            "qcsVersion": "2.0",
            "repository": "dockerhub",
            "type": "ai",
            "version": "0.1beta-gpu"
        },
        {
            "arch": "amd64",
            "description": "Chainer is a Python-based deep learning framework aiming at flexibility. This is official Chainer image.",
            "displayName": "Chainer - GPU",
            "displayNameLower": "chainer - gpu",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ai_default.png",
            "installed": false,
            "location": "https://hub.docker.com/r/chainer/chainer",
            "name": "chainer/chainer",
            "qcsVersion": "2.0",
            "repository": "dockerhub",
            "type": "ai",
            "version": "v6.0.0b1"
        },
        {
            "arch": "amd64",
            "description": "Microsoft Cognitive Toolkit (CNTK) is an open source deep-learning toolkit.",
            "displayName": "CNTK - GPU",
            "displayNameLower": "cntk - gpu",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ai_default.png",
            "installed": false,
            "location": "https://hub.docker.com/r/microsoft/cntk/",
            "name": "microsoft/cntk",
            "qcsVersion": "2.0",
            "repository": "dockerhub",
            "type": "ai",
            "version": "2.6-gpu-python3.5-cuda9.0-cudnn7.0"
        },
        {
            "arch": "amd64",
            "description": "MXNet is a deep learning framework used to train and deploy deep neural networks. This is MXNet with the Python package.",
            "displayName": "MXNet - GPU",
            "displayNameLower": "mxnet - gpu",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ai_mxnet.png",
            "installed": false,
            "location": "https://hub.docker.com/r/mxnet/python/",
            "name": "mxnet/python",
            "qcsVersion": "2.0",
            "repository": "dockerhub",
            "type": "ai",
            "version": "1.3.1_gpu_cu92_mkl_py3"
        },
        {
            "arch": "amd64",
            "description": "PyTorch is a deep learning framework that puts Python first. It provides Tensors and Dynamic neural networks in Python with strong GPU acceleration.",
            "displayName": "Pytorch - GPU",
            "displayNameLower": "pytorch - gpu",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ai_default.png",
            "installed": false,
            "location": "https://hub.docker.com/r/pytorch/pytorch",
            "name": "pytorch/pytorch",
            "qcsVersion": "2.0",
            "repository": "dockerhub",
            "type": "ai",
            "version": "1.0.1-cuda10.0-cudnn7-devel"
        },
        {
            "arch": "amd64",
            "description": "TensorFlow is an open-source software library for Machine Intelligence. This is official docker image for deep learning framework TensorFlow.",
            "displayName": "TensorFlow - GPU",
            "displayNameLower": "tensorflow - gpu",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ai_tensorflow.png",
            "installed": false,
            "location": "https://hub.docker.com/r/tensorflow/tensorflow/",
            "name": "tensorflow/tensorflow",
            "qcsVersion": "2.0",
            "repository": "dockerhub",
            "type": "ai",
            "version": "1.13.1-gpu-py3"
        },
        {
            "arch": "amd64",
            "description": "Run Dashing in a Docker container",
            "displayName": "Dashing",
            "displayNameLower": "dashing",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_default.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/qiot-dashing_amd64/",
            "name": "qnapnas/qiot-dashing_amd64",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "0.1"
        },
        {
            "arch": "amd64",
            "description": "A damn-sexy, open source real-time dashboard builder for IOT and other web mashups",
            "displayName": "freeboard",
            "displayNameLower": "freeboard",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_freeboard.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/qiot-freeboard_amd64/",
            "name": "qnapnas/qiot-freeboard_amd64",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "0.1"
        },
        {
            "arch": "amd64",
            "description": "Open-source home automation platform running on Python 3.",
            "displayName": "Home Assistant",
            "displayNameLower": "home assistant",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_home_assistant.png",
            "installed": false,
            "location": "https://hub.docker.com/r/homeassistant/home-assistant/",
            "name": "homeassistant/home-assistant",
            "qcsVersion": "1.8",
            "repository": "dockerhub",
            "type": "iot",
            "version": "0.65.5"
        },
        {
            "arch": "amd64",
            "description": "LoRaGateWay, PHP, MySQL, myphpadmin, Dashboard",
            "displayName": "iFrogLab/LoRaGateway",
            "displayNameLower": "ifroglab/loragateway",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_ifroglab.png",
            "installed": false,
            "location": "https://hub.docker.com/r/ifroglab/loragateway/",
            "name": "ifroglab/loragateway",
            "qcsVersion": "1.8",
            "repository": "dockerhub",
            "type": "iot",
            "version": "latest"
        },
        {
            "arch": "amd64",
            "description": "MongoDB document databases provide high availability and easy scalability",
            "displayName": "MongoDB",
            "displayNameLower": "mongodb",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_mongo.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/qiot-mongodb_amd64/",
            "name": "qnapnas/qiot-mongodb_amd64",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "3.2"
        },
        {
            "arch": "amd64",
            "description": "MQTT Mosquitto 1.5.8 build on ubuntu 14.4",
            "displayName": "MQTT",
            "displayNameLower": "mqtt",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_mqtt.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/qiot-mosquitto_amd64/",
            "name": "qnapnas/qiot-mosquitto_amd64",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "0.1"
        },
        {
            "arch": "amd64",
            "description": "mqtt-spy is an open source utility intended to help you with monitoring activity on MQTT topics",
            "displayName": "mqtt-spy",
            "displayNameLower": "mqtt-spy",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_default.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/qiot-mqtt-spy_amd64/",
            "name": "qnapnas/qiot-mqtt-spy_amd64",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "0.1"
        },
        {
            "arch": "amd64",
            "description": "Node-RED visual tool for wiring the Internet of Things",
            "displayName": "Node-RED",
            "displayNameLower": "node-red",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_node_red.png",
            "installed": false,
            "location": "https://hub.docker.com/r/nodered/node-red/",
            "name": "nodered/node-red",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "latest"
        },
        {
            "arch": "amd64",
            "description": "A vendor and technology agnostic open source automation software for home.",
            "displayName": "openHAB",
            "displayNameLower": "openhab",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_openhab.png",
            "installed": false,
            "location": "https://hub.docker.com/r/openhab/openhab/",
            "name": "openhab/openhab",
            "qcsVersion": "1.8",
            "repository": "dockerhub",
            "type": "iot",
            "version": "2.2.0-amd64-debian"
        },
        {
            "arch": "amd64",
            "description": "Ponte is an Internet of Things / Machine to Machine platform that connect Things to Web developers",
            "displayName": "Ponte",
            "displayNameLower": "ponte",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_default.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/qiot-ponte_amd64/",
            "name": "qnapnas/qiot-ponte_amd64",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "0.1"
        },
        {
            "arch": "amd64",
            "description": "RabbitMQ is a highly reliable enterprise messaging system based on the emerging AMQP standard",
            "displayName": "RabbitMQ",
            "displayNameLower": "rabbitmq",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_rabbit_mq.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/qiot-rabbitmq_amd64/",
            "name": "qnapnas/qiot-rabbitmq_amd64",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "3.6.6-management"
        },
        {
            "arch": "amd64",
            "description": "Redis is an open source key-value store that functions as a data structure server",
            "displayName": "Redis",
            "displayNameLower": "redis",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_redis.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/qiot-redis_amd64/",
            "name": "qnapnas/qiot-redis_amd64",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "3.0.7"
        },
        {
            "arch": "amd64",
            "description": "Redis management tool written in node.js",
            "displayName": "Redis Commander",
            "displayNameLower": "redis commander",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_default.png",
            "installed": false,
            "location": "https://hub.docker.com/r/qnapnas/qiot-redis-commander_amd64/",
            "name": "qnapnas/qiot-redis-commander_amd64",
            "qcsVersion": "1.5",
            "repository": "dockerhub",
            "type": "iot",
            "version": "0.1"
        },
        {
            "arch": "amd64",
            "description": "Wio Link is designed to simplify your IoT development. It is an ESP8266 based Wi-Fi development board for you to create IoT applications with open-source, plug and play electronics, mobile APPs and RESTful APIs.",
            "displayName": "Wio Link",
            "displayNameLower": "wio link",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/iot_wiolink.png",
            "installed": false,
            "location": "https://hub.docker.com/r/killingjacky/wio_link/",
            "name": "killingjacky/wio_link",
            "qcsVersion": "1.8",
            "repository": "dockerhub",
            "type": "iot",
            "version": "latest"
        },
        {
            "arch": "amd64",
            "description": "GitLab is a web-based Git repository manager with code reviews, issue tracking, activity feeds and wikis.",
            "displayName": "GitLab",
            "displayNameLower": "gitlab",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_gitlab.png",
            "installed": false,
            "location": "https://hub.docker.com/r/sameersbn/gitlab",
            "name": "gitlab",
            "repository": "dockerhub",
            "type": "app",
            "version": "11.4.0"
        },
        {
            "arch": "amd64",
            "description": "Joomla! is a free, powerful open source content management system. It is designed for quickly creating online communities, blogs and eCommerce applications.",
            "displayName": "Joomla!",
            "displayNameLower": "joomla!",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_joomla.png",
            "installed": true,
            "location": "https://hub.docker.com/r/seterrychen/joomla-without-database",
            "name": "joomla",
            "repository": "dockerhub",
            "type": "app",
            "version": "3.8.13"
        },
        {
            "arch": "amd64",
            "description": "Odoo (formerly OpenERP): open source ERP and Apps to grow your business.",
            "displayName": "Odoo",
            "displayNameLower": "odoo",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_odoo.png",
            "installed": false,
            "location": "https://hub.docker.com/_/odoo",
            "name": "odoo",
            "repository": "dockerhub",
            "type": "app",
            "version": "12"
        },
        {
            "arch": "amd64",
            "description": "Redmine is a free and open source web-based project management system.",
            "displayName": "Redmine",
            "displayNameLower": "redmine",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_redmine.png",
            "installed": false,
            "location": "https://hub.docker.com/r/sameersbn/redmine",
            "name": "redmine",
            "repository": "dockerhub",
            "type": "app",
            "version": "3.4.6"
        },
        {
            "arch": "amd64",
            "description": "The Registry is a tool for building private registries. It is highly scalable server side application for storing and distributing Docker images.",
            "displayName": "Registry",
            "displayNameLower": "registry",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_registry.png",
            "installed": false,
            "location": "https://hub.docker.com/_/registry",
            "name": "registry",
            "repository": "dockerhub",
            "type": "app",
            "version": "2.6.2"
        },
        {
            "arch": "amd64",
            "description": "WordPress is a rich content management system for creating blogs and websites with plugins, widgets, and themes.",
            "displayName": "WordPress",
            "displayNameLower": "wordpress",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_wordpress.png",
            "installed": false,
            "location": "https://hub.docker.com/_/wordpress",
            "name": "wordpress",
            "repository": "dockerhub",
            "type": "app",
            "version": "4.9.8"
        },
        {
            "arch": "amd64",
            "description": "A small and efficient tool that lets you mirror a part of or the whole Debian GNU/Linux distribution or any other apt sources.",
            "displayName": "APT mirroring server",
            "displayNameLower": "apt mirroring server",
            "downloading": false,
            "icon": "",
            "installed": false,
            "location": "https://hub.docker.com/r/seterrychen/apt-mirror-http-server",
            "name": "seterrychen/apt-mirror-http-server",
            "repository": "dockerhub",
            "type": "docker",
            "version": "0.1.2"
        },
        {
            "arch": "amd64",
            "description": "The official build of CentOS.",
            "displayName": "CentOS",
            "displayNameLower": "centos",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/centos_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/_/centos",
            "name": "centos",
            "repository": "dockerhub",
            "type": "docker",
            "version": "7"
        },
        {
            "arch": "amd64",
            "description": "Deluge is a lightweight, free, cross-platform BT client.",
            "displayName": "Deluge",
            "displayNameLower": "deluge",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/deluge_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/r/linuxserver/deluge",
            "name": "linuxserver/deluge",
            "repository": "dockerhub",
            "type": "docker",
            "version": "143"
        },
        {
            "arch": "amd64",
            "description": "The official build of Jenkins.",
            "displayName": "Jenkins",
            "displayNameLower": "jenkins",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/jenkins_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/_/jenkins",
            "name": "jenkins",
            "repository": "dockerhub",
            "type": "docker",
            "version": "2.60.3"
        },
        {
            "arch": "amd64",
            "description": "Ubuntu Desktop is pre-loaded with LibreOffice and Firefox. LibreOffice is a powerful office suite that includes: Writer (word processor), Calc (spreadsheet application), Impress (presentation engine), Draw (drawing and flowcharting application), Base (database and database frontend), and Math (editing mathematics).",
            "displayName": "LibreOffice with noVNC",
            "displayNameLower": "libreoffice with novnc",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/libreoffice_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/r/colinhuang/ubuntu-libreoffice",
            "name": "colinhuang/ubuntu-libreoffice",
            "repository": "dockerhub",
            "type": "docker",
            "version": "1.0"
        },
        {
            "arch": "amd64",
            "description": "The Minecraft multiplayer server allows multiple players to play Minecraft together.",
            "displayName": "Minecraft",
            "displayNameLower": "minecraft",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/minecraft_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/r/terrychu/minecraft-server",
            "name": "terrychu/minecraft-server",
            "repository": "dockerhub",
            "type": "docker",
            "version": "latest"
        },
        {
            "arch": "amd64",
            "description": "MongoDB document databases provide high availability and easy scalability.",
            "displayName": "MongoDB",
            "displayNameLower": "mongodb",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/mongo_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/_/mongo",
            "name": "mongo",
            "repository": "dockerhub",
            "type": "docker",
            "version": "4.1.4"
        },
        {
            "arch": "amd64",
            "description": "MySQL Server image - listens in port 3306. For the root account password, either set MYSQL_ROOT_PASSWORD environment variable, or check the logs for a randomly generated one.",
            "displayName": "MySQL",
            "displayNameLower": "mysql",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/mysql_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/r/edhongcy/mysql",
            "name": "edhongcy/mysql",
            "repository": "dockerhub",
            "type": "docker",
            "version": "8.0.12"
        },
        {
            "arch": "amd64",
            "description": "The official build of Nginx.",
            "displayName": "Nginx",
            "displayNameLower": "nginx",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/nginx_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/_/nginx",
            "name": "nginx",
            "repository": "dockerhub",
            "type": "docker",
            "version": "1.14"
        },
        {
            "arch": "amd64",
            "description": "Node.js is a JavaScript-based platform for server-side and networking applications.",
            "displayName": "Node.js",
            "displayNameLower": "node.js",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/nodejs_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/_/node",
            "name": "node",
            "repository": "dockerhub",
            "type": "docker",
            "version": "11.6.0"
        },
        {
            "arch": "amd64",
            "description": "Official PostgreSQL Docker image. The PostgreSQL object-relational database system provides reliability and data integrity.",
            "displayName": "PostgreSQL",
            "displayNameLower": "postgresql",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/postgresql_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/_/postgres",
            "name": "postgres",
            "repository": "dockerhub",
            "type": "docker",
            "version": "11.0"
        },
        {
            "arch": "amd64",
            "description": "Redis is an open source key-value store that functions as a data structure server.",
            "displayName": "Redis",
            "displayNameLower": "redis",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/redis_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/_/redis",
            "name": "redis",
            "repository": "dockerhub",
            "type": "docker",
            "version": "5.0"
        },
        {
            "arch": "amd64",
            "description": "The official build of Ubuntu.",
            "displayName": "Ubuntu",
            "displayNameLower": "ubuntu",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ubuntu_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/_/ubuntu",
            "name": "ubuntu",
            "repository": "dockerhub",
            "type": "docker",
            "version": "16.04"
        },
        {
            "arch": "amd64",
            "description": "The official build of Ubuntu.",
            "displayName": "Ubuntu",
            "displayNameLower": "ubuntu",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ubuntu_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/_/ubuntu",
            "name": "ubuntu",
            "repository": "dockerhub",
            "type": "docker",
            "version": "18.04"
        },
        {
            "arch": "amd64",
            "description": "Remote desktop Sharing in Ubuntu 18.04.",
            "displayName": "Ubuntu desktop with noVNC",
            "displayNameLower": "ubuntu desktop with novnc",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/ubuntu_icon.png",
            "installed": false,
            "location": "https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc",
            "name": "dorowu/ubuntu-desktop-lxde-vnc",
            "repository": "dockerhub",
            "type": "docker",
            "version": "bionic"
        }
    ],
    "type": ""
}

Filter application type:

Example request

$ curl -sq -XGET -b cookies.txt "http://${QIP}:${QPORT}/container-station/api/v1/image?type=app"

Example response

{
    "category": "all",
    "filterText": "",
    "qcsVersion": "2.4.0.2316",
    "results": [
        {
            "arch": "amd64",
            "description": "GitLab is a web-based Git repository manager with code reviews, issue tracking, activity feeds and wikis.",
            "displayName": "GitLab",
            "displayNameLower": "gitlab",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_gitlab.png",
            "installed": false,
            "location": "https://hub.docker.com/r/sameersbn/gitlab",
            "name": "gitlab",
            "repository": "dockerhub",
            "type": "app",
            "version": "11.4.0"
        },
        {
            "arch": "amd64",
            "description": "Joomla! is a free, powerful open source content management system. It is designed for quickly creating online communities, blogs and eCommerce applications.",
            "displayName": "Joomla!",
            "displayNameLower": "joomla!",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_joomla.png",
            "installed": true,
            "location": "https://hub.docker.com/r/seterrychen/joomla-without-database",
            "name": "joomla",
            "repository": "dockerhub",
            "type": "app",
            "version": "3.8.13"
        },
        {
            "arch": "amd64",
            "description": "Odoo (formerly OpenERP): open source ERP and Apps to grow your business.",
            "displayName": "Odoo",
            "displayNameLower": "odoo",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_odoo.png",
            "installed": false,
            "location": "https://hub.docker.com/_/odoo",
            "name": "odoo",
            "repository": "dockerhub",
            "type": "app",
            "version": "12"
        },
        {
            "arch": "amd64",
            "description": "Redmine is a free and open source web-based project management system.",
            "displayName": "Redmine",
            "displayNameLower": "redmine",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_redmine.png",
            "installed": false,
            "location": "https://hub.docker.com/r/sameersbn/redmine",
            "name": "redmine",
            "repository": "dockerhub",
            "type": "app",
            "version": "3.4.6"
        },
        {
            "arch": "amd64",
            "description": "The Registry is a tool for building private registries. It is highly scalable server side application for storing and distributing Docker images.",
            "displayName": "Registry",
            "displayNameLower": "registry",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_registry.png",
            "installed": false,
            "location": "https://hub.docker.com/_/registry",
            "name": "registry",
            "repository": "dockerhub",
            "type": "app",
            "version": "2.6.2"
        },
        {
            "arch": "amd64",
            "description": "WordPress is a rich content management system for creating blogs and websites with plugins, widgets, and themes.",
            "displayName": "WordPress",
            "displayNameLower": "wordpress",
            "downloading": false,
            "icon": "https://raw.githubusercontent.com/qnap-dev/container-apps/2.0/images/app_wordpress.png",
            "installed": false,
            "location": "https://hub.docker.com/_/wordpress",
            "name": "wordpress",
            "repository": "dockerhub",
            "type": "app",
            "version": "4.9.8"
        }
    ],
    "type": "app"
}

Search from Docker Hub:

Example request

$ curl -sq -XGET -b cookies.txt \
      "http://${QIP}:${QPORT}/container-station/api/v1/image?category=dockerhub&filter_text=dorowu"

Example response

{
    "category": "dockerhub",
    "filterText": "dorowu",
    "qcsVersion": "2.4.0.2316",
    "results": [
        {
            "description": "Docker image to provide HTML5 VNC interface to access Ubuntu LXDE and LXQt desktop environment",
            "downloading": false,
            "installed": false,
            "is_automated": true,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc",
            "name": "dorowu/ubuntu-desktop-lxde-vnc",
            "repository": "dockerhub",
            "star_count": 560,
            "type": "docker"
        },
        {
            "description": "Ubuntu with openssh server and tty.js enabled on port 3000",
            "downloading": false,
            "installed": false,
            "is_automated": true,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/ubuntu-ssh-ttyjs",
            "name": "dorowu/ubuntu-ssh-ttyjs",
            "repository": "dockerhub",
            "star_count": 11,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/supershell",
            "name": "dorowu/supershell",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "apt-repo-server is a debian repository server.",
            "downloading": false,
            "installed": false,
            "is_automated": true,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/apt-repo-server",
            "name": "dorowu/apt-repo-server",
            "repository": "dockerhub",
            "star_count": 6,
            "type": "docker"
        },
        {
            "description": "Boot VM by QEMU/KVM with ISO and access it on web",
            "downloading": false,
            "installed": false,
            "is_automated": true,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/qemu-iso",
            "name": "dorowu/qemu-iso",
            "repository": "dockerhub",
            "star_count": 4,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/qdk2-build",
            "name": "dorowu/qdk2-build",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "Create Docker App on QNAP NAS in QPKG format ",
            "downloading": false,
            "installed": false,
            "is_automated": true,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/qdk2",
            "name": "dorowu/qdk2",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "dorowus images with additional software",
            "downloading": false,
            "installed": false,
            "is_automated": true,
            "is_official": false,
            "location": "https://hub.docker.com/r/hardock14/dorowu-docker-ubuntu-vnc-desktop",
            "name": "hardock14/dorowu-docker-ubuntu-vnc-desktop",
            "repository": "dockerhub",
            "star_count": 1,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/moxa-upgrade-packer",
            "name": "dorowu/moxa-upgrade-packer",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/laks/dorowu",
            "name": "laks/dorowu",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/nextcloud-client",
            "name": "dorowu/nextcloud-client",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/middlefour/dorowu-with-extras",
            "name": "middlefour/dorowu-with-extras",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/mmm",
            "name": "dorowu/mmm",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/mymymy01/dorowu_ubuntu-desktop-lxde-vnc",
            "name": "mymymy01/dorowu_ubuntu-desktop-lxde-vnc",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/dorowu/moxa-build",
            "name": "dorowu/moxa-build",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/nmatsui/dorowu-ros-desktop-lxde-vnc",
            "name": "nmatsui/dorowu-ros-desktop-lxde-vnc",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "Japanese version of dorowu/ubuntu-desktop-lxde-vnc",
            "downloading": false,
            "installed": false,
            "is_automated": true,
            "is_official": false,
            "location": "https://hub.docker.com/r/haoling/ubuntu-desktop-lxde-vnc-ja",
            "name": "haoling/ubuntu-desktop-lxde-vnc-ja",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "vnpy-1.9.1 based on dorowu/ubuntu-desktop-lxde-vnc.",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/efreeway/ubuntu-vnpy-novnc",
            "name": "efreeway/ubuntu-vnpy-novnc",
            "repository": "dockerhub",
            "star_count": 5,
            "type": "docker"
        },
        {
            "description": "Customized noVNC LXDE ubuntu desktop container on top of dorowu/ubuntu-desktop-lxde-vnc",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/hdavid0510/ubuntu-desktop-lxde-vnc",
            "name": "hdavid0510/ubuntu-desktop-lxde-vnc",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "from dorowu/ubuntu-desktop-lxde-vnc latest",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/lsxqing/ubuntu-vnc",
            "name": "lsxqing/ubuntu-vnc",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "from dorowu",
            "downloading": false,
            "installed": false,
            "is_automated": true,
            "is_official": false,
            "location": "https://hub.docker.com/r/hardock14/docker-ubuntu-vnc-desktop",
            "name": "hardock14/docker-ubuntu-vnc-desktop",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "cartographer_ros + dorowu/ubuntu-desktop-lxde-vnc",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/electop/cartographer_ros",
            "name": "electop/cartographer_ros",
            "repository": "dockerhub",
            "star_count": 2,
            "type": "docker"
        },
        {
            "description": "Adaptation of dorowu/ubuntu-desktop-lxde-vnc with a Debian base",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/olberger/debian-x11-novnc-bridge",
            "name": "olberger/debian-x11-novnc-bridge",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "from dorowu/ubuntu-desktop-lxde-vnc",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/linuxkitpoc/ubuntu-desktop-lxde-vnc",
            "name": "linuxkitpoc/ubuntu-desktop-lxde-vnc",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        },
        {
            "description": "forked from https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/",
            "downloading": false,
            "installed": false,
            "is_automated": false,
            "is_official": false,
            "location": "https://hub.docker.com/r/chuongdang/ubuntu-vnc-unikey",
            "name": "chuongdang/ubuntu-vnc-unikey",
            "repository": "dockerhub",
            "star_count": 0,
            "type": "docker"
        }
    ],
    "type": ""
}

Inspect an image

GET /api/v1/image/(string: image_type)/(string: image_name)/(string: image_tag)/inspect

Inspect image information.

Parameters:
  • image_typedocker
  • image_name – image name
  • image_tag – image tag, which is latest or other version number

Example request

$ curl -sq -XGET -b cookies.txt \
    "http://${QIP}:${QPORT}/container-station/api/v1/image/docker/ubuntu/latest/inspect"

Example response

{
    "Architecture": "amd64",
    "Author": "",
    "Comment": "",
    "Config": {
        "AttachStderr": false,
        "AttachStdin": false,
        "AttachStdout": false,
        "Cmd": [
            "bash"
        ],
        "Domainname": "",
        "Entrypoint": null,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        ],
        "Hostname": "",
        "Image": "sha256:93c06ad94bc63e5c8fb978d605468c4507f82d92b9ba0dad33c9a80b137163cd",
        "Labels": null,
        "OnBuild": null,
        "OpenStdin": false,
        "StdinOnce": false,
        "Tty": false,
        "User": "",
        "Volumes": null,
        "WorkingDir": ""
    },
    "Container": "c956fe828128e93f86f7628bff7449517519f8ed8dc87285077108eefb8d16ac",
    "ContainerConfig": {
        "AttachStderr": false,
        "AttachStdin": false,
        "AttachStdout": false,
        "Cmd": [
            "/bin/sh",
            "-c",
            "#(nop) ",
            "CMD [\"bash\"]"
        ],
        "Domainname": "",
        "Entrypoint": null,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        ],
        "Hostname": "c956fe828128",
        "Image": "sha256:93c06ad94bc63e5c8fb978d605468c4507f82d92b9ba0dad33c9a80b137163cd",
        "Labels": {},
        "OnBuild": null,
        "OpenStdin": false,
        "StdinOnce": false,
        "Tty": false,
        "User": "",
        "Volumes": null,
        "WorkingDir": ""
    },
    "Created": "2021-07-26T21:21:40.307832875Z",
    "DockerVersion": "20.10.7",
    "GraphDriver": {
        "Data": {
            "MergedDir": "/share/CACHEDEV3_DATA/Container/container-station-data/lib/docker/overlay2/b682268b56d8843a9a70a385892bc6009967ea021b34656781b062adaddf3af1/merged",
            "UpperDir": "/share/CACHEDEV3_DATA/Container/container-station-data/lib/docker/overlay2/b682268b56d8843a9a70a385892bc6009967ea021b34656781b062adaddf3af1/diff",
            "WorkDir": "/share/CACHEDEV3_DATA/Container/container-station-data/lib/docker/overlay2/b682268b56d8843a9a70a385892bc6009967ea021b34656781b062adaddf3af1/work"
        },
        "Name": "overlay2"
    },
    "Id": "sha256:1318b700e415001198d1bf66d260b07f67ca8a552b61b0da02b3832c778f221b",
    "Metadata": {
        "LastTagTime": "0001-01-01T00:00:00Z"
    },
    "Os": "linux",
    "Parent": "",
    "RepoDigests": [
        "ubuntu@sha256:82becede498899ec668628e7cb0ad87b6e1c371cb8a1e597d83a47fac21d6af3"
    ],
    "RepoTags": [
        "ubuntu:latest"
    ],
    "RootFS": {
        "Layers": [
            "sha256:7555a8182c42c7737a384cfe03a3c7329f646a3bf389c4bcd75379fc85e6c144"
        ],
        "Type": "layers"
    },
    "Size": 72776763,
    "VirtualSize": 72776763
}

Get image tags

GET /api/v1/image/(string: image_name)/tags

Get image tags from specific registry.

Parameters:
  • image_name – image name
Query Parameters:
 
  • registry – Registry name
Response JSON Object:
 
  • name (string) – Request image name
  • installed (array) – tags have been installed in local
  • tags (array) – all tags of request image

Example request

$ curl -sq -XGET -b cookies.txt \
    "http://${QIP}:${QPORT}/container-station/api/v1/image/nginx/tags?registry=Docker%20Hub"

Example response

{
    "installed": [],
    "name": "nginx",
    "tags": [
        "1-alpine-perl",
        "1-alpine",
        "1-perl",
        "1.10-alpine",
        "1.10.0-alpine",
        "1.10.0",
        "1.10.1-alpine",
        "1.10.1",
        "1.10.2-alpine",
        "1.10.2",
        "1.10.3-alpine",
        "1.10.3",
        "1.10",
        "1.11-alpine",
        "1.11.0-alpine",
        "1.11.0",
        "1.11.1-alpine",
        "1.11.1",
        "1.11.10-alpine",
        "1.11.10",
        "1.11.12-alpine",
        "1.11.12",
        "1.11.13-alpine",
        "1.11.13",
        "1.11.3-alpine",
        "1.11.3",
        "1.11.4-alpine",
        "1.11.4",
        "1.11.5-alpine",
        "1.11.5",
        "1.11.6-alpine",
        "1.11.6",
        "1.11.7-alpine",
        "1.11.7",
        "1.11.8-alpine",
        "1.11.8",
        "1.11.9-alpine",
        "1.11.9",
        "1.11",
        "1.12-alpine-perl",
        "1.12-alpine",
        "1.12-perl",
        "1.12.0-alpine-perl",
        "1.12.0-alpine",
        "1.12.0-perl",
        "1.12.0",
        "1.12.1-alpine-perl",
        "1.12.1-alpine",
        "1.12.1-perl",
        "1.12.1",
        "1.12.2-alpine-perl",
        "1.12.2-alpine",
        "1.12.2-perl",
        "1.12.2",
        "1.12",
        "1.13-alpine-perl",
        "1.13-alpine",
        "1.13-perl",
        "1.13.0-alpine-perl",
        "1.13.0-alpine",
        "1.13.0-perl",
        "1.13.0",
        "1.13.1-alpine-perl",
        "1.13.1-alpine",
        "1.13.1-perl",
        "1.13.1",
        "1.13.10-alpine-perl",
        "1.13.10-alpine",
        "1.13.10-perl",
        "1.13.10",
        "1.13.11-alpine-perl",
        "1.13.11-alpine",
        "1.13.11-perl",
        "1.13.11",
        "1.13.12-alpine-perl",
        "1.13.12-alpine",
        "1.13.12-perl",
        "1.13.12",
        "1.13.2-alpine-perl",
        "1.13.2-alpine",
        "1.13.2-perl",
        "1.13.2",
        "1.13.3-alpine-perl",
        "1.13.3-alpine",
        "1.13.3-perl",
        "1.13.3",
        "1.13.5-alpine-perl",
        "1.13.5-alpine",
        "1.13.5-perl",
        "1.13.5",
        "1.13.6-alpine-perl",
        "1.13.6-alpine",
        "1.13.6-perl",
        "1.13.6",
        "1.13.7-alpine-perl",
        "1.13.7-alpine",
        "1.13.7-perl",
        "1.13.7",
        "1.13.8-alpine-perl",
        "1.13.8-alpine",
        "1.13.8-perl",
        "1.13.8",
        "1.13.9-alpine-perl",
        "1.13.9-alpine",
        "1.13.9-perl",
        "1.13.9",
        "1.13",
        "1.14-alpine-perl",
        "1.14-alpine",
        "1.14-perl",
        "1.14.0-alpine-perl",
        "1.14.0-alpine",
        "1.14.0-perl",
        "1.14.0",
        "1.14.1-alpine-perl",
        "1.14.1-alpine",
        "1.14.1-perl",
        "1.14.1",
        "1.14.2-alpine-perl",
        "1.14.2-alpine",
        "1.14.2-perl",
        "1.14.2",
        "1.14",
        "1.15-alpine-perl",
        "1.15-alpine",
        "1.15-perl",
        "1.15.0-alpine-perl",
        "1.15.0-alpine",
        "1.15.0-perl",
        "1.15.0",
        "1.15.1-alpine-perl",
        "1.15.1-alpine",
        "1.15.1-perl",
        "1.15.1",
        "1.15.10-alpine-perl",
        "1.15.10-alpine",
        "1.15.10-perl",
        "1.15.10",
        "1.15.11-alpine-perl",
        "1.15.11-alpine",
        "1.15.11-perl",
        "1.15.11",
        "1.15.12-alpine-perl",
        "1.15.12-alpine",
        "1.15.12-perl",
        "1.15.12",
        "1.15.2-alpine-perl",
        "1.15.2-alpine",
        "1.15.2-perl",
        "1.15.2",
        "1.15.3-alpine-perl",
        "1.15.3-alpine",
        "1.15.3-perl",
        "1.15.3",
        "1.15.4-alpine-perl",
        "1.15.4-alpine",
        "1.15.4-perl",
        "1.15.4",
        "1.15.5-alpine-perl",
        "1.15.5-alpine",
        "1.15.5-perl",
        "1.15.5",
        "1.15.6-alpine-perl",
        "1.15.6-alpine",
        "1.15.6-perl",
        "1.15.6",
        "1.15.7-alpine-perl",
        "1.15.7-alpine",
        "1.15.7-perl",
        "1.15.7",
        "1.15.8-alpine-perl",
        "1.15.8-alpine",
        "1.15.8-perl",
        "1.15.8",
        "1.15.9-alpine-perl",
        "1.15.9-alpine",
        "1.15.9-perl",
        "1.15.9",
        "1.15",
        "1.16-alpine-perl",
        "1.16-alpine",
        "1.16-perl",
        "1.16.0-alpine-perl",
        "1.16.0-alpine",
        "1.16.0-perl",
        "1.16.0",
        "1.16.1-alpine-perl",
        "1.16.1-alpine",
        "1.16.1-perl",
        "1.16.1",
        "1.16",
        "1.17-alpine-perl",
        "1.17-alpine",
        "1.17-perl",
        "1.17.0-alpine-perl",
        "1.17.0-alpine",
        "1.17.0-perl",
        "1.17.0",
        "1.17.1-alpine-perl",
        "1.17.1-alpine",
        "1.17.1-perl",
        "1.17.1",
        "1.17.10-alpine-perl",
        "1.17.10-alpine",
        "1.17.10-perl",
        "1.17.10",
        "1.17.2-alpine-perl",
        "1.17.2-alpine",
        "1.17.2-perl",
        "1.17.2",
        "1.17.3-alpine-perl",
        "1.17.3-alpine",
        "1.17.3-perl",
        "1.17.3",
        "1.17.4-alpine-perl",
        "1.17.4-alpine",
        "1.17.4-perl",
        "1.17.4",
        "1.17.5-alpine-perl",
        "1.17.5-alpine",
        "1.17.5-perl",
        "1.17.5",
        "1.17.6-alpine-perl",
        "1.17.6-alpine",
        "1.17.6-perl",
        "1.17.6",
        "1.17.7-alpine-perl",
        "1.17.7-alpine",
        "1.17.7-perl",
        "1.17.7",
        "1.17.8-alpine-perl",
        "1.17.8-alpine",
        "1.17.8-perl",
        "1.17.8",
        "1.17.9-alpine-perl",
        "1.17.9-alpine",
        "1.17.9-perl",
        "1.17.9",
        "1.17",
        "1.18-alpine-perl",
        "1.18-alpine",
        "1.18-perl",
        "1.18.0-alpine-perl",
        "1.18.0-alpine",
        "1.18.0-perl",
        "1.18.0",
        "1.18",
        "1.19-alpine-perl",
        "1.19-alpine",
        "1.19-perl",
        "1.19.0-alpine-perl",
        "1.19.0-alpine",
        "1.19.0-perl",
        "1.19.0",
        "1.19.1-alpine-perl",
        "1.19.1-alpine",
        "1.19.1-perl",
        "1.19.1",
        "1.19.10-alpine-perl",
        "1.19.10-alpine",
        "1.19.10-perl",
        "1.19.10",
        "1.19.2-alpine-perl",
        "1.19.2-alpine",
        "1.19.2-perl",
        "1.19.2",
        "1.19.3-alpine-perl",
        "1.19.3-alpine",
        "1.19.3-perl",
        "1.19.3",
        "1.19.4-alpine-perl",
        "1.19.4-alpine",
        "1.19.4-perl",
        "1.19.4",
        "1.19.5-alpine-perl",
        "1.19.5-alpine",
        "1.19.5-perl",
        "1.19.5",
        "1.19.6-alpine-perl",
        "1.19.6-alpine",
        "1.19.6-perl",
        "1.19.6",
        "1.19.7-alpine-perl",
        "1.19.7-alpine",
        "1.19.7-perl",
        "1.19.7",
        "1.19.8-alpine-perl",
        "1.19.8-alpine",
        "1.19.8-perl",
        "1.19.8",
        "1.19.9-alpine-perl",
        "1.19.9-alpine",
        "1.19.9-perl",
        "1.19.9",
        "1.19",
        "1.20-alpine-perl",
        "1.20-alpine",
        "1.20-perl",
        "1.20.0-alpine-perl",
        "1.20.0-alpine",
        "1.20.0-perl",
        "1.20.0",
        "1.20.1-alpine-perl",
        "1.20.1-alpine",
        "1.20.1-perl",
        "1.20.1",
        "1.20",
        "1.21-alpine-perl",
        "1.21-alpine",
        "1.21-perl",
        "1.21.0-alpine-perl",
        "1.21.0-alpine",
        "1.21.0-perl",
        "1.21.0",
        "1.21.1-alpine-perl",
        "1.21.1-alpine",
        "1.21.1-perl",
        "1.21.1",
        "1.21",
        "1.7.1",
        "1.7.10",
        "1.7.11",
        "1.7.12",
        "1.7.5",
        "1.7.6",
        "1.7.7",
        "1.7.8",
        "1.7.9",
        "1.7",
        "1.8-alpine",
        "1.8.1-alpine",
        "1.8.1",
        "1.8",
        "1.9-alpine",
        "1.9.0",
        "1.9.1",
        "1.9.10",
        "1.9.11",
        "1.9.12",
        "1.9.14-alpine",
        "1.9.14",
        "1.9.15-alpine",
        "1.9.15",
        "1.9.2",
        "1.9.3",
        "1.9.4",
        "1.9.5",
        "1.9.6",
        "1.9.7",
        "1.9.8",
        "1.9.9",
        "1.9",
        "1",
        "alpine-perl",
        "alpine",
        "latest",
        "mainline-alpine-perl",
        "mainline-alpine",
        "mainline-perl",
        "mainline",
        "perl",
        "stable-alpine-perl",
        "stable-alpine",
        "stable-perl",
        "stable"
    ]
}

Download an image

POST download image

Reference: POST /api/v1/background/(string:category)

Example request

$ curl -sq -XPOST -b cookies.txt -d \
    '{"type": "docker", "repository": "dockerhub", "image": "busybox", "tag": "latest"}' \
    "http://${QIP}:${QPORT}/container-station/api/v1/background/image_download"

Example response

{
    "category": "image_download",
    "deletable": false,
    "detail_state": "",
    "id": 1,
    "init": 1628700784,
    "name": "busybox:latest",
    "params": {
        "image": "busybox",
        "repository": "dockerhub",
        "tag": "latest",
        "type": "docker"
    },
    "state": "waiting",
    "user": "admin"
}
DELETE /api/v1/image/(string: repository)/(string: image_type)/(string: image_name)

Remove image function which is only used in local image. This request will take few seconds to finish.

Parameters:
  • repositorylocal
  • image_typelxc, lxd, docker
  • image_name – image name
  • fingerprint – LXD image ID

Example request

$ curl -sq -XDELETE -b cookies.txt "http://${QIP}:${QPORT}/container-station/api/v1/image/local/docker/busybox/latest"

Example response

{
    "action": "delete",
    "name": "busybox",
    "state": "success",
    "type": "docker"
}

Registry

List registries

GET /api/v1/registry

Registry Docker Hub is default registry in container-station.

Response JSON Object:
 
  • privateRegistry (int) – Using which registry as default My Registry
  • name (string) – Registry name
  • url (string) – Registry URL
  • id (int) – Registry ID
  • enableTrustCert (boolean) – Trust SSL self-signed certificate
  • username (string) – Registry username
  • password (string) – Registry password
  • version (string) – Registry version
  • metadata (object) – Other information

Example request

$ curl -sq -XGET -b cookies.txt http://${QIP}:${QPORT}/container-station/api/v1/registry

Example response

{
    "privateRegistry": 1,
    "registries": [
        {
            "enableTrustCert": true,
            "id": 1,
            "metadata": "",
            "name": "Docker Hub",
            "password": "",
            "url": "https://registry.hub.docker.com",
            "username": "",
            "version": ""
        }
    ]
}

Get default push registry

GET /api/v1/registry/push
Response JSON Object:
 
  • registry (string) – Registry name
  • username (string) – Registry username
  • password (string) – Registry password

Example request

$ curl -sq -XGET -b cookies.txt "http://${QIP}:${QPORT}/container-station/api/v1/registry/push"

Example response

{
    "password": "",
    "registry": "",
    "username": ""
}

Ping a registry

GET /api/v1/registry/ping
Request JSON Object:
 
  • url – Registry URL [required]
  • tls – Enable self-cert or not [required]
  • username (string) – Registry username
  • password (string) – Registry password
Response JSON Object:
 
  • version (string) – Registry version

Example request

$ curl -sq -XPOST -b cookies.txt -d \
    '{
        "url": "https://registry.hub.docker.com",
        "tls": true
    }' http://${QIP}:${QPORT}/container-station/api/v1/registry/ping

Example response

{
    "auth": true,
    "version": "v2"
}

Example response when error occurred

{
    "auth": true,
    "version": ""
}

Add/Edit a registry

POST /api/v1/registry
  • Registry name cannot conflict with others.
  • Edit default Docker Hub registry is forbidden.
Request JSON Object:
 
  • method (string) – Request method of registry. It should be add or edit. [required]
  • name (string) – Registry name [required]
  • url (string) – Registry URL [required]
  • enableTrustCert (boolean) – Trust SSL self-signed certificate [required]
  • version (string) – Registry version [required]
  • setToDefault (boolean) – Set as default search My Registry
  • username (string) – Registry username
  • password (string) – Registry password
  • oldname (string) – Original registry name before edit.

Add a new registry:

Example request

$ curl -sq -XPOST -b cookies.txt -d \
    '{
        "method": "add",
        "name": "test",
        "enableTrustCert": true,
        "setToDefault": true,
        "version": "v1",
        "url": "https://test.registry.com",
        "username": "my_user",
        "password": "my_pass"
    }' http://${QIP}:${QPORT}/container-station/api/v1/registry

Example response

{
    "privateRegistry": 2,
    "registries": [
        {
            "enableTrustCert": true,
            "id": 1,
            "metadata": "",
            "name": "Docker Hub",
            "password": "",
            "url": "https://registry.hub.docker.com",
            "username": "",
            "version": ""
        },
        {
            "enableTrustCert": true,
            "id": 2,
            "metadata": {
                "crypt": true
            },
            "name": "test",
            "password": "my_pass",
            "url": "https://test.registry.com",
            "username": "my_user",
            "version": "v1"
        }
    ]
}

Edit registry:

Example request

$ curl -sq -XPOST -b cookies.txt -d \
    '{
        "method": "edit",
        "oldname": "test",
        "name": "new_test",
        "enableTrustCert": false,
        "setToDefault": false,
        "url": "https://new_test.registry.com",
        "username": "my_new_user",
        "password": "my_new_pass"
    }' http://${QIP}:${QPORT}/container-station/api/v1/registry

Example response

{
    "privateRegistry": 1,
    "registries": [
        {
            "enableTrustCert": true,
            "id": 1,
            "metadata": "",
            "name": "Docker Hub",
            "password": "",
            "url": "https://registry.hub.docker.com",
            "username": "",
            "version": ""
        },
        {
            "enableTrustCert": false,
            "id": 2,
            "metadata": {
                "crypt": true
            },
            "name": "new_test",
            "password": "my_new_pass",
            "url": "https://new_test.registry.com",
            "username": "my_new_user",
            "version": "v1"
        }
    ]
}

Remove a registry

DELETE /api/v1/registry

Delete default Docker Hub registry is forbidden.

Example request

$ curl -sq -XDELETE -b cookies.txt http://${QIP}:${QPORT}/container-station/api/v1/registry/new_test

Example response

{
    "privateRegistry": 1,
    "registries": [
        {
            "enableTrustCert": true,
            "id": 1,
            "metadata": "",
            "name": "Docker Hub",
            "password": "",
            "url": "https://registry.hub.docker.com",
            "username": "",
            "version": ""
        }
    ]
}

List LXD registries

GET /api/v1/lxd_registry
Response JSON Object:
 
  • name (string) – LXD Registry name
  • url (string) – LXD Registry URL
  • default (boolean) – Is default LXD Registry or not
  • static (boolean) – Is static LXD Registry or not (if =true you cannot edit/remove it)

Example request

$ curl -sq -XGET -b cookies.txt http://${QIP}:${QPORT}/container-station/api/v1/lxd_registry

Example response

[
    {
        "default": false,
        "name": "images",
        "static": false,
        "url": "https://images.linuxcontainers.org"
    }
]

Add a LXD registry

POST /api/v1/lxd_registry
Request JSON Object:
 
  • name (string) – LXD Registry name
  • url (string) – LXD Registry URL
  • setToDefault (boolean) – Is default LXD Registry or not
  • password (string) – private LXD Registry password

Example request

$ curl -sq -XPOST -b cookies.txt -d \
    '{
        "name": "test",
        "url": "https://images.linuxcontainers.org",
        "setToDefault": true,
        "password": "password"
    }' http://${QIP}:${QPORT}/container-station/api/v1/lxd_registry

Example response

{}

Edit a LXD registry

PATCH /api/v1/lxd_registry/(string: registry_name)
Request JSON Object:
 
  • url (string) – LXD Registry URL
  • setToDefault (boolean) – Is default LXD Registry or not

Example request

$ curl -sq -XPATCH -b cookies.txt -d \
    '{
        "url": "https://images.linuxcontainers.org",
        "setToDefault": true
    }' http://${QIP}:${QPORT}/container-station/api/v1/lxd_registry/test

Example response

{}

Remove a registry

DELETE /api/v1/lxd_registry/(string: registry_name)

Example request

$ curl -sq -XDELETE -b cookies.txt http://${QIP}:${QPORT}/container-station/api/v1/lxd_registry/test

Example response

{}