version: "3.1" services: nats: image: nats container_name: tavi-nats restart: always command: -m 8222 ports: - "4222:4222" - "6222:6222" - "8222:8222" nats_exporter: image: noenv/nats-exporter:latest command: -varz "http://nats:8222" ports: - "9999:7777" container_name: tavi-nats-exporter restart: always depends_on: - nats prometheus: image: prom/prometheus:latest restart: always container_name: tavi-prometheus volumes: - ./Prometheus/prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' ports: - "9090:9090" depends_on: - nats_exporter grafana: image: grafana/grafana:latest container_name: tavi-grafana ports: - "9091:3000" depends_on: - prometheus mongodb: image: mongo:5.0 container_name: tavi-mongo restart: always ports: - "27017:27017" environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: root MONGO_INITDB_DATABASE: tavi volumes: - ./init.mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro mysql: image: mysql:latest container_name: tavi-mysql restart: always environment: MYSQL_ROOT_PASSWORD: root ports: - "3306:3306" volumes: - ./init.mysql.sql:/docker-entrypoint-initdb.d/init.mysql.sql nacos: image: zchazc/nacos-server-arm64:2.0.3 container_name: tavi-nacos restart: always environment: MODE: standalone ports: - "8848:8848" redis: image: redis:alpine container_name: tavi-redis restart: always environment: TZ: Asia/Shanghai command: --requirepass redis ports: - "6379:6379" postgres: image: postgres:13.1 container_name: tavi-postgres restart: always ports: - "5432:5432" volumes: # postgrel->data 挂载出来,如果出现docker报错清空 page_data/data以及/orthanc_db文件夹 - ./orthancOHIF/pg_data/data:/var/lib/postgresql/data - ./orthancOHIF/orthanc.sql:/docker-entrypoint-initdb.d/orthanc.sql environment: - POSTGRES_USER=orthanc - POSTGRES_PASSWORD=orthanc - POSTGRES_DB=postgres pacs: image: osimis/orthanc:master-full container_name: tavi-orthanc depends_on: - postgres restart: always ports: - "8042:8042" - "4242:4242" volumes: # 挂载orthanc.json配置 - ./orthancOHIF/config/orthanc.json:/etc/orthanc/orthanc.json:ro # 不使用 postgre 存储 dicom,挂载出来到 ${ORTHANC_DB_MNT},更健康 - ./orthancOHIF/orthanc_db:/var/lib/orthanc/db environment: - DICOM_WEB_PLUGIN_ENABLED=true - POSTGRESQL_PLUGIN_ENABLED=true - TZ=Asia/Shanghai command: /etc/orthanc/orthanc.json ohifv3: image: ohif/viewer container_name: tavi-ohif restart: always ports: - "3000:80" environment: - APP_CONFIG:/usr/share/nginx/html/app-config.js volumes: - ./orthancOHIF/ohifv3/ohif.conf:/etc/nginx/conf.d/default.conf:ro - ./orthancOHIF/ohifv3/app-config.js:/usr/share/nginx/html/app-config.js:ro - ./orthancOHIF/ohifv3/logo.png:/usr/share/nginx/html/logo.png:ro depends_on: - pacs