QUANTAXIS Docker & Self-Hosted Deployment

GitHub

QUANTAXIS 支持任务调度 分布式部署的 股票/期货/期权 数据/回测/模拟/交易/可视化/多账户 纯本地量化解决方案

11,305 stars Python Python 1 file · ~80,049 tokens #quant
RAW Compose
1. Pull Image (DOCKERHUB) docker pull yutiansut/quantaxis
2. Docker Run (1-Click Launch) docker run -d --name quantaxis --restart always yutiansut/quantaxis:latest
3. Podman Run podman run -d --name quantaxis --restart always yutiansut/quantaxis:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/yutiansut/quantaxis:latest
5. ORAS Pull (OCI Artifact) oras pull yutiansut/quantaxis:latest
6. Compose Deployment docker compose up -d
docker/k8s_deploy_qaservice/docker-compose.yaml
Download .yml
version: '2'
services:
    qa:
        image: daocloud.io/quantaxis/qacommunity:latest
        container_name: qacommunity
        depends_on:
            - mgdb
            - qaeventmq
        networks: 
            qanetwork:
                ipv4_address: 172.19.0.3
        ports:
            - "8888:8888"
            - "81:80"
        environment:
          - TZ=Asia/Shanghai
          - MONGODB=mgdb
          - QARUN=qaweb
          - QAPUBSUB_IP=qaeventmq
          - QAPUBSUB_PORT=5672
          - QAPUBSUB_USER=admin
          - QAPUBSUB_PWD=admin
        volumes:
            - qacode:/home
        restart: always

    # qacron:
    #     image: daocloud.io/quantaxis/qa-cron:latest
    #     environment:
    #         - MONGODB=mgdb
    #     restart: always

    qaweb_run:
        image: daocloud.io/quantaxis/qarun:latest
        container_name: qarun
        depends_on:
            - mgdb
            - qaeventmq
        networks: 
            qanetwork:
                ipv4_address: 172.19.0.4
        ports:
            - "8010:8010"
        environment:
          - MONGODB=mgdb
          - QAPUBSUB_IP=qaeventmq
          - QAPUBSUB_PORT=5672
          - QAPUBSUB_USER=admin
          - QAPUBSUB_PWD=admin
          - QARUN_AMQP=pyamqp://admin:admin@qaeventmq:5672//
          - TZ=Asia/Shanghai
        restart: always
        depends_on:
          - qaeventmq
          - mgdb
        command: ['/root/wait_for_it.sh', 'qaeventmq:5672', '--' , "/root/runcelery.sh"]


    mgdb:
        image: daocloud.io/quantaxis/qamongo_single:latest
        ports:
            - "27017:27017"
        environment:
            - TZ=Asia/Shanghai
            - MONGO_INITDB_DATABASE=quantaxis
        volumes:
            - qamg:/data/db
        networks: 
            qanetwork:
                ipv4_address: 172.19.0.2
        restart: always


    qaeventmq:
        image: daocloud.io/quantaxis/qaeventmq:latest
        ports: 
            - "15672:15672"
            - "5672:5672"
            - "4369:4369"
        environment:
            - TZ=Asia/Shanghai
        networks: 
            qanetwork:
                ipv4_address: 172.19.0.5
        restart: always

    qamonitor:
        image: daocloud.io/quantaxis/qa-monitor:latest
        ports:
            - "61209:61209"
            - "61208:61208"
        pid: 'host'
        networks: 
            qanetwork:
                ipv4_address: 172.19.0.6
                
        restart: always
        
    qamarketcollector:
        image: daocloud.io/quantaxis/qarealtimecollector:latest
        ports:
            - "8011:8011"
        depends_on:
            - mgdb
            - qaeventmq
        environment:
            - MONGODB=mgdb
            - EventMQ_IP=qaeventmq
        networks:
            qanetwork:
                ipv4_address: 172.19.0.8
        command:
            ['/root/QUANTAXIS_RealtimeCollector/docker/wait_for_it.sh', 'qaeventmq:5672', '--' ,'/root/QUANTAXIS_RealtimeCollector/docker/start_collector.sh']
volumes:
    qamg:
        external:
            name: qamg
    qacode:
        external:
            name: qacode
networks:
    qanetwork:
        ipam:
            config:
            - subnet: 172.19.0.0/24
              gateway: 172.19.0.1