version: '3.3' # latest = 2.4.1 services: ui: image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-ui:latest ports: - ${SERVICE_PORT:-1081}:80 restart: unless-stopped depends_on: service: condition: service_healthy networks: - orion-visor-net service: image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-service:latest privileged: true ports: - 9200:9200 environment: SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE:-prod} MYSQL_HOST: ${MYSQL_HOST:-mysql} MYSQL_PORT: ${MYSQL_PORT:-3306} MYSQL_DATABASE: ${MYSQL_DATABASE:-orion_visor} MYSQL_USER: ${MYSQL_USER:-root} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-Data@123456} REDIS_HOST: ${REDIS_HOST:-redis} REDIS_PASSWORD: ${REDIS_PASSWORD:-Data@123456} GUACD_HOST: ${GUACD_HOST:-guacd} GUACD_PORT: ${GUACD_PORT:-4822} GUACD_DRIVE_PATH: ${GUACD_DRIVE_PATH:-/drive} SECRET_KEY: ${SECRET_KEY:-uQeacXV8b3isvKLK} DEMO_MODE: ${DEMO_MODE:-false} volumes: - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/service/root-orion:/root/orion restart: unless-stopped healthcheck: test: [ "CMD", "curl", "http://127.0.0.1:9200/orion-visor/api/server/bootstrap/health" ] interval: 15s timeout: 5s retries: 15 start_period: 30s depends_on: mysql: condition: service_healthy redis: condition: service_healthy networks: - orion-visor-net mysql: image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-mysql:latest privileged: true ports: - 3307:3306 environment: MYSQL_DATABASE: ${MYSQL_DATABASE:-orion_visor} MYSQL_USER: ${MYSQL_USER:-orion} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-Data@123456} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-Data@123456} volumes: - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/mysql/var-lib-mysql:/var/lib/mysql - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/mysql/var-lib-mysql-files:/var/lib/mysql-files restart: unless-stopped healthcheck: test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/3306" ] interval: 15s timeout: 5s retries: 10 start_period: 10s networks: - orion-visor-net redis: image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:latest privileged: true ports: - 6380:6379 environment: REDIS_PASSWORD: ${REDIS_PASSWORD:-Data@123456} volumes: - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/redis/data:/data command: sh -c "redis-server /usr/local/redis.conf --requirepass $${REDIS_PASSWORD}" restart: unless-stopped healthcheck: test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] interval: 15s timeout: 5s retries: 10 start_period: 10s networks: - orion-visor-net guacd: image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:latest ports: - 4822:4822 environment: GUACD_LOG_LEVEL: info GUACD_LOG_FILE: /var/log/guacd.log volumes: - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/guacd/drive:${GUACD_DRIVE_PATH:-/drive} - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/guacd/var-logs:/var/log - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/guacd/local-guacamole-lib:/usr/local/guacamole/lib - ${VOLUME_BASE:-/data/orion-visor-space/docker-volumes}/guacd/local-guacamole-extensions:/usr/local/guacamole/extensions restart: unless-stopped healthcheck: test: [ "CMD", "nc", "-vz", "localhost", "4822" ] interval: 15s timeout: 5s retries: 10 start_period: 10s networks: - orion-visor-net adminer: image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:latest ports: - 8081:8080 environment: ADMINER_DEFAULT_SERVER: ${MYSQL_HOST:-mysql} depends_on: mysql: condition: service_healthy networks: - orion-visor-net networks: orion-visor-net: driver: bridge