|
|
|
version: "3.8"
|
|
|
|
|
|
|
|
services:
|
|
|
|
swarmlabclient:
|
|
|
|
image: hub.swarmlab.io:5480/playground-hybrid-agent:latest
|
|
|
|
user: root
|
|
|
|
privileged: true
|
|
|
|
container_name: swarmlab-hybrid-agent
|
|
|
|
#entrypoint: ["mpi_bootstrap", "role=master", "mpi_master_service_name=master", "mpi_worker_service_name=worker"]
|
|
|
|
environment:
|
|
|
|
- NODENAME={{.Node.Hostname}}
|
|
|
|
- NODEID={{.Node.ID}}
|
|
|
|
deploy:
|
|
|
|
replicas: 1
|
|
|
|
placement:
|
|
|
|
max_replicas_per_node: 1
|
|
|
|
#constraints:
|
|
|
|
#- node.id==${noderead}
|
|
|
|
#- node.labels.region==okeanos
|
|
|
|
resources:
|
|
|
|
limits:
|
|
|
|
cpus: '0.50'
|
|
|
|
memory: 250M
|
|
|
|
reservations:
|
|
|
|
cpus: '0.50'
|
|
|
|
memory: 250M
|
|
|
|
restart_policy:
|
|
|
|
condition: on-failure
|
|
|
|
delay: 5s
|
|
|
|
max_attempts: 5
|
|
|
|
window: 120s
|
|
|
|
update_config:
|
|
|
|
parallelism: 2
|
|
|
|
delay: 10s
|
|
|
|
order: stop-first
|
|
|
|
ports:
|
|
|
|
- "3088:80"
|
|
|
|
#- "3000:3000"
|
|
|
|
networks:
|
|
|
|
hybrid-net:
|
|
|
|
volumes:
|
|
|
|
#- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
- ${nodepath}/ecosystem.config.js:/home/node/swarmlab-app/ecosystem.config.js
|
|
|
|
- ${nodepath}/dist:/home/node/swarmlab-app/dist
|
|
|
|
- ${nodepath}/src-local:/home/node/swarmlab-app/dist/src-local
|
|
|
|
#- ${nodepath}/src-local/llo/new.js:/home/node/server/llo/new.js
|
|
|
|
#- ${nodepath}/src-local/llo:/home/node/server/llo
|
|
|
|
#- ${nodepath}/hybrid/swarmlab-sec:/home/node/server/hybrid
|
|
|
|
# proxy
|
|
|
|
- ${nodepath}/nginx/swarmlab-stats-proxy-server.conf:/etc/nginx/conf.d/default.conf
|
|
|
|
- ${nodepath}/keys/swarmlab.crt:/etc/nginx/swarmlab.crt
|
|
|
|
- ${nodepath}/keys/swarmlab.key:/etc/nginx/swarmlab.key
|
|
|
|
#command: [nginx-debug, '-g', 'daemon off;']
|
|
|
|
|
|
|
|
swarmlabfilemanager:
|
|
|
|
image: hub.swarmlab.io:5480/swarmlab-filemanager:latest
|
|
|
|
user: docker
|
|
|
|
#privileged: true
|
|
|
|
container_name: swarmlab-filemanager-agent
|
|
|
|
entrypoint: ["sec_bootstrap", "role=masterservice", "sec_master_service_name=masterservice", "sec_worker_service_name=workerservice"]
|
|
|
|
environment:
|
|
|
|
- NODENAME={{.Node.Hostname}}
|
|
|
|
- NODEID={{.Node.ID}}
|
|
|
|
ports:
|
|
|
|
- "3382:8080"
|
|
|
|
volumes:
|
|
|
|
- ${nodepath}/src-local/instance:/data
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
networks:
|
|
|
|
hybrid-net:
|
|
|
|
|
|
|
|
swarmlabvolumemanager:
|
|
|
|
image: hub.swarmlab.io:5480/swarmlab-filemanager:latest
|
|
|
|
user: docker
|
|
|
|
#privileged: true
|
|
|
|
container_name: swarmlab-volumemanager-agent
|
|
|
|
entrypoint: ["sec_bootstrap", "role=masterservice", "sec_master_service_name=masterservice", "sec_worker_service_name=workerservice"]
|
|
|
|
environment:
|
|
|
|
- NODENAME={{.Node.Hostname}}
|
|
|
|
- NODEID={{.Node.ID}}
|
|
|
|
ports:
|
|
|
|
- "3383:8080"
|
|
|
|
volumes:
|
|
|
|
- ${nodepath}/src-local/mybackups:/data
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
networks:
|
|
|
|
hybrid-net:
|
|
|
|
|
|
|
|
swarmlabeditor:
|
|
|
|
image: hub.swarmlab.io:5480/swarmlab-codeserver:latest
|
|
|
|
user: root
|
|
|
|
container_name: swarmlab-editor-agent
|
|
|
|
entrypoint: ["sec_bootstrap", "role=masterservice", "sec_master_service_name=masterservice", "sec_worker_service_name=workerservice"]
|
|
|
|
environment:
|
|
|
|
- NODENAME={{.Node.Hostname}}
|
|
|
|
- NODEID={{.Node.ID}}
|
|
|
|
volumes:
|
|
|
|
- ${nodepath}/files/sec_bootstrap:/usr/local/bin/sec_bootstrap
|
|
|
|
networks:
|
|
|
|
hybrid-net:
|
|
|
|
|
|
|
|
swarmlabadmin:
|
|
|
|
container_name: 'swarmlabadmin'
|
|
|
|
build:
|
|
|
|
context: .
|
|
|
|
dockerfile: files/Dockerfile
|
|
|
|
args:
|
|
|
|
USER_ID: ${USER_ID}
|
|
|
|
USER_NAME: ${USER_NAME}
|
|
|
|
GROUP_ID: ${GROUP_ID}
|
|
|
|
GROUP_NAME: ${GROUP_NAME}
|
|
|
|
entrypoint: /bin/bash -c "tail -f /dev/null"
|
|
|
|
user: root
|
|
|
|
network_mode: host
|
|
|
|
cap_add:
|
|
|
|
- NET_ADMIN
|
|
|
|
- SYS_MODULE
|
|
|
|
volumes:
|
|
|
|
- /lib/modules:/lib/modules
|
|
|
|
- ${nodepath}/src-local/instance:/instance
|
|
|
|
- ${nodepath}/src-local/community:/community
|
|
|
|
|
|
|
|
swarmlabsidecarserver:
|
|
|
|
image: hub.swarmlab.io:5480/hybrid-nginx:latest
|
|
|
|
user: docker
|
|
|
|
#privileged: true
|
|
|
|
container_name: swarmlab-sidecar-agent
|
|
|
|
entrypoint: ["/usr/bin/sec_bootstrap", "role=masterservice", "sec_master_service_name=masterservice", "sec_worker_service_name=workerservice"]
|
|
|
|
environment:
|
|
|
|
- NODENAME={{.Node.Hostname}}
|
|
|
|
- NODEID={{.Node.ID}}
|
|
|
|
ports:
|
|
|
|
- "3384:80"
|
|
|
|
volumes:
|
|
|
|
- ${nodepath}/src-local/instance:/data/www/instance
|
|
|
|
- ${nodepath}/src-local/community:/data/www/community
|
|
|
|
- ${nodepath}/src-local/myconfig/sec_bootstrap:/usr/bin/sec_bootstrap
|
|
|
|
- ${nodepath}/src-local/myconfig/nginx.conf:/etc/nginx/nginx.conf
|
|
|
|
- ${nodepath}/src-local/myconfig/default.conf:/etc/nginx/conf.d/default.conf
|
|
|
|
# - ${nodepath}/src-local/myconfig/supervisord.conf:/etc/supervisor/supervisord.conf
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
networks:
|
|
|
|
hybrid-net:
|
|
|
|
|
|
|
|
networks:
|
|
|
|
hybrid-net:
|
|
|
|
|