172 lines
4.8 KiB
YAML
Executable File
172 lines
4.8 KiB
YAML
Executable File
services:
|
|
frontend:
|
|
image: ghcr.io/shuffle/shuffle-frontend:latest
|
|
container_name: shuffle-frontend
|
|
hostname: shuffle-frontend
|
|
ports:
|
|
- "${FRONTEND_PORT}:80"
|
|
- "${FRONTEND_PORT_HTTPS}:443"
|
|
networks:
|
|
- shuffle
|
|
environment:
|
|
- BACKEND_HOSTNAME=${BACKEND_HOSTNAME}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- backend
|
|
backend:
|
|
image: ghcr.io/shuffle/shuffle-backend:latest
|
|
container_name: shuffle-backend
|
|
hostname: ${BACKEND_HOSTNAME}
|
|
# Here for debugging:
|
|
ports:
|
|
- "${BACKEND_PORT}:5001"
|
|
networks:
|
|
- shuffle
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ${SHUFFLE_APP_HOTLOAD_LOCATION}:/shuffle-apps:z
|
|
- ${SHUFFLE_FILE_LOCATION}:/shuffle-files:z
|
|
env_file: .env
|
|
environment:
|
|
#- DOCKER_HOST=tcp://docker-socket-proxy:2375
|
|
- SHUFFLE_APP_HOTLOAD_FOLDER=/shuffle-apps
|
|
- SHUFFLE_FILE_LOCATION=/shuffle-files
|
|
restart: unless-stopped
|
|
orborus:
|
|
image: ghcr.io/shuffle/shuffle-orborus:latest
|
|
container_name: shuffle-orborus
|
|
hostname: shuffle-orborus
|
|
networks:
|
|
- shuffle
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
environment:
|
|
- SHUFFLE_APP_SDK_TIMEOUT=300
|
|
- ENVIRONMENT_NAME=Shuffle
|
|
- ORG_ID=Shuffle
|
|
- BASE_URL=http://${OUTER_HOSTNAME}:5001
|
|
- DOCKER_API_VERSION=1.40
|
|
- HTTP_PROXY=${HTTP_PROXY}
|
|
- HTTPS_PROXY=${HTTPS_PROXY}
|
|
- SHUFFLE_PASS_WORKER_PROXY=${SHUFFLE_PASS_WORKER_PROXY}
|
|
- SHUFFLE_PASS_APP_PROXY=${SHUFFLE_PASS_APP_PROXY}
|
|
# - SHUFFLE_APP_REPLICAS=${SHUFFLE_APP_REPLICAS}
|
|
- SHUFFLE_STATS_DISABLED=true
|
|
- SHUFFLE_LOGS_DISABLED=true
|
|
- SHUFFLE_SWARM_CONFIG=run
|
|
- SHUFFLE_APP_REPLICAS=3
|
|
- CLEANUP=false
|
|
- SHUFFLE_WORKER_IMAGE=ghcr.io/shuffle/shuffle-worker:latest
|
|
env_file: .env
|
|
restart: unless-stopped
|
|
security_opt:
|
|
- seccomp:unconfined
|
|
opensearch:
|
|
image: opensearchproject/opensearch:3.2.0
|
|
hostname: shuffle-opensearch
|
|
container_name: shuffle-opensearch
|
|
environment:
|
|
- "OPENSEARCH_JAVA_OPTS=-Xms3072m -Xmx3072m" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM
|
|
- bootstrap.memory_lock=true
|
|
- DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI=true
|
|
- cluster.initial_master_nodes=shuffle-opensearch
|
|
- cluster.routing.allocation.disk.threshold_enabled=false
|
|
- cluster.name=shuffle-cluster
|
|
- node.name=shuffle-opensearch
|
|
- node.store.allow_mmap=false
|
|
- discovery.seed_hosts=shuffle-opensearch
|
|
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=${SHUFFLE_OPENSEARCH_PASSWORD}
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
nofile:
|
|
soft: 65536
|
|
hard: 65536
|
|
volumes:
|
|
- shuffle-database:/usr/share/opensearch/data:z
|
|
ports:
|
|
- 9200:9200
|
|
networks:
|
|
- shuffle
|
|
restart: unless-stopped
|
|
|
|
# OPTIONAL: advanced monitoring with cAdvisor
|
|
# If you have a seperate orborus config YAML on another server,
|
|
# Please add it there as well if you want to monitor that server too.
|
|
# FYI: both servers will show up on different dashboards.
|
|
# cadvisor:
|
|
# image: gcr.io/cadvisor/cadvisor:latest
|
|
# volumes:
|
|
# - /:/rootfs:ro
|
|
# - /var/run:/var/run:ro
|
|
# - /sys:/sys:ro
|
|
# - /var/lib/docker/:/var/lib/docker:ro
|
|
# - /dev/disk/:/dev/disk:ro
|
|
# - /var/run/docker.sock:/var/run/docker.sock:ro
|
|
# ports:
|
|
# - "8080:8080"
|
|
# privileged: true
|
|
# devices:
|
|
# - /dev/kmsg:/dev/kmsg
|
|
# networks:
|
|
# - shuffle
|
|
|
|
#memcached:
|
|
# image: memcached:latest
|
|
# container_name: shuffle-cache
|
|
# hostname: shuffle-cache
|
|
# command: memcached -m 2048 -c 2500
|
|
# environment:
|
|
# - MEMCACHED_MEMORY=2048
|
|
# - MEMCACHED_MAX_CONNECTIONS=2500
|
|
# ports:
|
|
# - 11211:11211
|
|
# networks:
|
|
# - shuffle
|
|
# - swarm_executions
|
|
|
|
#docker-socket-proxy:
|
|
# image: tecnativa/docker-socket-proxy
|
|
# container_name: docker-socket-proxy
|
|
# hostname: docker-socket-proxy
|
|
# privileged: true
|
|
# environment:
|
|
# - SERVICES=1
|
|
# - TASKS=1
|
|
# - NETWORKS=1
|
|
# - NODES=1
|
|
# - BUILD=1
|
|
# - IMAGES=1
|
|
# - GRPC=1
|
|
# - CONTAINERS=1
|
|
# - PLUGINS=1
|
|
# - SYSTEM=1
|
|
# - VOLUMES=1
|
|
# - INFO=1
|
|
# - DISTRIBUTION=1
|
|
# - POST=1
|
|
# - AUTH=1
|
|
# - SECRETS=1
|
|
# - SWARM=1
|
|
# volumes:
|
|
# - /var/run/docker.sock:/var/run/docker.sock
|
|
# networks:
|
|
# - shuffle
|
|
#
|
|
|
|
volumes:
|
|
shuffle-database:
|
|
driver: local
|
|
driver_opts:
|
|
type: none
|
|
device: ${DB_LOCATION}
|
|
o: bind
|
|
|
|
networks:
|
|
shuffle:
|
|
driver: bridge
|
|
# driver_opts:
|
|
# com.docker.network.driver.mtu: 1460
|
|
# uncomment to set MTU for swarm mode. MTU should be whatever is your host's preferred MTU is: https://shuffler.io/docs/troubleshooting#TLS_timeout_error/Timeout_Errors/EOF_Errors
|