version: '3.3'

#注意事项：
#1.如果使用外部的数据库、mongo、redis、neo4j等，应首先启动外部依赖，执行系统最后启动。
#2.使用中暂不支持随意切换 内部或外部的数据库、mongo、redis、neo4j等依赖，需要特殊处理（详见另文、或等待提供可视化管理工具）
#3.通用的容器启动命令：
#3.1 cd compose文件所在目录
# 启动容器&&持续显示日志
#3.2 docker-compose up -d && docker-compose logs -f
#3.3 可使用CTRL+C退出日志浏览模式
#4.通用的容器停止命令：
#4.1 cd compose文件所在目录
# 停止容器
#4.2 docker-compose stop

services:
  web:
    image: "v3exe:latest"
    
    volumes:
    #数据卷映射：userdata
    - "xxproj_userdata:/v-appserver/v3runtime/userdata"
    #数据卷映射：镜像自带mysqldata
    - "xxproj_mysqldata:/usr/local/mysql/data"
    #数据卷映射：镜像自带mongodata
    - "xxproj_mongodata:/usr/local/mongodb/data"
    #把执行系统日志映射出来，方便查看日志
    - "./log:/v-appserver/v3runtime/work/log"

    ports:
    # 映射执行系统访问端口
    - "8080:8080"
    #映射执行系统调试端口
    - "5080:5088"
    #映射镜像自带neo4j访问端口
    - "5180:20000"
    #映射镜像自带mysql数据库访问端口
    - "5280:3306"
    #映射镜像自带mongo访问端口
    - "5380:27017"

    environment:
      # JVM 参数
      JAVA_OPT_Xms: "1024"
      JAVA_OPT_Xmx: "3072"
      JAVA_OPT_MetaspaceSize: "256"
      
      # 登录用户
      v3_user: ""
      v3_pwd: ""
    
    # 如果使用外部数据库，就把下面的db_开头的参数放开
#      db_start: "false"
#      db_ip: "10.1.27.89"
#      db_port: "3306"
#      db_name: v3_db
#      db_user: root
#      db_pwd: toone
#      db_type: mysql

    # 如果使用外部mongo，就把下面的mongo_开头的参数放开
#      mongo_start: "false"
#      mongo_ip: "10.1.40.184"
#      mongo_port: "27018"
#      mongo_version: "2.4"
#      mongo_user: ""
#      mongo_pwd: ""

    # 如果使用外部redis，就把下面的redis_开头的参数放开
#      redis_start: "false"
#      redis_ip: ""
#      redis_port: ""
#      redis_pwd: ""

    # 如果使用外部neo4j，就把下面的neo4j_开头的参数放开
#      neo4j_start: "false"
#      neo4j_url: "bolt://neo4j:20087"
#      neo4j_user: "noo4j"
#      neo4j_pwd: "neo4j"
    
    restart: always

volumes:
  xxproj_userdata:
  xxproj_mysqldata:
  xxproj_mongodata:
