Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #filename: docker-compose-local-a.yml
- version: '3.3'
- volumes:
- mongo_db_data:
- redis_db_data:
- backend_data:
- api_gateway_keys:
- networks:
- anyvision:
- # driver: bridge
- # ipam:
- # driver: default
- # config:
- # - subnet: 172.14.0.0/16
- services:
- # Enable coredns when need
- # coredns:
- # image: coredns/coredns:1.2.0
- # command: -conf /conf/Corefile
- # restart: always
- # networks:
- # anyvision:
- # ipv4_address: 172.14.0.250
- # ports:
- # - "<external b server ip>:53:53/udp" ### replace 127.0.0.1 bind address with server external IP for listening to remote connections (A/B config)
- # - "<external b server ip>:53:53/tcp" ### replace 127.0.0.1 bind address with server external IP for listening to remote connections (A/B config)
- # - "9153:9153/tcp"
- # volumes:
- # - ../../coredns/Corefile:/conf/Corefile
- # - ../../coredns/db.anyvision.local:/conf/db.anyvision.local
- # - /etc/localtime:/etc/localtime:ro
- # - /etc/timezone:/etc/timezone:ro
- # cap_drop:
- # - ALL
- # cap_add:
- # - NET_BIND_SERVICE
- # read_only: true
- guacamole:
- image: gcr.io/anyvision-training/guacamole:0.9.14
- restart: always
- networks:
- - anyvision
- ports:
- - "8080:8080"
- volumes:
- - ../../guacamole/user-mapping-local.xml:/etc/guacamole/user-mapping.xml
- - /etc/localtime:/etc/localtime:ro
- env_file:
- - ../../env/global.env
- logging:
- options:
- max-size: 1g
- sftp:
- image: atmoz/sftp:latest
- restart: always
- networks:
- - anyvision
- volumes:
- - /storage/sftp_data:/home/user
- - /etc/localtime:/etc/localtime:ro
- command: user:pass:2000:2000:files
- env_file:
- - ../../env/global.env
- logging:
- options:
- max-size: 1g
- nginx:
- image: gcr.io/anyvision-training/nginx-rtmp:ssl
- restart: always
- networks:
- anyvision:
- aliases:
- - nginx-b.anyvision.local
- ports:
- - "1935:1935"
- - "443:443"
- - "80:80"
- volumes:
- - /storage:/opt/nginx/html:ro
- - /usr/local/share/ca-certificates/anyvision:/usr/local/share/ca-certificates/anyvision
- - /etc/localtime:/etc/localtime:ro
- environment:
- - limit_rate_speed=0
- - TO_DATE_TRACK_DELETE=30
- env_file:
- - ../../env/global.env
- logging:
- options:
- max-size: 1g
- cron:
- image: gcr.io/anyvision-training/supercronic:latest
- restart: always
- networks:
- anyvision:
- aliases:
- - cron-b.anyvision.local
- volumes:
- - /storage:/var/www/html
- - ../../crontab/site_crontab:/etc/crontabs/crontab
- - /etc/localtime:/etc/localtime:ro
- logging:
- options:
- max-size: 1g
- mongodb:
- image: 'gcr.io/anyvision-training/mongo:3.6-jessie'
- restart: always
- networks:
- anyvision:
- aliases:
- - mongodb.anyvision.local
- #ports:
- # - "27017:27017"
- volumes:
- - mongo_db_data:/data/db
- - /etc/localtime:/etc/localtime:ro
- env_file:
- - ../../env/global.env
- logging:
- options:
- max-size: 1g
- redis:
- image: 'gcr.io/anyvision-training/redis:latest'
- restart: always
- networks:
- - anyvision
- sysctls:
- - net.core.somaxconn=511
- volumes:
- - redis_db_data:/data:rw
- - /etc/localtime:/etc/localtime:ro
- logging:
- options:
- max-size: 1g
- apigateway:
- image: 'gcr.io/anyvision-training/api-gateway:development'
- restart: always
- #command: --disable-services --no-exitkills --debug sleep infinity ### development mode - disable chaperone init
- networks:
- anyvision:
- aliases:
- - apigateway.anyvision.local
- ports:
- - "9443:9443"
- #- "38391:38391"
- #dns: 172.14.0.250 ### internal DNS server address, replace this with external IP of CoreDNS server (A/B config)
- volumes:
- - /storage:/var/www/html
- - api_gateway_keys:/home/user/api-gateway/config/keys
- - /usr/local/share/ca-certificates/anyvision:/usr/local/share/ca-certificates/anyvision
- - /etc/localtime:/etc/localtime:ro
- #- /home/anyvision/Projects/API-gateway:/home/user/api-gateway ### mount your local project directory to the container
- depends_on:
- - redis
- environment:
- #- NODE_DEBUG_OPTION=--inspect=0.0.0.0:38391
- - RUN_AS_USER=user
- - ENABLE_CHOWN=false
- env_file:
- - ../../env/api-gateway.env
- - ../../env/global.env
- logging:
- options:
- max-size: 1g
- api:
- image: 'gcr.io/anyvision-training/api:development'
- restart: always
- networks:
- anyvision:
- aliases:
- - api.anyvision.local
- extra_hosts:
- - proc-a01.anyvision.local:192.168.0.150
- - nginx-a01.anyvision.local:192.168.0.150
- - proc-a02.anyvision.local:192.168.0.151
- - nginx-a02.anyvision.local:192.168.0.151
- # - proc-a03.anyvision.local:<ip of a03 server>
- # - nginx-a03.anyvision.local:<ip of a03 server>
- # - proc-a04.anyvision.local:<ip of a04 server>
- # - nginx-a04.anyvision.local:<ip of a04 server>
- ports:
- - "5443:5443"
- - "3000:3000"
- #- "38389:38389"
- #dns: 172.14.0.250 ### internal DNS server address, replace this with external IP of CoreDNS server (A/B config)
- volumes:
- - /storage:/var/www/html
- - /usr/local/share/ca-certificates/anyvision:/usr/local/share/ca-certificates/anyvision
- - /etc/localtime:/etc/localtime:ro
- #- /home/anyvision/Projects/Dash-API:/home/user/Dash-API ### mount your local project directory to the container
- environment:
- #- NODE_DEBUG_OPTION=--inspect=0.0.0.0:38389
- - API_IP=api.anyvision.local
- - MONGO_DB_IP=mongodb.anyvision.local
- - CA_HOST=apigateway.anyvision.local
- - RUN_AS_USER=user
- - ENABLE_CHOWN=false
- - MASS_IMPORT_IP=reid-b.anyvision.local ### use this configuration to configure the "b" server reid service in a/b architecture
- env_file:
- - ../../env/global.env
- - ../../env/api.env
- logging:
- options:
- max-size: 1g
- backend:
- image: 'gcr.io/anyvision-training/backend-pyconcrete:development'
- restart: always
- #command: --disable-services --no-exitkills --debug sleep infinity ### development mode - disable chaperone init
- privileged: true ## FOR ACCESSING DEVICES - NOT HOT-PLUGGABLE
- networks:
- anyvision:
- aliases:
- - proc-b.anyvision.local
- - reid-b.anyvision.local
- - coll-b.anyvision.local
- - arch-b.anyvision.local
- ports:
- - "4005:4005"
- - "9067:9067"
- - "9068:9068"
- - "9069:9069"
- - "5000-5025:5000-5025/udp" ### for remote VMS rtsp connections
- #dns: 172.14.0.250 ### internal DNS server address, replace this with external IP of CoreDNS server (A/B config)
- extra_hosts:
- - nginx-a01.anyvision.local:192.168.0.150
- volumes:
- - /home/user/license:/home/user/license:ro
- - backend_data:/root/pipe_data
- - /storage:/var/www/html
- - /usr/local/share/ca-certificates/anyvision:/usr/local/share/ca-certificates/anyvision
- - /tmp/.X11-unix:/tmp/.X11-unix:rw
- - /dev:/dev
- - /etc/localtime:/etc/localtime:ro
- #- /root/backend_trunk:/root/backend_trunk ### mount your local project directory to the container
- environment:
- - DISPLAY ### local display mode - do not forget to run "xhost +" as your local host user (not as root)
- - external_ip=proc-b.anyvision.local
- - storage_ip=nginx-b.anyvision.local
- - frame_store_storage_ip=nginx-b.anyvision.local
- - redis_host=127.0.0.1
- - api_service_ip=api.anyvision.local
- - mongodb_host=mongodb.anyvision.local
- - reid_service_ip=reid-b.anyvision.local
- - collate_service_ip=coll-b.anyvision.local
- - track_archive_service_ip=arch-b.anyvision.local
- - ENABLE_FRAMESTORE_CLEANER=false
- - ENABLE_PROCESS_SERVICE=false
- - ENABLE_XPRA_SERVICE=false
- - ENABLE_CRON_PIPE_IMG_TEMPORARY=false
- env_file:
- - ../../env/backend.env
- - ../../env/global.env
- logging:
- options:
- max-size: 1g
- ipc: host
- dashboard:
- image: 'gcr.io/anyvision-training/dashboard:development'
- restart: always
- #command: --disable-services --no-exitkills --debug sleep infinity ### development mode - disable chaperone init
- privileged: true ## FOR ACCESSING DEVICES - NOT HOT-PLUGGABLE
- #dns: 172.14.0.250
- networks:
- - anyvision
- shm_size: 1024M
- volumes:
- - /storage/sftp_data:/sftp:rw
- - /usr/local/share/ca-certificates/anyvision:/usr/local/share/ca-certificates/anyvision:ro
- - /tmp/.X11-unix:/tmp/.X11-unix:rw
- - /dev:/dev
- - /media:/home/user/media:ro
- - /storage/share:/home/user/share:rw
- - /etc/localtime:/etc/localtime:ro
- #- /home/anyvision:/mnt ### mount your home directory to the container
- #- /home/anyvision/Projects/anyvision-dashboard:/home/user/dashboard ### mount your local project directory to the container
- extra_hosts:
- - nginx-a01.anyvision.local:192.168.0.150
- - nginx-a02.anyvision.local:192.168.0.151
- # - nginx-a03.anyvision.local:<ip of a03 server>
- # - nginx-a04.anyvision.local:<ip of a04 server>
- environment:
- - DISPLAY=${DISPLAY:-1} ### local display mode - do not forget to run "xhost +" as your local host user (not as root)
- - ssl=true
- - GATEWAY_HOST=apigateway.anyvision.local
- - RUN_AS_USER=user
- - ENABLE_CHOWN=false
- env_file:
- - ../../env/global.env
- - ../../env/api-gateway.env
- - ../../env/dashboard.env
- logging:
- options:
- max-size: 1g
- ipc: host
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement